rolo: use BX for ARM branches

This is equivalent to mov pc
Remove an instruction from the asm() for PP cop restart : use register constraint

git-svn-id: svn://svn.rockbox.org/rockbox/trunk@26431 a1c6a512-1295-4272-9138-f99709370657
This commit is contained in:
Rafaël Carré 2010-05-31 14:42:27 +00:00
parent 09cc3e604d
commit 74cee6297c

View file

@ -90,9 +90,8 @@ void rolo_restart_cop(void)
cpu_reply = 2; cpu_reply = 2;
asm volatile( asm volatile(
"mov r0, %0 \n" "bx %0 \n"
"mov pc, r0 \n" : : "r"(DRAM_START)
: : "I"(DRAM_START)
); );
} }
#endif /* NUM_CORES > 1 */ #endif /* NUM_CORES > 1 */
@ -168,7 +167,7 @@ void rolo_restart(const unsigned char* source, unsigned char* dest,
#endif #endif
asm volatile( asm volatile(
"mov pc, %0 \n" "bx %0 \n"
: : "r"(DRAM_START) : : "r"(DRAM_START)
); );
@ -178,7 +177,7 @@ void rolo_restart(const unsigned char* source, unsigned char* dest,
cpucache_invalidate(); cpucache_invalidate();
#endif #endif
asm volatile( asm volatile(
"mov pc, %0 \n" "bx %0 \n"
: : "r"(dest) : : "r"(dest)
); );
#elif defined(CPU_MIPS) #elif defined(CPU_MIPS)