cortex_a: fix gaffe in first implementation of -dbgbase
authorMichel JAOUEN <michel.jaouen@stericsson.com>
Fri, 1 Apr 2011 15:54:28 +0000 (17:54 +0200)
committerØyvind Harboe <oyvind.harboe@zylin.com>
Fri, 1 Apr 2011 16:59:02 +0000 (18:59 +0200)
src/target/cortex_a.c

index c04804f85397039f118e6e8b8affd054c7dea5aa..033bdc1697af8af0f2741617101e3c27d7696a6b 100644 (file)
@@ -1861,7 +1861,6 @@ static int cortex_a8_examine_first(struct target *target)
        int i;
        int retval = ERROR_OK;
        uint32_t didr, ctypr, ttypr, cpuid;
-       uint32_t dbgbase;
 
        /* We do one extra read to ensure DAP is configured,
         * we call ahbap_debugport_init(swjdp) instead
@@ -1872,22 +1871,23 @@ static int cortex_a8_examine_first(struct target *target)
 
        if (!target->dbgbase_set)
        {
+               uint32_t dbgbase;
                /* Get ROM Table base */
                uint32_t apid;
                retval = dap_get_debugbase(swjdp, 1, &dbgbase, &apid);
                if (retval != ERROR_OK)
                        return retval;
-       } else
+               /* Lookup 0x15 -- Processor DAP */
+               retval = dap_lookup_cs_component(swjdp, 1, dbgbase, 0x15,
+                               &armv7a->debug_base);
+               if (retval != ERROR_OK)
+                       return retval;
+       }
+    else
        {
-               dbgbase = target->dbgbase;
+               armv7a->debug_base = target->dbgbase;
        }
 
-       /* Lookup 0x15 -- Processor DAP */
-       retval = dap_lookup_cs_component(swjdp, 1, dbgbase, 0x15,
-                                       &armv7a->debug_base);
-       if (retval != ERROR_OK)
-               return retval;
-
 #if 0
        /*
         * FIXME: assuming omap4430