summaryrefslogtreecommitdiff
path: root/src/target/arm7_9_common.c
diff options
context:
space:
mode:
authorØyvind Harboe <oyvind.harboe@zylin.com>2010-08-11 10:58:49 +0200
committerØyvind Harboe <oyvind.harboe@zylin.com>2010-08-11 10:58:49 +0200
commitf941192723f7d71ae4a9a8f011dad5909f156da3 (patch)
tree7e0b779613edac188d90b69ce5afc33053a5739b /src/target/arm7_9_common.c
parentba951aede3aa98591087428955dad51279e6a5ea (diff)
downloadopenocd_libswd-f941192723f7d71ae4a9a8f011dad5909f156da3.tar.gz
openocd_libswd-f941192723f7d71ae4a9a8f011dad5909f156da3.tar.bz2
openocd_libswd-f941192723f7d71ae4a9a8f011dad5909f156da3.tar.xz
openocd_libswd-f941192723f7d71ae4a9a8f011dad5909f156da3.zip
arm: add missing error reporting
when an unknown core mode is read from the target, report error. Can be communication failure. Signed-off-by: Øyvind Harboe <oyvind.harboe@zylin.com>
Diffstat (limited to 'src/target/arm7_9_common.c')
-rw-r--r--src/target/arm7_9_common.c8
1 files changed, 7 insertions, 1 deletions
diff --git a/src/target/arm7_9_common.c b/src/target/arm7_9_common.c
index 3bbe8b07..778e606b 100644
--- a/src/target/arm7_9_common.c
+++ b/src/target/arm7_9_common.c
@@ -2,7 +2,7 @@
* Copyright (C) 2005 by Dominic Rath *
* Dominic.Rath@gmx.de *
* *
- * Copyright (C) 2007-2009 Øyvind Harboe *
+ * Copyright (C) 2007-2010 Øyvind Harboe *
* oyvind.harboe@zylin.com *
* *
* Copyright (C) 2008 by Spencer Oliver *
@@ -1518,7 +1518,10 @@ static int arm7_9_full_context(struct target *target)
}
if (!is_arm_mode(armv4_5->core_mode))
+ {
+ LOG_ERROR("not a valid arm core mode - communication failure?");
return ERROR_FAIL;
+ }
/* iterate through processor modes (User, FIQ, IRQ, SVC, ABT, UND)
* SYS shares registers with User, so we don't touch SYS
@@ -1621,7 +1624,10 @@ static int arm7_9_restore_context(struct target *target)
arm7_9->pre_restore_context(target);
if (!is_arm_mode(armv4_5->core_mode))
+ {
+ LOG_ERROR("not a valid arm core mode - communication failure?");
return ERROR_FAIL;
+ }
/* iterate through processor modes (User, FIQ, IRQ, SVC, ABT, UND)
* SYS shares registers with User, so we don't touch SYS