Add AT_ADDRESS macro

This commit is contained in:
LagoLunatic
2024-07-12 11:03:34 -04:00
parent 33c6922ae8
commit 1cd37880b7
24 changed files with 85 additions and 50 deletions
+1 -1
View File
@@ -628,7 +628,7 @@ asm void __OSPSInit(void){
// clang-format on
}
vu32 __DIRegs[16] : 0xCC006000;
vu32 __DIRegs[16] AT_ADDRESS(0xCC006000);
#define DI_CONFIG_IDX 0x9
#define DI_CONFIG_CONFIG_MASK 0xFF
+3 -2
View File
@@ -1,9 +1,10 @@
#include "dolphin/os/OSContext.h"
#include "dolphin/db/db.h"
#include "dolphin/os/OS.h"
#include "dolphin/os/OSUtil.h"
volatile OSContext* __OSCurrentContext : (OS_BASE_CACHED | 0x00D4);
volatile OSContext* __OSFPUContext : (OS_BASE_CACHED | 0x00D8);
volatile OSContext* __OSCurrentContext AT_ADDRESS(OS_BASE_CACHED | 0x00D4);
volatile OSContext* __OSFPUContext AT_ADDRESS(OS_BASE_CACHED | 0x00D8);
asm void __OSLoadFPUContext(void) {
// clang-format off
+3 -3
View File
@@ -4,9 +4,9 @@
#include "dolphin/dvd/dvdlow.h"
#include "dolphin/os/OS.h"
OSThread* __OSCurrentThread : (OS_BASE_CACHED | 0x00E4);
OSThreadQueue __OSActiveThreadQueue : (OS_BASE_CACHED | 0x00DC);
volatile OSContext* __OSFPUContext : (OS_BASE_CACHED | 0x00D8);
OSThread* __OSCurrentThread AT_ADDRESS(OS_BASE_CACHED | 0x00E4);
OSThreadQueue __OSActiveThreadQueue AT_ADDRESS(OS_BASE_CACHED | 0x00DC);
volatile OSContext* __OSFPUContext AT_ADDRESS(OS_BASE_CACHED | 0x00D8);
extern volatile u32 __OSLastInterruptSrr0;
extern volatile s16 __OSLastInterrupt;
+2 -2
View File
@@ -3,8 +3,8 @@
#include "dolphin/exi/EXIBios.h"
#include "dolphin/os/OS.h"
vu32 __PIRegs[12] : 0xCC003000;
vu16 __MEMRegs[64] : 0xCC004000;
vu32 __PIRegs[12] AT_ADDRESS(0xCC003000);
vu16 __MEMRegs[64] AT_ADDRESS(0xCC004000);
asm BOOL OSDisableInterrupts(void) {
// clang-format off
+1 -1
View File
@@ -107,7 +107,7 @@
__prev->link.next = __next; \
} while (0)
OSModuleQueue __OSModuleInfoList : (OS_BASE_CACHED | 0x30C8);
OSModuleQueue __OSModuleInfoList AT_ADDRESS(OS_BASE_CACHED | 0x30C8);
#pragma dont_inline on
+1 -1
View File
@@ -4,7 +4,7 @@
#define TRUNC(n, a) (((u32)(n)) & ~((a)-1))
#define ROUND(n, a) (((u32)(n) + (a)-1) & ~((a)-1))
vu16 __MEMRegs[64] : 0xCC004000;
vu16 __MEMRegs[64] AT_ADDRESS(0xCC004000);
extern OSErrorHandlerEx __OSErrorTable[16];
+5 -5
View File
@@ -1,14 +1,14 @@
#include "dolphin/os/Os.h"
#include "dolphin/os/OS.h"
#include "dolphin/os/OSReboot.h"
static void* SaveStart = NULL;
static void* SaveEnd = NULL;
static volatile BOOL Prepared;
extern u32 OS_RESET_CODE : 0x800030F0;
extern u8 OS_REBOOT_BOOL : 0x800030E2; // unknown function, set to true by __OSReboot
extern u32 UNK_817FFFF8 : 0x817FFFF8;
extern u32 UNK_817FFFFC : 0x817FFFFC;
extern u32 OS_RESET_CODE AT_ADDRESS(0x800030F0);
extern u8 OS_REBOOT_BOOL AT_ADDRESS(0x800030E2); // unknown function, set to true by __OSReboot
extern u32 UNK_817FFFF8 AT_ADDRESS(0x817FFFF8);
extern u32 UNK_817FFFFC AT_ADDRESS(0x817FFFFC);
#define OS_BOOTROM_ADDR 0x81300000
+2 -2
View File
@@ -1,8 +1,8 @@
#include "dolphin/os/OSReset.h"
#include "dolphin/os/OS.h"
vu16 __VIRegs[59] : 0xCC002000;
OSThreadQueue __OSActiveThreadQueue : (OS_BASE_CACHED | 0x00DC);
vu16 __VIRegs[59] AT_ADDRESS(0xCC002000);
OSThreadQueue __OSActiveThreadQueue AT_ADDRESS(OS_BASE_CACHED | 0x00DC);
static OSResetQueue ResetFunctionQueue;
+1 -1
View File
@@ -2,7 +2,7 @@
#include "dolphin/os/OS.h"
#include "dolphin/os/OSReset.h"
u8 GameChoice : (OS_BASE_CACHED | 0x30E3);
u8 GameChoice AT_ADDRESS(OS_BASE_CACHED | 0x30E3);
void __OSResetSWInterruptHandler(__OSInterrupt interrupt, OSContext* context);
+4 -4
View File
@@ -7,10 +7,10 @@
#include "dolphin/os/OSThread.h"
#include "dolphin/os/OS.h"
OSThread* __OSCurrentThread : OS_BASE_CACHED + 0x00E4;
OSThreadQueue __OSActiveThreadQueue : OS_BASE_CACHED + 0x00DC;
volatile OSContext __OSCurrentContext : OS_BASE_CACHED + 0x00D4;
volatile OSContext* __OSFPUContext : OS_BASE_CACHED + 0x00D8;
OSThread* __OSCurrentThread AT_ADDRESS(OS_BASE_CACHED + 0x00E4);
OSThreadQueue __OSActiveThreadQueue AT_ADDRESS(OS_BASE_CACHED + 0x00DC);
volatile OSContext __OSCurrentContext AT_ADDRESS(OS_BASE_CACHED + 0x00D4);
volatile OSContext* __OSFPUContext AT_ADDRESS(OS_BASE_CACHED + 0x00D8);
#define AddTail(queue, thread, link) \
do { \