diff --git a/include/mem_map.h b/include/mem_map.h index fa1507b..044430e 100644 --- a/include/mem_map.h +++ b/include/mem_map.h @@ -141,6 +141,7 @@ #define A11_FALLBACK_ENTRY (AXIWRAM_BASE + AXIWRAM_SIZE - 0x4) #define A11_STUB_ENTRY (AXIWRAM_BASE + AXIWRAM_SIZE - 0x200) #define A11_STUB_SIZE (0x1A0) // Don't overwrite the vectors +#define A11_HEAP_END (AXIWRAM_BASE + AXIWRAM_SIZE + DSP_MEM_SIZE) #define A11_STACK_START (A11_STUB_ENTRY - 0xE00) #define A11_STACK_END (A11_STUB_ENTRY) #endif diff --git a/source/arm11/start.s b/source/arm11/start.s index 5eeef4f..fd52be9 100644 --- a/source/arm11/start.s +++ b/source/arm11/start.s @@ -39,6 +39,9 @@ .extern irqHandler .extern __bss_start__ .extern __bss_end__ +.extern __end__ +.extern fake_heap_start +.extern fake_heap_end .extern setupMmu .extern __libc_init_array .extern main @@ -121,6 +124,11 @@ sub r1, r1, r0 bl clearMem + @ Setup newlib heap + ldr r0, =A11_HEAP_END + ldr r1, =fake_heap_end + str r0, [r1] + blx __libc_init_array @ Initialize ctors and dtors @ Wakeup core 1.