This is an automated email from Gerrit.

Oleksij Rempel (li...@rempel-privat.de) just uploaded a new patch set to 
Gerrit, which you can find at http://openocd.zylin.com/1933

-- gerrit

commit d551e969be9d6b1ae04e33a7f0cfe9e3eb28a0b7
Author: Oleksij Rempel <li...@rempel-privat.de>
Date:   Wed Jan 22 12:27:19 2014 +0100

    mips_m4k.c: D or I breaks only if they supported.
    
    Change-Id: Ie00102da4bf13a8c42a9ad05910c66884f297cfd
    Signed-off-by: Oleksij Rempel <li...@rempel-privat.de>

diff --git a/src/target/mips_m4k.c b/src/target/mips_m4k.c
index c2922ce..74d9ac4 100644
--- a/src/target/mips_m4k.c
+++ b/src/target/mips_m4k.c
@@ -57,33 +57,37 @@ static int mips_m4k_examine_debug_reason(struct target 
*target)
        int retval;
 
        if ((target->debug_reason != DBG_REASON_DBGRQ)
-               && (target->debug_reason != DBG_REASON_SINGLESTEP)) {
-               /* get info about inst breakpoint support */
-               retval = target_read_u32(target,
-                       ejtag_info->ejtag_ibs_addr, &break_status);
-               if (retval != ERROR_OK)
-                       return retval;
-               if (break_status & 0x1f) {
-                       /* we have halted on a  breakpoint */
-                       retval = target_write_u32(target,
-                               ejtag_info->ejtag_ibs_addr, 0);
+                       && (target->debug_reason != DBG_REASON_SINGLESTEP)) {
+               if (ejtag_info->debug_caps & EJTAG_DCR_IB) {
+                       /* get info about inst breakpoint support */
+                       retval = target_read_u32(target,
+                               ejtag_info->ejtag_ibs_addr, &break_status);
                        if (retval != ERROR_OK)
                                return retval;
-                       target->debug_reason = DBG_REASON_BREAKPOINT;
+                       if (break_status & 0x1f) {
+                               /* we have halted on a  breakpoint */
+                               retval = target_write_u32(target,
+                                       ejtag_info->ejtag_ibs_addr, 0);
+                               if (retval != ERROR_OK)
+                                       return retval;
+                               target->debug_reason = DBG_REASON_BREAKPOINT;
+                       }
                }
 
-               /* get info about data breakpoint support */
-               retval = target_read_u32(target,
-                       ejtag_info->ejtag_dbs_addr, &break_status);
-               if (retval != ERROR_OK)
-                       return retval;
-               if (break_status & 0x1f) {
-                       /* we have halted on a  breakpoint */
-                       retval = target_write_u32(target,
-                               ejtag_info->ejtag_dbs_addr, 0);
+               if (ejtag_info->debug_caps & EJTAG_DCR_DB) {
+                       /* get info about data breakpoint support */
+                       retval = target_read_u32(target,
+                               ejtag_info->ejtag_dbs_addr, &break_status);
                        if (retval != ERROR_OK)
                                return retval;
-                       target->debug_reason = DBG_REASON_WATCHPOINT;
+                       if (break_status & 0x1f) {
+                               /* we have halted on a  breakpoint */
+                               retval = target_write_u32(target,
+                                       ejtag_info->ejtag_dbs_addr, 0);
+                               if (retval != ERROR_OK)
+                                       return retval;
+                               target->debug_reason = DBG_REASON_WATCHPOINT;
+                       }
                }
        }
 

-- 

------------------------------------------------------------------------------
Managing the Performance of Cloud-Based Applications
Take advantage of what the Cloud has to offer - Avoid Common Pitfalls.
Read the Whitepaper.
http://pubads.g.doubleclick.net/gampad/clk?id=121051231&iu=/4140/ostg.clktrk
_______________________________________________
OpenOCD-devel mailing list
OpenOCD-devel@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/openocd-devel

Reply via email to