EmbeddedICE - fix Feroceon/Dragonite message
authorDavid Brownell <dbrownell@users.sourceforge.net>
Sat, 23 Jan 2010 06:54:39 +0000 (22:54 -0800)
committerDavid Brownell <dbrownell@users.sourceforge.net>
Sat, 23 Jan 2010 06:54:39 +0000 (22:54 -0800)
The breakpoint/watchpoint message was wrong for Feroceon and
Dragonite, which have only one working watchpoint unit.

Signed-off-by: David Brownell <dbrownell@users.sourceforge.net>
src/target/embeddedice.c

index a705d7dd15f911567d3fc4f12ca419bf77c52827..bf220364e653a33630a426e243b8faefeb8747f6 100644 (file)
@@ -192,6 +192,11 @@ embeddedice_build_reg_cache(struct target *target, struct arm7_9_common *arm7_9)
        reg_cache->reg_list = reg_list;
        reg_cache->num_regs = num_regs;
 
+       /* FIXME the second watchpoint unit on Feroceon and Dragonite
+        * seems not to work ... we should have a way to not set up
+        * its four registers here!
+        */
+
        /* set up registers */
        for (i = 0; i < num_regs; i++)
        {
@@ -290,8 +295,10 @@ embeddedice_build_reg_cache(struct target *target, struct arm7_9_common *arm7_9)
                                buf_get_u32(reg_list[EICE_COMMS_CTRL].value, 0, 32));
        }
 
-       LOG_INFO("%s: hardware has 2 breakpoints or watchpoints",
-                       target_name(target));
+       /* On Feroceon and Dragonite the second unit is seemingly missing. */
+       LOG_INFO("%s: hardware has %d breakpoint/watchpoint unit%s",
+                       target_name(target), arm7_9->wp_available_max,
+                       (arm7_9->wp_available_max != 1) ? "s" : "");
 
        return reg_cache;
 }