diff options
author | Jon Santmyer <jon@jonsantmyer.com> | 2025-08-24 16:05:30 -0400 |
---|---|---|
committer | Jon Santmyer <jon@jonsantmyer.com> | 2025-08-24 16:05:30 -0400 |
commit | f0248ad1724f9fbdd372db4da8ee8f956ae6aacd (patch) | |
tree | 4d661f264a64c562b56a801d3b6a5373415e42d4 /apps | |
parent | 18c389411a0f6283c1b6dffc78bbcfcb237e367b (diff) | |
download | jove-os-f0248ad1724f9fbdd372db4da8ee8f956ae6aacd.tar.gz jove-os-f0248ad1724f9fbdd372db4da8ee8f956ae6aacd.tar.bz2 jove-os-f0248ad1724f9fbdd372db4da8ee8f956ae6aacd.zip |
libc heap impl
Diffstat (limited to 'apps')
-rw-r--r-- | apps/init/arch/x86_64/link.ld | 1 | ||||
-rw-r--r-- | apps/init/arch/x86_64/paging.c | 2 | ||||
-rw-r--r-- | apps/init/main.c | 5 |
3 files changed, 4 insertions, 4 deletions
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 <stdint.h> -#include <string.h> #include <kernel/object.h> #include <jove/jove.h> #include <jove/object.h> @@ -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(;;); } |