This is an automated email from Gerrit.

"Daniel Goehring <[email protected]>" just uploaded a new patch 
set to Gerrit, which you can find at https://review.openocd.org/c/openocd/+/9261

-- gerrit

commit 8bebf1d7b58d2cd9c4194b1b731f51850fd7473e
Author: Daniel Goehring <[email protected]>
Date:   Mon Jul 14 19:20:46 2025 -0600

    target/arm: add nested AP AArch64 target support
    
    For the AArch64 processor target, add nested AP support.
    
    Change-Id: I2aecb950edf32eac8bc0ee40c7a29cc631103e78
    Signed-off-by: Daniel Goehring <[email protected]>

diff --git a/src/target/aarch64.c b/src/target/aarch64.c
index ed9cb48aa7..d776eeba16 100644
--- a/src/target/aarch64.c
+++ b/src/target/aarch64.c
@@ -2639,7 +2639,11 @@ static int aarch64_examine_first(struct target *target)
                                return retval;
                        }
                } else {
-                       armv8->debug_ap = dap_get_ap(swjdp, 
pc->adiv5_config.ap_num);
+                       if (pc->adiv5_config.ap_num_gateway == DP_APSEL_INVALID)
+                               armv8->debug_ap = dap_get_ap(swjdp, 
pc->adiv5_config.ap_num);
+                       else
+                               armv8->debug_ap = dap_get_ap_gateway(swjdp, 
pc->adiv5_config.ap_num, pc->adiv5_config.ap_num_gateway);
+
                        if (!armv8->debug_ap) {
                                LOG_ERROR("Cannot get AP");
                                return ERROR_FAIL;
@@ -2919,6 +2923,7 @@ static int aarch64_jim_configure(struct target *target, 
struct jim_getopt_info *
        if (!pc) {
                pc = calloc(1, sizeof(struct aarch64_private_config));
                pc->adiv5_config.ap_num = DP_APSEL_INVALID;
+               pc->adiv5_config.ap_num_gateway = DP_APSEL_INVALID;
                target->private_config = pc;
        }
 

-- 

Reply via email to