]> git.sur5r.net Git - openocd/commitdiff
rtos: fix xml register support regression
authorSpencer Oliver <spen@spen-soft.co.uk>
Mon, 17 Mar 2014 14:15:41 +0000 (14:15 +0000)
committerPaul Fertser <fercerpav@gmail.com>
Sat, 29 Mar 2014 07:34:36 +0000 (07:34 +0000)
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>
src/rtos/rtos_chibios_stackings.c
src/rtos/rtos_ecos_stackings.c
src/rtos/rtos_embkernel_stackings.c
src/rtos/rtos_standard_stackings.c

index bb92f651eb9571478d56e3a622b4cb52c8876369..0b5d0632d59c74d6c025bf2032180aabbd7b9ccc 100644 (file)
@@ -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 */
 };
index 74f13d75abadbffbd9c0139cac83af51256c3328..53ba171f15c95bd4c00582f649d963764dd7324b 100644 (file)
@@ -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 */
 };
index 2f0874efb33d82b62a3fffbff6f6ff709593370a..315da301f9d8836caf8fc4a069fb77adfab0a0bc 100644 (file)
@@ -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 */
 };
 
index 7b2eb9db2b8b2c994472fd702ea85e5875687375..2eab86f934984202a6f33b9535cb5fd4a175158c 100644 (file)
@@ -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 */