aboutsummaryrefslogtreecommitdiff
path: root/sim/arm/armdefs.h
diff options
context:
space:
mode:
authorNick Clifton <nickc@redhat.com>2000-05-30 17:13:37 +0000
committerNick Clifton <nickc@redhat.com>2000-05-30 17:13:37 +0000
commitc1a72ffdd6aecb2880a7ea3a00234fd48142074c (patch)
tree856dd54c68fc6e81d5adcde3db2043fd1f859e26 /sim/arm/armdefs.h
parentac73857d8010f466a881cca261aec00a13e7512d (diff)
downloadgdb-c1a72ffdd6aecb2880a7ea3a00234fd48142074c.zip
gdb-c1a72ffdd6aecb2880a7ea3a00234fd48142074c.tar.gz
gdb-c1a72ffdd6aecb2880a7ea3a00234fd48142074c.tar.bz2
Add support for v4 SystemMode.
Diffstat (limited to 'sim/arm/armdefs.h')
-rw-r--r--sim/arm/armdefs.h21
1 files changed, 13 insertions, 8 deletions
diff --git a/sim/arm/armdefs.h b/sim/arm/armdefs.h
index bce638d..b23f26f 100644
--- a/sim/arm/armdefs.h
+++ b/sim/arm/armdefs.h
@@ -200,16 +200,17 @@ struct ARMul_State
* Mode and Bank Constants *
\***************************************************************************/
-#define USER26MODE 0L
-#define FIQ26MODE 1L
-#define IRQ26MODE 2L
-#define SVC26MODE 3L
-#define USER32MODE 16L
-#define FIQ32MODE 17L
-#define IRQ32MODE 18L
-#define SVC32MODE 19L
+#define USER26MODE 0L
+#define FIQ26MODE 1L
+#define IRQ26MODE 2L
+#define SVC26MODE 3L
+#define USER32MODE 16L
+#define FIQ32MODE 17L
+#define IRQ32MODE 18L
+#define SVC32MODE 19L
#define ABORT32MODE 23L
#define UNDEF32MODE 27L
+#define SYSTEMMODE 31L
#define ARM32BITMODE (state->Mode > 3)
#define ARM26BITMODE (state->Mode <= 3)
@@ -225,6 +226,10 @@ struct ARMul_State
#define ABORTBANK 4
#define UNDEFBANK 5
#define DUMMYBANK 6
+#define SYSTEMBANK 7
+
+#define BANK_CAN_ACCESS_SPSR(bank) \
+ ((bank) != USERBANK && (bank) != SYSTEMBANK && (bank) != DUMMYBANK)
/***************************************************************************\
* Definitons of things in the emulator *