Stack cleanups (#1193)

* Use STACK and STACK_TOP everywhere

* format

* remove fake variable

* bss

* review

Co-authored-by: Derek Hensley <hensley.derek58@gmail.com>

* Update src/boot_O2_g3/boot_main.c

Co-authored-by: Derek Hensley <hensley.derek58@gmail.com>

* review

* renames

* more renames

* and more

* whoopsie, forgot those too

* hopefully the last cleanup

* forgot some stuff

* a

* bss

---------

Co-authored-by: Derek Hensley <hensley.derek58@gmail.com>
This commit is contained in:
Anghelo Carvajal
2023-03-08 15:25:51 -03:00
committed by GitHub
co-authored by Derek Hensley
parent 9f529aaf2a
commit 2f1e7b3de8
25 changed files with 192 additions and 169 deletions
+20
View File
@@ -0,0 +1,20 @@
#ifndef BUFFERS_H
#define BUFFERS_H
#include "z64.h"
#include "macros.h"
#include "stack.h"
extern u8 gGfxSPTaskYieldBuffer[OS_YIELD_DATA_SIZE];
extern STACK(gGfxSPTaskStack, 0x400);
extern GfxPool gGfxPools[2];
extern u8 gAudioHeap[0x138000];
extern u8 gSystemHeap[];
extern u8 gPictoPhotoI8[PICTO_PHOTO_SIZE];
extern u8 D_80784600[0x56200];
extern u16 gFramebuffer0[SCREEN_HEIGHT][SCREEN_WIDTH];
#endif
+12
View File
@@ -0,0 +1,12 @@
#ifndef STACK_H
#define STACK_H
#include "alignment.h"
#define STACK(stack, size) \
u64 stack[ALIGN8(size) / sizeof(u64)]
#define STACK_TOP(stack) \
((u8*)(stack) + sizeof(stack))
#endif
+13 -76
View File
@@ -282,27 +282,12 @@ extern f64 D_800994C8;
extern char gBuildTeam[];
extern char gBuildDate[];
extern char gBuildMakeOption[];
// extern StackEntry sBootThreadInfo;
// extern OSThread sIdleThread;
// extern u8 sIdleThreadStack[0x400];
// extern StackEntry sIdleThreadInfo;
// extern u8 sBootThreadStack[0x400];
extern IrqMgr gIrqMgr;
// extern u8 sIrqMgrStack[0x500];
// extern StackEntry sIrqMgrStackInfo;
// extern OSThread gMainThread;
// extern u8 sMainStack[0x900];
// extern StackEntry sMainStackInfo;
// extern OSMesg sPiMgrCmdBuff[50];
// extern OSMesgQueue gPiMgrCmdQ;
extern OSViMode gViConfigMode;
extern u8 D_8009B290;
extern StackEntry sDmaMgrStackInfo;
extern u16 numDmaEntries;
extern OSMesgQueue sDmaMgrMsgQueue;
extern OSMesg sDmaMgrMsgs[32];
extern OSThread sDmaMgrThread;
extern u8 sDmaMgrStack[0x500];
extern u8 sYaz0DataBuffer[0x400];
extern u8* sYaz0CurDataEnd;
extern u32 sYaz0CurRomStart;
@@ -312,13 +297,9 @@ extern void* gYaz0DecompressDstEnd;
// extern UNK_TYPE4 D_8009BE30;
// extern UNK_TYPE4 D_8009BE34;
// extern FaultClient romInfoFaultClient;
extern FaultThreadStruct* sFaultContext;
extern f32 D_8009BE54;
extern u32 faultCustomOptions;
extern u32 faultCopyToLog;
extern u8 sFaultStack[0x600];
extern StackEntry sFaultThreadInfo;
extern FaultThreadStruct gFaultStruct;
extern FaultDrawer sFaultDrawerStruct;
// extern UNK_TYPE4 D_8009CD10;
extern u32 sRandFloat;
@@ -333,10 +314,7 @@ extern UNK_TYPE1 D_8009CF60;
extern OSThread __osThreadSave;
extern OSPiHandle D_8009D130;
extern OSPiHandle D_8009D1A8;
// extern OSThread D_8009D220;
// extern u8 piManagerStack[0x1000];
// extern OSMesgQueue D_8009E3D0;
// extern OSMesg D_8009E3E8[1];
extern OSMesg D_8009E3F0[1];
extern OSMesgQueue __osPiAccessQueue;
extern __OSInode __osPfsInodeCache;
@@ -348,13 +326,7 @@ extern u32 __osViIntrCount;
extern u32 __osTimerCounter;
extern OSPifRam __osPfsPifRam;
extern OSPiHandle CartRomHandle;
extern OSThread viThread;
extern u8 viThreadStack[0x1000];
extern OSMesgQueue viEventQueue;
// extern OSMesg viEventBuf[5];
// extern OSIoMesg viRetraceMsg;
// extern OSIoMesg viCounterMsg;
extern u16 viRetrace;
extern DmaEntry dmadata[1568];
// extern UNK_TYPE1 D_80186028;
extern u64 aspMainTextStart[];
@@ -2488,11 +2460,7 @@ extern Struct_80140E80* D_801F6D4C;
extern BombersNotebook sBombersNotebook;
extern u8 sBombersNotebookOpen;
extern u8 sMotionBlurStatus;
extern SlowlyTask D_801F6E00;
extern s32 D_801F6FC0;
extern StackEntry slowlyStackEntry;
extern u8 slowlyStack[0x1000];
extern UNK_TYPE1 D_801F7FE8;
extern UNK_TYPE1 D_801F7FF0;
extern struct_801F8010 D_801F8010;
extern struct_801F8020 D_801F8020;
@@ -2503,24 +2471,12 @@ extern FaultClient sGraphFaultClient;
extern GfxMasterList* gGfxMasterDL;
extern CfbInfo sGraphCfbInfos[3];
extern OSTime sGraphTaskStartTime;
extern OSMesgQueue sSiIntMsgQ;
extern OSMesg sSiIntMsgBuf[1];
extern u32 gSegments[NUM_SEGMENTS];
extern SchedContext gSchedContext;
extern IrqMgrClient irqClient;
extern OSMesgQueue irqMgrMsgQ;
extern OSMesg irqMgrMsgBuf[60];
extern OSThread sGraphThread;
extern u8 sGraphStack[6144];
extern u8 schedStack[1536];
extern u8 audioStack[2048];
extern u8 padmgrStack[1280];
extern StackEntry sGraphStackInfo;
extern StackEntry schedStackEntry;
extern StackEntry audioStackEntry;
extern StackEntry padmgrStackEntry;
extern AudioMgr audioContext;
extern PadMgr D_801FB620;
extern OSThread gGraphThread;
extern PadMgr gPadMgr;
extern FaultClient sSchedFaultClient;
extern OSTime sRSPGFXStartTime;
extern OSTime sRSPAudioStartTime;
@@ -2636,15 +2592,7 @@ extern Vec3f D_801FBDA4;
extern Vec3f D_801FBDE8;
extern MtxF* sMatrixStack;
extern MtxF* sCurrentMatrix;
// extern UNK_TYPE1 D_801FBE10;
// extern UNK_TYPE1 D_801FBE28;
// extern UNK_TYPE1 D_801FBE2C;
// extern UNK_TYPE4 D_801FBE30;
extern u8 sys_flashromStack[0x1000];
extern StackEntry sys_flashromStackEntry;
extern OSThread sys_flashromOSThread;
extern s80185D40 D_801FD008;
extern OSMesg D_801FD034;
extern s32 D_801FD120;
// extern UNK_TYPE1 D_801FD140;
// extern UNK_TYPE1 D_801FD158;
@@ -2777,17 +2725,6 @@ extern AudioCustomSeqFunction gAudioCustomSeqFunction;
extern AudioCustomReverbFunction gAudioCustomReverbFunction;
extern AudioCustomSynthFunction gAudioCustomSynthFunction;
// post-code buffers
extern u8 gGfxSPTaskYieldBuffer[OS_YIELD_DATA_SIZE];
extern u8 gGfxSPTaskStack[0x400];
extern GfxPool gGfxPools[2];
extern u8 gAudioHeap[0x138000];
extern u8 gSystemHeap[UNK_SIZE];
extern u8 gPictoPhotoI8[PICTO_PHOTO_SIZE];
extern u8 D_80784600[0x56200];
extern u16 gFramebuffer0[SCREEN_HEIGHT][SCREEN_WIDTH];
// other segments
extern GfxMasterList D_0E000000;
extern Mtx D_01000000;