summaryrefslogtreecommitdiffstats
path: root/firmware
diff options
context:
space:
mode:
authorKarl Kurbjun <kkurbjun@gmail.com>2009-08-12 02:34:07 +0000
committerKarl Kurbjun <kkurbjun@gmail.com>2009-08-12 02:34:07 +0000
commit4b7a2ba276d4323a6e7d58243d1a62531081962c (patch)
treee6d79e9e5ef35ed89e1c9faf324de57f854e6090 /firmware
parent771b35b7be669148955abf20512338693832bbdf (diff)
downloadrockbox-4b7a2ba276d4323a6e7d58243d1a62531081962c.tar.gz
rockbox-4b7a2ba276d4323a6e7d58243d1a62531081962c.tar.bz2
rockbox-4b7a2ba276d4323a6e7d58243d1a62531081962c.zip
M:Robe 500: Put the irq stack and fiq stack in iram. Reduce memory for fiq stack since it is currently unused.
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@22263 a1c6a512-1295-4272-9138-f99709370657
Diffstat (limited to 'firmware')
-rw-r--r--firmware/target/arm/tms320dm320/app.lds14
-rw-r--r--firmware/target/arm/tms320dm320/boot.lds14
-rwxr-xr-xfirmware/target/arm/tms320dm320/crt0.S10
3 files changed, 28 insertions, 10 deletions
diff --git a/firmware/target/arm/tms320dm320/app.lds b/firmware/target/arm/tms320dm320/app.lds
index fbaaff3e6c..3437984f55 100644
--- a/firmware/target/arm/tms320dm320/app.lds
+++ b/firmware/target/arm/tms320dm320/app.lds
@@ -115,6 +115,20 @@ SECTIONS
. += 0x2000;
stackend = .;
} > IRAM
+
+ .irqstack (NOLOAD) :
+ {
+ *(.stack)
+ . += 0x400;
+ irq_stack = .;
+ } > IRAM
+
+ .fiqstack (NOLOAD) :
+ {
+ *(.stack)
+ . += 0x100;
+ fiq_stack = .;
+ } > IRAM
/* This overwrites the iram (in ram), so make sure that the iram is copied
* out in crt0.s before the bss section and the rest are used.
diff --git a/firmware/target/arm/tms320dm320/boot.lds b/firmware/target/arm/tms320dm320/boot.lds
index 0ee6c202a4..a4077eeaaa 100644
--- a/firmware/target/arm/tms320dm320/boot.lds
+++ b/firmware/target/arm/tms320dm320/boot.lds
@@ -121,6 +121,20 @@ SECTIONS
stackend = .;
} > IRAM
+ .irqstack (NOLOAD) :
+ {
+ *(.stack)
+ . += 0x400;
+ irq_stack = .;
+ } > IRAM
+
+ .fiqstack (NOLOAD) :
+ {
+ *(.stack)
+ . += 0x100;
+ fiq_stack = .;
+ } > IRAM
+
.bss (NOLOAD) :
{
. = ADDR(.data) + SIZEOF(.data) + SIZEOF(.vectors) + SIZEOF(.iram);
diff --git a/firmware/target/arm/tms320dm320/crt0.S b/firmware/target/arm/tms320dm320/crt0.S
index 7c0c27eb74..fe4a3fb970 100755
--- a/firmware/target/arm/tms320dm320/crt0.S
+++ b/firmware/target/arm/tms320dm320/crt0.S
@@ -163,13 +163,3 @@ UIE:
b UIE
#endif
-/* Align stacks to cache line boundary */
- .balign 16
-
-/* 256 words of IRQ stack */
- .space 256*4
-irq_stack:
-
-/* 256 words of FIQ stack */
- .space 256*4
-fiq_stack: