1
0
Fork 0
forked from len0rd/rockbox

* 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
This commit is contained in:
Jens Arnold 2009-07-12 22:43:24 +00:00
parent afe43d3fcb
commit 36eeecbe9a
3 changed files with 24 additions and 24 deletions

View file

@ -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)
);