summaryrefslogtreecommitdiff
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
parent771b35b7be669148955abf20512338693832bbdf (diff)
downloadrockbox-4b7a2ba276d4323a6e7d58243d1a62531081962c.tar.gz
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
-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
115 . += 0x2000; 115 . += 0x2000;
116 stackend = .; 116 stackend = .;
117 } > IRAM 117 } > IRAM
118
119 .irqstack (NOLOAD) :
120 {
121 *(.stack)
122 . += 0x400;
123 irq_stack = .;
124 } > IRAM
125
126 .fiqstack (NOLOAD) :
127 {
128 *(.stack)
129 . += 0x100;
130 fiq_stack = .;
131 } > IRAM
118 132
119 /* This overwrites the iram (in ram), so make sure that the iram is copied 133 /* This overwrites the iram (in ram), so make sure that the iram is copied
120 * out in crt0.s before the bss section and the rest are used. 134 * 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
121 stackend = .; 121 stackend = .;
122 } > IRAM 122 } > IRAM
123 123
124 .irqstack (NOLOAD) :
125 {
126 *(.stack)
127 . += 0x400;
128 irq_stack = .;
129 } > IRAM
130
131 .fiqstack (NOLOAD) :
132 {
133 *(.stack)
134 . += 0x100;
135 fiq_stack = .;
136 } > IRAM
137
124 .bss (NOLOAD) : 138 .bss (NOLOAD) :
125 { 139 {
126 . = ADDR(.data) + SIZEOF(.data) + SIZEOF(.vectors) + SIZEOF(.iram); 140 . = 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:
163 b UIE 163 b UIE
164#endif 164#endif
165 165
166/* Align stacks to cache line boundary */
167 .balign 16
168
169/* 256 words of IRQ stack */
170 .space 256*4
171irq_stack:
172
173/* 256 words of FIQ stack */
174 .space 256*4
175fiq_stack: