diff options
Diffstat (limited to 'bootloader')
-rw-r--r-- | bootloader/main.c | 5 |
1 files changed, 5 insertions, 0 deletions
diff --git a/bootloader/main.c b/bootloader/main.c index 0a18bed9ec..11e0f71801 100644 --- a/bootloader/main.c +++ b/bootloader/main.c | |||
@@ -45,7 +45,9 @@ int usb_screen(void) | |||
45 | void start_iriver_fw(void) | 45 | void start_iriver_fw(void) |
46 | { | 46 | { |
47 | asm(" move.w #0x2700,%sr"); | 47 | asm(" move.w #0x2700,%sr"); |
48 | /* Reset the cookie for the crt0 crash check */ | ||
48 | asm(" move.l #0,%d0"); | 49 | asm(" move.l #0,%d0"); |
50 | asm(" move.l %d0,0x10017ffc"); | ||
49 | asm(" movec.l %d0,%vbr"); | 51 | asm(" movec.l %d0,%vbr"); |
50 | asm(" move.l 0,%sp"); | 52 | asm(" move.l 0,%sp"); |
51 | asm(" lea.l 8,%a0"); | 53 | asm(" lea.l 8,%a0"); |
@@ -110,6 +112,9 @@ int load_firmware(void) | |||
110 | void start_firmware(void) | 112 | void start_firmware(void) |
111 | { | 113 | { |
112 | asm(" move.w #0x2700,%sr"); | 114 | asm(" move.w #0x2700,%sr"); |
115 | /* Reset the cookie for the crt0 crash check */ | ||
116 | asm(" move.l #0,%d0"); | ||
117 | asm(" move.l %d0,0x10017ffc"); | ||
113 | asm(" move.l #0x30000000,%d0"); | 118 | asm(" move.l #0x30000000,%d0"); |
114 | asm(" movec.l %d0,%vbr"); | 119 | asm(" movec.l %d0,%vbr"); |
115 | asm(" move.l 0x30000000,%sp"); | 120 | asm(" move.l 0x30000000,%sp"); |