diff --git a/include/nu/nusys.h b/include/nu/nusys.h index 94637f8..5714639 100644 --- a/include/nu/nusys.h +++ b/include/nu/nusys.h @@ -60,7 +60,7 @@ extern "C" { /*--------------------------------------*/ /* NUSYS STACK SIZE */ /*--------------------------------------*/ -#define NU_IDLE_STACK_SIZE 0x2000 /* Idle thread */ +//#define NU_IDLE_STACK_SIZE 0x2000 /* Idle thread */ #define NU_RMON_STACK_SIZE 0x2000 /* Rmon thread */ #define NU_MAIN_STACK_SIZE NU_SPEC_BOOT_STACK_SIZE /* Main thread */ diff --git a/linker_scripts/symbols/addr.txt b/linker_scripts/symbols/addr.txt index 76c6dfe..086e773 100644 --- a/linker_scripts/symbols/addr.txt +++ b/linker_scripts/symbols/addr.txt @@ -27,7 +27,7 @@ nuSiMesgQ = 0x800E9B88; nuSiMesgBuf = 0x800BBE60; siMgrThread = 0x800BBE80; nuThreadIdle = 0x800AF440; -nuStackIdle = 0x800B17A0; +nuStackIdle = 0x800B0010; nuPiCartHandle = 0x800E7A20; nuPiMgrMesgQ = 0x800BE030; nuPiMesgBuf = 0x800BE048; diff --git a/src/boot.c b/src/boot.c index 935573e..37e0023 100644 --- a/src/boot.c +++ b/src/boot.c @@ -2,14 +2,16 @@ #include "nu/nusys.h" +#define NU_IDLE_STACK_SIZE 0x1790 + extern OSThread nuThreadIdle; -extern u64 nuStackIdle[]; +extern u64 nuStackIdle[NU_IDLE_STACK_SIZE / sizeof(u64)]; void nuIdle(void* arg); void nuBoot(void) { osInitialize(); - osCreateThread(&nuThreadIdle, NU_IDLE_THREAD_ID, nuIdle, NULL, nuStackIdle, NU_MAIN_THREAD_PRI); + osCreateThread(&nuThreadIdle, NU_IDLE_THREAD_ID, nuIdle, NULL, nuStackIdle + NU_IDLE_STACK_SIZE / sizeof(u64), NU_MAIN_THREAD_PRI); osStartThread(&nuThreadIdle); }