From cb7e695ef9d0166b77f14d6d260733f0ff888f13 Mon Sep 17 00:00:00 2001 From: Dave Chapman Date: Thu, 5 Jan 2006 17:02:48 +0000 Subject: iPod: Fix the bootloader so it can load and run the original Apple firmware again. The Rockbox firmware was doing too much to the hardware so we remove most of the initialisation. git-svn-id: svn://svn.rockbox.org/rockbox/trunk@8301 a1c6a512-1295-4272-9138-f99709370657 --- bootloader/ipod.c | 11 ++++++++++- 1 file changed, 10 insertions(+), 1 deletion(-) (limited to 'bootloader/ipod.c') diff --git a/bootloader/ipod.c b/bootloader/ipod.c index 5b8c0ee217..b1722086e1 100644 --- a/bootloader/ipod.c +++ b/bootloader/ipod.c @@ -415,7 +415,16 @@ void* main(void) lcd_puts(0, line++, "Rockbox loaded."); lcd_update(); memcpy((void*)DRAM_START,loadbuffer,rc); - return (void*)DRAM_START; + + /* Transfer execution directly to Rockbox - we don't want + to run the rest of the bootloader startup code. */ + asm volatile( + "mov r0, #0x10000000 \n" + "mov pc, r0 \n" + ); + + /* We don't get here, but keep the compiler happy. */ + return (void*)0; } } -- cgit v1.2.3