summaryrefslogtreecommitdiffstats
path: root/firmware
diff options
context:
space:
mode:
authorJens Arnold <amiconn@rockbox.org>2009-07-12 22:43:24 +0000
committerJens Arnold <amiconn@rockbox.org>2009-07-12 22:43:24 +0000
commit36eeecbe9a91a5da8bd82ee3974c359f4534dd14 (patch)
tree81cf3005af179420e469b07c883db5e6a35a7adb /firmware
parentafe43d3fcba11eadf9960d48ae461f6e429b9a88 (diff)
downloadrockbox-36eeecbe9a91a5da8bd82ee3974c359f4534dd14.tar.gz
rockbox-36eeecbe9a91a5da8bd82ee3974c359f4534dd14.tar.bz2
rockbox-36eeecbe9a91a5da8bd82ee3974c359f4534dd14.zip
* Fix overlooked r12 usage possibility in mpegplayer ARM idct
* ARM dualcore: Don't save r12 in switch_thread_core() git-svn-id: svn://svn.rockbox.org/rockbox/trunk@21830 a1c6a512-1295-4272-9138-f99709370657
Diffstat (limited to 'firmware')
-rw-r--r--firmware/thread.c4
1 files changed, 2 insertions, 2 deletions
diff --git a/firmware/thread.c b/firmware/thread.c
index 755dd7af3a..3754f55867 100644
--- a/firmware/thread.c
+++ b/firmware/thread.c
@@ -696,7 +696,7 @@ static void __attribute__((naked))
* Stack access also isn't permitted until restoring the original stack and
* context. */
asm volatile (
- "stmfd sp!, { r4-r12, lr } \n" /* Stack all non-volatile context on current core */
+ "stmfd sp!, { r4-r11, lr } \n" /* Stack all non-volatile context on current core */
"ldr r2, =idle_stacks \n" /* r2 = &idle_stacks[core][IDLE_STACK_WORDS] */
"ldr r2, [r2, r0, lsl #2] \n"
"add r2, r2, %0*4 \n"
@@ -712,7 +712,7 @@ static void __attribute__((naked))
"ldr r0, =cpucache_invalidate \n" /* Invalidate new core's cache */
"mov lr, pc \n"
"bx r0 \n"
- "ldmfd sp!, { r4-r12, pc } \n" /* Restore non-volatile context to new core and return */
+ "ldmfd sp!, { r4-r11, pc } \n" /* Restore non-volatile context to new core and return */
".ltorg \n" /* Dump constant pool */
: : "i"(IDLE_STACK_WORDS)
);