diff --git a/src/bootloader/bootloader.c b/src/bootloader/bootloader.c index c9cf555..1ceb57f 100644 --- a/src/bootloader/bootloader.c +++ b/src/bootloader/bootloader.c @@ -132,6 +132,14 @@ void Exec_at(void *pEntry) ".set noreorder\n" ); + __asm + ( + // Enable User Mode and Interrupts on RFE + // Exception Vector = 0xBFC00080 + "li $26, 0x1000000C\n" + "mtc0 $26, $12\n" + ); + __asm ( "mtc0 %[pEntry], $14\n" diff --git a/src/bootloader/bootloader_with_flash.c b/src/bootloader/bootloader_with_flash.c index 733cc63..9e733ec 100644 --- a/src/bootloader/bootloader_with_flash.c +++ b/src/bootloader/bootloader_with_flash.c @@ -153,6 +153,14 @@ void Exec_at(void *pEntry) ".set noreorder\n" ); + __asm + ( + // Enable User Mode and Interrupts on RFE + // Exception Vector = 0xBFC00080 + "li $26, 0x1000000C\n" + "mtc0 $26, $12\n" + ); + __asm ( "mtc0 %[pEntry], $14\n"