Correct the subpriv arena address

This commit is contained in:
PikalaxALT 2021-10-02 18:29:20 -04:00
parent 989bfa637e
commit 711dcae5dd
3 changed files with 11 additions and 8 deletions

View File

@ -148,7 +148,7 @@ $(LCF): $(LSF) $(LCF_TEMPLATE)
ifeq ($(PROC),arm946e)
echo "KEEP_SECTION\n{\n\t.exceptix\n}" >> $@
else
sed -i -r '/\} > check\.WORKRAM/a SDK_EXT_WRAM_PROTECTION_BEGIN = SDK_AUTOLOAD.MAIN.BSS_END;\nSDK_EXT_WRAM_PROTECTION_END = SDK_EXT_WRAM_PROTECTION_BEGIN + SDK_AUTOLOAD.EXT_WRAM.SIZE + SDK_AUTOLOAD.EXT_WRAM.BSS_SIZE;' $@
sed -i -r '/\} > check\.WORKRAM/a SDK_SUBPRIV_ARENA_LO = SDK_SUBPRIV_ARENA_LO + SDK_AUTOLOAD.EXT_WRAM.SIZE + SDK_AUTOLOAD.EXT_WRAM.BSS_SIZE;' $@
endif
$(NEF): $(LCF) $(ALL_OBJS)

View File

@ -6,8 +6,8 @@
.public SDK_AUTOLOAD_LIST_END
.public SDK_AUTOLOAD_WRAM_SIZE
.public SDK_AUTOLOAD_WRAM_BSS_SIZE
.public SDK_EXT_WRAM_PROTECTION_BEGIN
.public SDK_EXT_WRAM_PROTECTION_END
.public SDK_AUTOLOAD_MAIN_BSS_END
.public SDK_SUBPRIV_ARENA_LO
; Temporary until ARM7 bss is defined
.public WVR_BSS_START
@ -35,11 +35,11 @@ _027E0014:
cmp r1, #0x6000000
add r2, r2, #0xc
bne _027E0090
ldr r1, _027E00B0 ; =SDK_EXT_WRAM_PROTECTION_BEGIN
ldr r1, _027E00B0 ; =SDK_AUTOLOAD_MAIN_BSS_END
ldr r0, _027E00B4 ; =WVR_BSS_START
add r3, r4, r5
str r1, [r0, #o_wvrVramImageBuf]
ldr r2, _027E00B8 ; =SDK_EXT_WRAM_PROTECTION_END
ldr r2, _027E00B8 ; =SDK_SUBPRIV_ARENA_LO
add r1, r1, r3
str r3, [r0, #o_wvrVramImageBufSize]
cmp r2, r1
@ -79,6 +79,9 @@ _027E009C:
_027E00A4: .word SDK_AUTOLOAD_START
_027E00A8: .word SDK_AUTOLOAD_LIST
_027E00AC: .word SDK_AUTOLOAD_LIST_END
_027E00B0: .word SDK_EXT_WRAM_PROTECTION_BEGIN
_027E00B0: .word SDK_AUTOLOAD_MAIN_BSS_END
_027E00B4: .word WVR_BSS_START
_027E00B8: .word SDK_EXT_WRAM_PROTECTION_END
_027E00B8: .word SDK_SUBPRIV_ARENA_LO
.section .wram,4,1,5

View File

@ -87,7 +87,7 @@ void* OS_GetInitArenaHi(OSArenaId id)
void* OS_GetInitArenaLo(OSArenaId id) {
switch (id) {
case OS_ARENA_MAIN_SUBPRIV:
return (void *)((u32)0x027F9EF0); //todo SDK_SUBPRIV_ARENA_LO
return (void *)SDK_SUBPRIV_ARENA_LO;
case OS_ARENA_WRAM_SUB:
{
u32 wramSubLo = ((u32)SDK_WRAM_ARENA_LO);