summaryrefslogtreecommitdiff
path: root/src/code/sys_ucode.c
diff options
context:
space:
mode:
Diffstat (limited to 'src/code/sys_ucode.c')
-rw-r--r--src/code/sys_ucode.c26
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;
+}