diff options
author | Tomas Vanek <vanekt@fbl.cz> | 2020-10-14 16:52:09 +0200 |
---|---|---|
committer | Antonio Borneo <borneo.antonio@gmail.com> | 2020-11-15 21:06:00 +0000 |
commit | e4160bd42216d5e717822162e1dad83b1b7003a1 (patch) | |
tree | a2fcdcce0a2a8e8ada3f8baa5e7b5e54f1d14b03 /src | |
parent | efbc447ed8d49ef0fa0638faf13315d767208ab6 (diff) | |
download | riscv-openocd-e4160bd42216d5e717822162e1dad83b1b7003a1.zip riscv-openocd-e4160bd42216d5e717822162e1dad83b1b7003a1.tar.gz riscv-openocd-e4160bd42216d5e717822162e1dad83b1b7003a1.tar.bz2 |
target/armv7m: rework Cortex-M register handling part 2
Make arm register id coherent with reg_list index.
Without this reg_list[ARMV7M_R12] was possible but
reg_list[ARMV7M_FPSCR] was out of bounds.
Remove unused items from reg_list index.
Change-Id: I84d3b5c496fc1839d07a5b74cb1fd1c3d4ff8989
Signed-off-by: Tomas Vanek <vanekt@fbl.cz>
Reviewed-on: http://openocd.zylin.com/5862
Tested-by: jenkins
Reviewed-by: Antonio Borneo <borneo.antonio@gmail.com>
Reviewed-by: Christopher Head <chead@zaber.com>
Diffstat (limited to 'src')
-rw-r--r-- | src/target/armv7m.c | 2 | ||||
-rw-r--r-- | src/target/armv7m.h | 38 |
2 files changed, 3 insertions, 37 deletions
diff --git a/src/target/armv7m.c b/src/target/armv7m.c index ba60a98..1774373 100644 --- a/src/target/armv7m.c +++ b/src/target/armv7m.c @@ -254,6 +254,7 @@ static int armv7m_read_core_reg(struct target *target, struct reg *r, struct armv7m_common *armv7m = target_to_armv7m(target); assert(num < (int)armv7m->arm.core_cache->num_regs); + assert(num == (int)r->number); armv7m_core_reg = armv7m->arm.core_cache->reg_list[num].arch_info; @@ -293,6 +294,7 @@ static int armv7m_write_core_reg(struct target *target, struct reg *r, struct armv7m_common *armv7m = target_to_armv7m(target); assert(num < (int)armv7m->arm.core_cache->num_regs); + assert(num == (int)r->number); armv7m_core_reg = armv7m->arm.core_cache->reg_list[num].arch_info; diff --git a/src/target/armv7m.h b/src/target/armv7m.h index 8cd4df3..bd10905 100644 --- a/src/target/armv7m.h +++ b/src/target/armv7m.h @@ -133,40 +133,6 @@ enum { ARMV7M_FAULTMASK, ARMV7M_CONTROL, - /* 32bit Floating-point registers */ - ARMV7M_S0, - ARMV7M_S1, - ARMV7M_S2, - ARMV7M_S3, - ARMV7M_S4, - ARMV7M_S5, - ARMV7M_S6, - ARMV7M_S7, - ARMV7M_S8, - ARMV7M_S9, - ARMV7M_S10, - ARMV7M_S11, - ARMV7M_S12, - ARMV7M_S13, - ARMV7M_S14, - ARMV7M_S15, - ARMV7M_S16, - ARMV7M_S17, - ARMV7M_S18, - ARMV7M_S19, - ARMV7M_S20, - ARMV7M_S21, - ARMV7M_S22, - ARMV7M_S23, - ARMV7M_S24, - ARMV7M_S25, - ARMV7M_S26, - ARMV7M_S27, - ARMV7M_S28, - ARMV7M_S29, - ARMV7M_S30, - ARMV7M_S31, - /* 64bit Floating-point registers */ ARMV7M_D0, ARMV7M_D1, @@ -185,10 +151,8 @@ enum { ARMV7M_D14, ARMV7M_D15, - /* Floating-point status registers */ - ARMV7M_FPSID, + /* Floating-point status register */ ARMV7M_FPSCR, - ARMV7M_FPEXC, ARMV7M_LAST_REG, }; |