diff --git a/src/target/armv7m.c b/src/target/armv7m.c index d8aed89ce..6c1732e92 100644 --- a/src/target/armv7m.c +++ b/src/target/armv7m.c @@ -58,6 +58,24 @@ static char *armv7m_exception_strings[] = "DebugMonitor", "RESERVED", "PendSV", "SysTick" }; +/* PSP is used in some thread modes */ +const int armv7m_psp_reg_map[17] = { + ARMV7M_R0, ARMV7M_R1, ARMV7M_R2, ARMV7M_R3, + ARMV7M_R4, ARMV7M_R5, ARMV7M_R6, ARMV7M_R7, + ARMV7M_R8, ARMV7M_R9, ARMV7M_R10, ARMV7M_R11, + ARMV7M_R12, ARMV7M_PSP, ARMV7M_R14, ARMV7M_PC, + ARMV7M_xPSR, +}; + +/* MSP is used in handler and some thread modes */ +const int armv7m_msp_reg_map[17] = { + ARMV7M_R0, ARMV7M_R1, ARMV7M_R2, ARMV7M_R3, + ARMV7M_R4, ARMV7M_R5, ARMV7M_R6, ARMV7M_R7, + ARMV7M_R8, ARMV7M_R9, ARMV7M_R10, ARMV7M_R11, + ARMV7M_R12, ARMV7M_MSP, ARMV7M_R14, ARMV7M_PC, + ARMV7M_xPSR, +}; + #ifdef ARMV7_GDB_HACKS uint8_t armv7m_gdb_dummy_cpsr_value[] = {0, 0, 0, 0}; diff --git a/src/target/armv7m.h b/src/target/armv7m.h index ca921468f..aef6b767b 100644 --- a/src/target/armv7m.h +++ b/src/target/armv7m.h @@ -49,6 +49,8 @@ enum armv7m_mode }; extern char *armv7m_mode_strings[]; +extern const int armv7m_psp_reg_map[]; +extern const int armv7m_msp_reg_map[]; enum armv7m_regtype { diff --git a/src/target/cortex_m.c b/src/target/cortex_m.c index f181060ab..7bf6f79f5 100644 --- a/src/target/cortex_m.c +++ b/src/target/cortex_m.c @@ -406,24 +406,6 @@ static int cortex_m3_examine_exception_reason(struct target *target) return retval; } -/* PSP is used in some thread modes */ -static const int armv7m_psp_reg_map[17] = { - ARMV7M_R0, ARMV7M_R1, ARMV7M_R2, ARMV7M_R3, - ARMV7M_R4, ARMV7M_R5, ARMV7M_R6, ARMV7M_R7, - ARMV7M_R8, ARMV7M_R9, ARMV7M_R10, ARMV7M_R11, - ARMV7M_R12, ARMV7M_PSP, ARMV7M_R14, ARMV7M_PC, - ARMV7M_xPSR, -}; - -/* MSP is used in handler and some thread modes */ -static const int armv7m_msp_reg_map[17] = { - ARMV7M_R0, ARMV7M_R1, ARMV7M_R2, ARMV7M_R3, - ARMV7M_R4, ARMV7M_R5, ARMV7M_R6, ARMV7M_R7, - ARMV7M_R8, ARMV7M_R9, ARMV7M_R10, ARMV7M_R11, - ARMV7M_R12, ARMV7M_MSP, ARMV7M_R14, ARMV7M_PC, - ARMV7M_xPSR, -}; - static int cortex_m3_debug_entry(struct target *target) { int i;