diff --git a/source/arm11/system.c b/source/arm11/system.c index 3b0d7a4..9ed46ee 100644 --- a/source/arm11/system.c +++ b/source/arm11/system.c @@ -32,28 +32,27 @@ void WEAK __systemInit(void) { IRQ_init(); + __cpsie(i); // Enables interrupts TIMER_init(); - if(!__getCpuId()) + if(!__getCpuId()) // Core 0 { I2C_init(); hidInit(); - PXI_init(); MCU_init(); + PXI_init(); } - else + else // Any other core { // We don't need core 1 yet so back it goes into boot11. // Core 2 and 3 also go there waiting until poweroff. deinitCpu(); ((void (*)(void))0x0001004C)(); } - - __cpsie(i); // Enables interrupts } void WEAK __systemDeinit(void) { - __cpsid(aif); + __cpsid(if); IRQ_init(); } diff --git a/source/arm9/system.c b/source/arm9/system.c index 57b37ae..1fe73e8 100644 --- a/source/arm9/system.c +++ b/source/arm9/system.c @@ -28,13 +28,12 @@ void WEAK __systemInit(void) { IRQ_init(); - NDMA_init(); + leaveCriticalSection(0); // Enables interrupts TIMER_init(); - PXI_init(); + NDMA_init(); AES_init(); RSA_init(); - - leaveCriticalSection(0); // Enables interrupts + PXI_init(); } void WEAK __systemDeinit(void)