aboutsummaryrefslogtreecommitdiff
path: root/src/rtos
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
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')
-rw-r--r--src/rtos/rtos_chibios_stackings.c18
-rw-r--r--src/rtos/rtos_ecos_stackings.c18
-rw-r--r--src/rtos/rtos_embkernel_stackings.c18
-rw-r--r--src/rtos/rtos_standard_stackings.c24
4 files changed, 22 insertions, 56 deletions
diff --git a/src/rtos/rtos_chibios_stackings.c b/src/rtos/rtos_chibios_stackings.c
index bb92f65..0b5d063 100644
--- a/src/rtos/rtos_chibios_stackings.c
+++ b/src/rtos/rtos_chibios_stackings.c
@@ -26,8 +26,9 @@
#endif
#include "rtos.h"
+#include "target/armv7m.h"
-static const struct stack_register_offset rtos_chibios_arm_v7m_stack_offsets[] = {
+static const struct stack_register_offset rtos_chibios_arm_v7m_stack_offsets[ARMV7M_NUM_CORE_REGS] = {
{ -1, 32 }, /* r0 */
{ -1, 32 }, /* r1 */
{ -1, 32 }, /* r2 */
@@ -44,22 +45,13 @@ static const struct stack_register_offset rtos_chibios_arm_v7m_stack_offsets[] =
{ -2, 32 }, /* sp */
{ -1, 32 }, /* lr */
{ 0x20, 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 */
{ -1, 32 }, /* xPSR */
};
const struct rtos_register_stacking rtos_chibios_arm_v7m_stacking = {
0x24, /* stack_registers_size */
- -1, /* stack_growth_direction */
- 26, /* num_output_registers */
- 0, /* stack_alignment */
+ -1, /* stack_growth_direction */
+ ARMV7M_NUM_CORE_REGS, /* num_output_registers */
+ 0, /* stack_alignment */
rtos_chibios_arm_v7m_stack_offsets /* register_offsets */
};
diff --git a/src/rtos/rtos_ecos_stackings.c b/src/rtos/rtos_ecos_stackings.c
index 74f13d7..53ba171 100644
--- a/src/rtos/rtos_ecos_stackings.c
+++ b/src/rtos/rtos_ecos_stackings.c
@@ -21,8 +21,9 @@
#endif
#include "rtos.h"
+#include "target/armv7m.h"
-static const struct stack_register_offset rtos_eCos_Cortex_M3_stack_offsets[] = {
+static const struct stack_register_offset rtos_eCos_Cortex_M3_stack_offsets[ARMV7M_NUM_CORE_REGS] = {
{ 0x0c, 32 }, /* r0 */
{ 0x10, 32 }, /* r1 */
{ 0x14, 32 }, /* r2 */
@@ -39,22 +40,13 @@ static const struct stack_register_offset rtos_eCos_Cortex_M3_stack_offsets[] =
{ -2, 32 }, /* sp */
{ -1, 32 }, /* lr */
{ 0x40, 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 */
{ -1, 32 }, /* xPSR */
};
const struct rtos_register_stacking rtos_eCos_Cortex_M3_stacking = {
0x44, /* 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_eCos_Cortex_M3_stack_offsets /* register_offsets */
};
diff --git a/src/rtos/rtos_embkernel_stackings.c b/src/rtos/rtos_embkernel_stackings.c
index 2f0874e..315da30 100644
--- a/src/rtos/rtos_embkernel_stackings.c
+++ b/src/rtos/rtos_embkernel_stackings.c
@@ -23,8 +23,9 @@
#endif
#include "rtos.h"
+#include "target/armv7m.h"
-static const struct stack_register_offset rtos_embkernel_Cortex_M_stack_offsets[] = {
+static const struct stack_register_offset rtos_embkernel_Cortex_M_stack_offsets[ARMV7M_NUM_CORE_REGS] = {
{ 0x24, 32 }, /* r0 */
{ 0x28, 32 }, /* r1 */
{ 0x2c, 32 }, /* r2 */
@@ -41,23 +42,14 @@ static const struct stack_register_offset rtos_embkernel_Cortex_M_stack_offsets[
{ -2, 32 }, /* sp */
{ 0x38, 32 }, /* lr */
{ 0x3c, 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 */
{ 0x40, 32 }, /* xPSR */
};
const struct rtos_register_stacking rtos_embkernel_Cortex_M_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_embkernel_Cortex_M_stack_offsets /* register_offsets */
};
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 */