From 1a1dd9503f931f3e6e9aef2a9bfa9eb4528233ea Mon Sep 17 00:00:00 2001 From: gijs Date: Sat, 21 Oct 2023 21:23:37 +0200 Subject: [PATCH] Add proper symbol for `nuStackIdle` --- include/nu/nusys.h | 2 +- linker_scripts/symbols/addr.txt | 2 +- src/boot.c | 6 ++++-- 3 files changed, 6 insertions(+), 4 deletions(-) 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); }