]> rtime.felk.cvut.cz Git - rtems-devel.git/blob - rtems-patches/applied/rtems-csb336-undef-stack.patch
782610526bbe97b44bc0075d816979cc2c26fe64
[rtems-devel.git] / rtems-patches / applied / rtems-csb336-undef-stack.patch
1 Index: rtems-051009/c/src/lib/libbsp/arm/csb336/start/start.S
2 ===================================================================
3 --- rtems-051009.orig/c/src/lib/libbsp/arm/csb336/start/start.S
4 +++ rtems-051009/c/src/lib/libbsp/arm/csb336/start/start.S
5 @@ -72,6 +72,13 @@ _bss_init:        
6          ldr     sp, =_abt_stack
7          add     sp, sp, r1
8          
9 +        /* Enter UNDEF mode and set up the UNDEF stack pointer */
10 +        mov     r0, #(PSR_MODE_UNDEF | PSR_I | PSR_F)     /* No interrupts */
11 +        msr     cpsr, r0
12 +        ldr     r1, =_undef_stack_size
13 +        ldr     sp, =_undef_stack
14 +        add     sp, sp, r1
15 +        
16          /* Set up the SVC stack pointer last and stay in SVC mode */
17          mov     r0, #(PSR_MODE_SVC | PSR_I | PSR_F)     /* No interrupts */
18          msr     cpsr, r0
19 Index: rtems-051009/c/src/lib/libbsp/arm/csb336/startup/linkcmds
20 ===================================================================
21 --- rtems-051009.orig/c/src/lib/libbsp/arm/csb336/startup/linkcmds
22 +++ rtems-051009/c/src/lib/libbsp/arm/csb336/startup/linkcmds
23 @@ -33,7 +33,8 @@ _sdram_size = DEFINED(_sdram_size) ? _sd
24  
25  _irq_stack_size = DEFINED(_irq_stack_size) ? _irq_stack_size : 0x1000;
26  _fiq_stack_size = DEFINED(_fiq_stack_size) ? _fiq_stack_size : 0x400;
27 -_abt_stack_size = DEFINED(_abt_stack_size) ? _abt_stack_size : 0x100;
28 +_abt_stack_size = DEFINED(_abt_stack_size) ? _abt_stack_size : 0x400;
29 +_undef_stack_size = DEFINED(_undef_stack_size) ? _undef_stack_size : 0x400;
30  _svc_stack_size = DEFINED(_svc_stack_size) ? _svc_stack_size : 0x1000;
31  
32  
33 @@ -167,6 +168,10 @@ SECTIONS
34         . += _abt_stack_size;
35  
36         . = ALIGN (256);
37 +       _undef_stack = .;
38 +       . += _undef_stack_size;
39 +
40 +       . = ALIGN (256);
41         _irq_stack = .;
42         . += _irq_stack_size;
43