diff options
Diffstat (limited to 'src/code/sys_ucode.c')
| -rw-r--r-- | src/code/sys_ucode.c | 26 |
1 files changed, 22 insertions, 4 deletions
diff --git a/src/code/sys_ucode.c b/src/code/sys_ucode.c index a832f9d38..9bde9e6df 100644 --- a/src/code/sys_ucode.c +++ b/src/code/sys_ucode.c @@ -1,9 +1,27 @@ +/* + * File: sys_ucode.c + * Description: Functions for obtaining locations and sizes of microcode + */ #include "global.h" -#pragma GLOBAL_ASM("asm/non_matchings/code/sys_ucode/SysUcode_GetUCodeBoot.s") +extern u64 rspbootTextStart[]; +extern u64 rspbootTextEnd[]; -#pragma GLOBAL_ASM("asm/non_matchings/code/sys_ucode/SysUcode_GetUCodeBootSize.s") +u64* initialgspUcodeText = gspF3DEX2_NoN_fifoTextStart; +u64* initialgspUcodeData = gspF3DEX2_NoN_fifoDataStart; -#pragma GLOBAL_ASM("asm/non_matchings/code/sys_ucode/SysUcode_GetUCode.s") +u64* SysUcode_GetUCodeBoot(void) { + return rspbootTextStart; +} -#pragma GLOBAL_ASM("asm/non_matchings/code/sys_ucode/SysUcode_GetUCodeData.s") +size_t SysUcode_GetUCodeBootSize(void) { + return (uintptr_t)rspbootTextEnd - (uintptr_t)rspbootTextStart; +} + +u64* SysUcode_GetUCode(void) { + return initialgspUcodeText; +} + +u64* SysUcode_GetUCodeData(void) { + return initialgspUcodeData; +} |
