summaryrefslogtreecommitdiff
path: root/src/target/armv7a.h
diff options
context:
space:
mode:
authorDavid Brownell <dbrownell@users.sourceforge.net>2009-11-19 02:33:01 -0800
committerDavid Brownell <dbrownell@users.sourceforge.net>2009-11-19 02:33:01 -0800
commit195ce5eb273983dbeabeea41cc18b77e4f30ab41 (patch)
tree65d5308f74ba5d7a569445e230fe1dec090c6514 /src/target/armv7a.h
parentf320b1228932e33292207d89778125c03379de5d (diff)
downloadopenocd_libswd-195ce5eb273983dbeabeea41cc18b77e4f30ab41.tar.gz
openocd_libswd-195ce5eb273983dbeabeea41cc18b77e4f30ab41.tar.bz2
openocd_libswd-195ce5eb273983dbeabeea41cc18b77e4f30ab41.tar.xz
openocd_libswd-195ce5eb273983dbeabeea41cc18b77e4f30ab41.zip
ARMv7-A: use standard ARM core states
We don't want an ARMv7-specific core state enumeration just to add ThumbEE state. Update the generic stuff to handle that, and replace the V7-specific bits with it. For Cortex-A8: on debug entry, check both the T and J bits instead of just the T bit. When the J bit is set, set the right state and warn appropriately. (And while we're at it, move the generic arm struct to the front of the v7a structure, for somewhat better code generation.) Signed-off-by: David Brownell <dbrownell@users.sourceforge.net>
Diffstat (limited to 'src/target/armv7a.h')
-rw-r--r--src/target/armv7a.h14
1 files changed, 2 insertions, 12 deletions
diff --git a/src/target/armv7a.h b/src/target/armv7a.h
index f31a7af8..635cd40e 100644
--- a/src/target/armv7a.h
+++ b/src/target/armv7a.h
@@ -24,15 +24,6 @@
#include "armv4_5_mmu.h"
#include "armv4_5_cache.h"
-
-typedef enum armv7a_state
-{
- ARMV7A_STATE_ARM,
- ARMV7A_STATE_THUMB,
- ARMV7A_STATE_JAZELLE,
- ARMV7A_STATE_THUMBEE,
-} armv7a_state_t;
-
enum
{
ARM_PC = 15,
@@ -64,9 +55,9 @@ enum
struct armv7a_common
{
+ struct arm armv4_5_common;
int common_magic;
struct reg_cache *core_cache;
- enum armv7a_state core_state;
/* arm adp debug port */
struct swjdp_common swjdp_info;
@@ -78,7 +69,6 @@ struct armv7a_common
/* Cache and Memory Management Unit */
struct armv4_5_mmu_common armv4_5_mmu;
- struct arm armv4_5_common;
int (*read_cp15)(struct target *target,
uint32_t op1, uint32_t op2,
@@ -107,7 +97,7 @@ struct armv7a_algorithm
int common_magic;
enum armv4_5_mode core_mode;
- enum armv7a_state core_state;
+ enum armv4_5_state core_state;
};
struct armv7a_core_reg