From 74cee6297c87d9f94ff9d68ca19ba39fc7cc6ae6 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Rafa=C3=ABl=20Carr=C3=A9?= Date: Mon, 31 May 2010 14:42:27 +0000 Subject: [PATCH] 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 --- firmware/rolo.c | 9 ++++----- 1 file changed, 4 insertions(+), 5 deletions(-) diff --git a/firmware/rolo.c b/firmware/rolo.c index 69166785ad..078a4e9827 100644 --- a/firmware/rolo.c +++ b/firmware/rolo.c @@ -90,9 +90,8 @@ void rolo_restart_cop(void) cpu_reply = 2; asm volatile( - "mov r0, %0 \n" - "mov pc, r0 \n" - : : "I"(DRAM_START) + "bx %0 \n" + : : "r"(DRAM_START) ); } #endif /* NUM_CORES > 1 */ @@ -168,7 +167,7 @@ void rolo_restart(const unsigned char* source, unsigned char* dest, #endif asm volatile( - "mov pc, %0 \n" + "bx %0 \n" : : "r"(DRAM_START) ); @@ -178,7 +177,7 @@ void rolo_restart(const unsigned char* source, unsigned char* dest, cpucache_invalidate(); #endif asm volatile( - "mov pc, %0 \n" + "bx %0 \n" : : "r"(dest) ); #elif defined(CPU_MIPS)