summaryrefslogtreecommitdiffstats
path: root/c
diff options
context:
space:
mode:
authorJay Monkman <jtm@smoothsmoothie.com>2006-06-02 21:53:04 +0000
committerJay Monkman <jtm@smoothsmoothie.com>2006-06-02 21:53:04 +0000
commit0eede05d70e90502fe77a5af4989579801870e34 (patch)
tree6cc73d8c5cf5ff64a395c64f48655c996c505750 /c
parent2006-06-02 Jay Monkman <jtm@lopingdog.com> (diff)
downloadrtems-0eede05d70e90502fe77a5af4989579801870e34.tar.bz2
2006-06-02 Jay Monkman <jtm@lopingdog.com>
* start/start.S, startup/linkcmds: Defined UNDEF exception stack space.
Diffstat (limited to 'c')
-rw-r--r--c/src/lib/libbsp/arm/csb336/ChangeLog5
-rw-r--r--c/src/lib/libbsp/arm/csb336/start/start.S7
-rw-r--r--c/src/lib/libbsp/arm/csb336/startup/linkcmds7
3 files changed, 18 insertions, 1 deletions
diff --git a/c/src/lib/libbsp/arm/csb336/ChangeLog b/c/src/lib/libbsp/arm/csb336/ChangeLog
index 724401dcae..e4e1eba35f 100644
--- a/c/src/lib/libbsp/arm/csb336/ChangeLog
+++ b/c/src/lib/libbsp/arm/csb336/ChangeLog
@@ -1,3 +1,8 @@
+2006-06-02 Jay Monkman <jtm@lopingdog.com>
+
+ * start/start.S, startup/linkcmds: Defined UNDEF exception
+ stack space.
+
2006-01-11 Ralf Corsepius <ralf.corsepius@rtems.org>
* Makefile.am: Add preinstall.am.
diff --git a/c/src/lib/libbsp/arm/csb336/start/start.S b/c/src/lib/libbsp/arm/csb336/start/start.S
index 1dc6f3d205..f162258edd 100644
--- a/c/src/lib/libbsp/arm/csb336/start/start.S
+++ b/c/src/lib/libbsp/arm/csb336/start/start.S
@@ -72,6 +72,13 @@ _bss_init:
ldr sp, =_abt_stack
add sp, sp, r1
+ /* Enter UNDEF mode and set up the UNDEF stack pointer */
+ mov r0, #(PSR_MODE_UNDEF | PSR_I | PSR_F) /* No interrupts */
+ msr cpsr, r0
+ ldr r1, =_undef_stack_size
+ ldr sp, =_undef_stack
+ add sp, sp, r1
+
/* Set up the SVC stack pointer last and stay in SVC mode */
mov r0, #(PSR_MODE_SVC | PSR_I | PSR_F) /* No interrupts */
msr cpsr, r0
diff --git a/c/src/lib/libbsp/arm/csb336/startup/linkcmds b/c/src/lib/libbsp/arm/csb336/startup/linkcmds
index 5c50ffa30b..c71a8c7cdf 100644
--- a/c/src/lib/libbsp/arm/csb336/startup/linkcmds
+++ b/c/src/lib/libbsp/arm/csb336/startup/linkcmds
@@ -33,7 +33,8 @@ _sdram_size = DEFINED(_sdram_size) ? _sdram_size : 30M;
_irq_stack_size = DEFINED(_irq_stack_size) ? _irq_stack_size : 0x1000;
_fiq_stack_size = DEFINED(_fiq_stack_size) ? _fiq_stack_size : 0x400;
-_abt_stack_size = DEFINED(_abt_stack_size) ? _abt_stack_size : 0x100;
+_abt_stack_size = DEFINED(_abt_stack_size) ? _abt_stack_size : 0x400;
+_undef_stack_size = DEFINED(_undef_stack_size) ? _undef_stack_size : 0x400;
_svc_stack_size = DEFINED(_svc_stack_size) ? _svc_stack_size : 0x1000;
@@ -170,6 +171,10 @@ SECTIONS
. += _abt_stack_size;
. = ALIGN (256);
+ _undef_stack = .;
+ . += _undef_stack_size;
+
+ . = ALIGN (256);
_irq_stack = .;
. += _irq_stack_size;