Wolfvak 68a4ceac5b add another pxi barrier for firmlaunch
fixes a race condition when booting gm9 from itself (especially noticeable on new3DS consoles)
2020-08-19 23:11:45 -03:00

38 lines
737 B
C

#include "godmode.h"
#include "power.h"
#include "pxi.h"
#include "arm.h"
#include "shmem.h"
#include "hid.h"
SystemSHMEM *shmemGlobalBase;
void main(int argc, char** argv, int entrypoint)
{
(void) argc;
(void) argv;
PXI_Reset();
// Don't even try to send any messages until the
// ARM11 says it's ready
PXI_Barrier(PXI_BOOT_BARRIER);
// A pointer to the shared memory region is
// stored in the thread ID register in the ARM9
ARM_InitSHMEM();
#ifdef SCRIPT_RUNNER
// Run the script runner
if (ScriptRunner(entrypoint) == GODMODE_EXIT_REBOOT)
#else
// Run the main program
if (GodMode(entrypoint) == GODMODE_EXIT_REBOOT)
#endif
Reboot();
PowerOff();
}