]> git.sur5r.net Git - openocd/commitdiff
MOE=0xc debug reason reset problems.
authoroharboe <oharboe@b42882b7-edfa-0310-969c-e2dbd0fdcd60>
Wed, 5 Nov 2008 14:36:59 +0000 (14:36 +0000)
committeroharboe <oharboe@b42882b7-edfa-0310-969c-e2dbd0fdcd60>
Wed, 5 Nov 2008 14:36:59 +0000 (14:36 +0000)
git-svn-id: svn://svn.berlios.de/openocd/trunk@1139 b42882b7-edfa-0310-969c-e2dbd0fdcd60

src/target/arm926ejs.c

index b6ad09b736438f4440e0a7fca5751d31d2069393..2a3ba3071f1be52717b7c22b29c9584b4658121c 100644 (file)
@@ -350,11 +350,25 @@ int arm926ejs_examine_debug_reason(target_t *target)
                        break;
                case 11:
                        LOG_ERROR("BUG: debug re-entry from system speed access shouldn't be handled here");
+                       break;
+               case 12:
+                       /* FIX!!!! here be dragons!!! We need to fail here so
+                        * the target will interpreted as halted but we won't
+                        * try to talk to it right now... a resume + halt seems
+                        * to sync things up again. Please send an email to
+                        * openocd development mailing list if you have hardware
+                        * to donate to look into this problem....
+                        */
+                       LOG_ERROR("mystery debug reason MOE=0xc. Try issuing a resume + halt.");
                        target->debug_reason = DBG_REASON_DBGRQ;
+                       retval = ERROR_TARGET_FAILURE;
                        break;
                default:
                        LOG_ERROR("BUG: unknown debug reason: 0x%x", debug_reason);
                        target->debug_reason = DBG_REASON_DBGRQ;
+                       /* if we fail here, we won't talk to the target and it will 
+                        * be reported to be in the halted state */
+                       retval = ERROR_TARGET_FAILURE;
                        break;
        }