From f0248ad1724f9fbdd372db4da8ee8f956ae6aacd Mon Sep 17 00:00:00 2001 From: Jon Santmyer Date: Sun, 24 Aug 2025 16:05:30 -0400 Subject: libc heap impl --- apps/init/arch/x86_64/link.ld | 1 + apps/init/arch/x86_64/paging.c | 2 -- apps/init/main.c | 5 +++-- 3 files changed, 4 insertions(+), 4 deletions(-) (limited to 'apps/init') diff --git a/apps/init/arch/x86_64/link.ld b/apps/init/arch/x86_64/link.ld index 45b08f5..79da5cb 100644 --- a/apps/init/arch/x86_64/link.ld +++ b/apps/init/arch/x86_64/link.ld @@ -7,4 +7,5 @@ SECTIONS . = 0x1000; .text BLOCK(PAGESIZE) : ALIGN(PAGESIZE) { *(.text.start) *(.text) *(.rodata) } .data BLOCK(PAGESIZE) : ALIGN(PAGESIZE) { *(.data) *(.bss) } + __program_end = .; } diff --git a/apps/init/arch/x86_64/paging.c b/apps/init/arch/x86_64/paging.c index 641fc8a..36fe950 100644 --- a/apps/init/arch/x86_64/paging.c +++ b/apps/init/arch/x86_64/paging.c @@ -13,6 +13,4 @@ pager_setup(void) size_t lastfree = jove_objdir_lastmemb(&__rootdir) + 1; __jove_work_obj.membi = lastfree; __jove_work_obj.parent = &__rootdir; - - jove_pager_ensure(0x00000000F0000000); } diff --git a/apps/init/main.c b/apps/init/main.c index 9ed2579..6deb12c 100644 --- a/apps/init/main.c +++ b/apps/init/main.c @@ -1,5 +1,3 @@ -#include -#include #include #include #include @@ -16,6 +14,8 @@ spin_fail(void) for(;;); } +extern void __libc_heap_init(uintptr_t); + void main(void *message_ptr) { @@ -25,6 +25,7 @@ main(void *message_ptr) jove_kprintf("Hello, Userland!\n"); pager_setup(); + __libc_heap_init((uintptr_t)message_ptr + KO_MESSAGE_BYTES); for(;;); } -- cgit v1.2.1