This is an automated email from Gerrit.

Evan Hunter ([email protected]) just uploaded a new patch set to Gerrit, 
which you can find at http://openocd.zylin.com/994

-- gerrit

commit cf6f1968c1b724a5da56459ee8878d5381e240bb
Author: Evan Hunter <[email protected]>
Date:   Wed Nov 21 18:00:36 2012 +1100

    rtos: Add Cortex-R4 support for ThreadX
    
    Change-Id: I0b55af690ed917ca783d90d11dcf012f49792ed7
    Signed-off-by: Evan Hunter <[email protected]>

diff --git a/src/rtos/ThreadX.c b/src/rtos/ThreadX.c
index 297f3fa..714c6fe 100644
--- a/src/rtos/ThreadX.c
+++ b/src/rtos/ThreadX.c
@@ -80,7 +80,16 @@ const struct ThreadX_params ThreadX_params_list[] = {
        48,                                                     /* 
thread_state_offset; */
        136,                                            /* thread_next_offset */
        &rtos_standard_Cortex_M3_stacking,      /* stacking_info */
-       }
+       },
+       {
+       "cortex_r4",                            /* target_name */
+       4,                                                      /* 
pointer_width; */
+       8,                                                      /* 
thread_stack_offset; */
+       40,                                                     /* 
thread_name_offset; */
+       48,                                                     /* 
thread_state_offset; */
+       136,                                            /* thread_next_offset */
+       &rtos_standard_Cortex_R4_stacking,      /* stacking_info */
+       },
 };
 
 #define THREADX_NUM_PARAMS ((int)(sizeof(ThreadX_params_list)/sizeof(struct 
ThreadX_params)))
diff --git a/src/rtos/rtos_standard_stackings.c 
b/src/rtos/rtos_standard_stackings.c
index 30d9cd9..6b00cb7 100644
--- a/src/rtos/rtos_standard_stackings.c
+++ b/src/rtos/rtos_standard_stackings.c
@@ -53,6 +53,36 @@ static const struct stack_register_offset 
rtos_standard_Cortex_M3_stack_offsets[
        { 0x3c, 32 },           /* xPSR */
 };
 
+
+static const struct stack_register_offset 
rtos_standard_Cortex_R4_stack_offsets[] = {
+       { 0x08, 32 },           /* r0  (a1)   */
+       { 0x0c, 32 },           /* r1  (a2)  */
+       { 0x10, 32 },           /* r2  (a3)  */
+       { 0x14, 32 },           /* r3  (a4)  */
+       { 0x18, 32 },           /* r4  (v1)  */
+       { 0x1c, 32 },           /* r5  (v2)  */
+       { 0x20, 32 },           /* r6  (v3)  */
+       { 0x24, 32 },           /* r7  (v4)  */
+       { 0x28, 32 },           /* r8  (a1)  */
+       { 0x2c, 32 },           /* r9  (sb)  */
+       { 0x30, 32 },           /* r10 (sl) */
+       { 0x34, 32 },           /* r11 (fp) */
+       { 0x38, 32 },           /* r12 (ip) */
+       { -2,   32 },           /* sp   */
+       { 0x3c, 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  */
+       { 0x04, 32 },           /* CSPR */
+};
+
 const struct rtos_register_stacking rtos_standard_Cortex_M3_stacking = {
        0x40,                                   /* stack_registers_size */
        -1,                                     /* stack_growth_direction */
@@ -60,3 +90,12 @@ const struct rtos_register_stacking 
rtos_standard_Cortex_M3_stacking = {
        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 */
+       -1,                                     /* stack_growth_direction */
+       26,                                     /* num_output_registers */
+       8,                                      /* stack_alignment */
+       rtos_standard_Cortex_R4_stack_offsets   /* register_offsets */
+};
diff --git a/src/rtos/rtos_standard_stackings.h 
b/src/rtos/rtos_standard_stackings.h
index 9f26b8e..2713c0c 100644
--- a/src/rtos/rtos_standard_stackings.h
+++ b/src/rtos/rtos_standard_stackings.h
@@ -28,5 +28,6 @@
 #include "rtos.h"
 
 extern const struct rtos_register_stacking rtos_standard_Cortex_M3_stacking;
+extern const struct rtos_register_stacking rtos_standard_Cortex_R4_stacking;
 
 #endif /* ifndef INCLUDED_RTOS_STANDARD_STACKINGS_H_ */

-- 

------------------------------------------------------------------------------
Monitor your physical, virtual and cloud infrastructure from a single
web console. Get in-depth insight into apps, servers, databases, vmware,
SAP, cloud infrastructure, etc. Download 30-day Free Trial.
Pricing starts from $795 for 25 servers or applications!
http://p.sf.net/sfu/zoho_dev2dev_nov
_______________________________________________
OpenOCD-devel mailing list
[email protected]
https://lists.sourceforge.net/lists/listinfo/openocd-devel

Reply via email to