summaryrefslogtreecommitdiffstats
path: root/firmware
diff options
context:
space:
mode:
Diffstat (limited to 'firmware')
-rw-r--r--firmware/rolo.c9
1 files 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)