aboutsummaryrefslogtreecommitdiff
path: root/src/rtos/rtos_standard_stackings.c
diff options
context:
space:
mode:
authorSpencer Oliver <spen@spen-soft.co.uk>2014-03-17 14:15:41 +0000
committerPaul Fertser <fercerpav@gmail.com>2014-03-29 07:34:36 +0000
commit27b073a9411bdcb3a2f525ff070747afbff384cb (patch)
tree9ca43c16f44491b230e48d2062ce48571f1ceb7c /src/rtos/rtos_standard_stackings.c
parentf7ffd142ee0be266a18be074f53fcd284244c527 (diff)
downloadriscv-openocd-27b073a9411bdcb3a2f525ff070747afbff384cb.zip
riscv-openocd-27b073a9411bdcb3a2f525ff070747afbff384cb.tar.gz
riscv-openocd-27b073a9411bdcb3a2f525ff070747afbff384cb.tar.bz2
rtos: fix xml register support regression
Seems that when xml register support was added the rtos code was not updated to match. This then caused gdb to return the following error when rtos support was enabled - "Remote 'g' packet reply is too long". Change-Id: I7429c4b1efed120e2e690678d55f3d6e87ee1ff1 Signed-off-by: Spencer Oliver <spen@spen-soft.co.uk> Reviewed-on: http://openocd.zylin.com/2054 Tested-by: jenkins Reviewed-by: Paul Fertser <fercerpav@gmail.com>
Diffstat (limited to 'src/rtos/rtos_standard_stackings.c')
-rw-r--r--src/rtos/rtos_standard_stackings.c24
1 files changed, 7 insertions, 17 deletions
diff --git a/src/rtos/rtos_standard_stackings.c b/src/rtos/rtos_standard_stackings.c
index 7b2eb9d..2eab86f 100644
--- a/src/rtos/rtos_standard_stackings.c
+++ b/src/rtos/rtos_standard_stackings.c
@@ -23,8 +23,9 @@
#endif
#include "rtos.h"
+#include "target/armv7m.h"
-static const struct stack_register_offset rtos_standard_Cortex_M3_stack_offsets[] = {
+static const struct stack_register_offset rtos_standard_Cortex_M3_stack_offsets[ARMV7M_NUM_CORE_REGS] = {
{ 0x20, 32 }, /* r0 */
{ 0x24, 32 }, /* r1 */
{ 0x28, 32 }, /* r2 */
@@ -41,19 +42,9 @@ static const struct stack_register_offset rtos_standard_Cortex_M3_stack_offsets[
{ -2, 32 }, /* sp */
{ 0x34, 32 }, /* lr */
{ 0x38, 32 }, /* pc */
- { -1, 96 }, /* FPA1 */
- { -1, 96 }, /* FPA2 */
- { -1, 96 }, /* FPA3 */
- { -1, 96 }, /* FPA4 */
- { -1, 96 }, /* FPA5 */
- { -1, 96 }, /* FPA6 */
- { -1, 96 }, /* FPA7 */
- { -1, 96 }, /* FPA8 */
- { -1, 32 }, /* FPS */
{ 0x3c, 32 }, /* xPSR */
};
-
static const struct stack_register_offset rtos_standard_Cortex_R4_stack_offsets[] = {
{ 0x08, 32 }, /* r0 (a1) */
{ 0x0c, 32 }, /* r1 (a2) */
@@ -124,15 +115,14 @@ static const struct stack_register_offset rtos_standard_NDS32_N1068_stack_offset
const struct rtos_register_stacking rtos_standard_Cortex_M3_stacking = {
0x40, /* stack_registers_size */
- -1, /* stack_growth_direction */
- 26, /* num_output_registers */
- 8, /* stack_alignment */
+ -1, /* stack_growth_direction */
+ ARMV7M_NUM_CORE_REGS, /* num_output_registers */
+ 8, /* stack_alignment */
rtos_standard_Cortex_M3_stack_offsets /* register_offsets */
};
-
const struct rtos_register_stacking rtos_standard_Cortex_R4_stacking = {
- 0x48, /* stack_registers_size */
+ 0x48, /* stack_registers_size */
-1, /* stack_growth_direction */
26, /* num_output_registers */
8, /* stack_alignment */
@@ -140,7 +130,7 @@ const struct rtos_register_stacking rtos_standard_Cortex_R4_stacking = {
};
const struct rtos_register_stacking rtos_standard_NDS32_N1068_stacking = {
- 0x90, /* stack_registers_size */
+ 0x90, /* stack_registers_size */
-1, /* stack_growth_direction */
32, /* num_output_registers */
8, /* stack_alignment */