summaryrefslogtreecommitdiffstats
path: root/apps
diff options
context:
space:
mode:
authorJon Santmyer <jon@jonsantmyer.com>2025-08-28 16:20:17 -0400
committerJon Santmyer <jon@jonsantmyer.com>2025-08-28 16:20:17 -0400
commitc92305221770bb1316d026c200d569ca4e930e42 (patch)
treebf3e496991e74bd6f2415cf156a7226729f0058b /apps
parent69f2ee15025ccedaae0308c50b7d0d400b854c5b (diff)
downloadjove-os-c92305221770bb1316d026c200d569ca4e930e42.tar.gz
jove-os-c92305221770bb1316d026c200d569ca4e930e42.tar.bz2
jove-os-c92305221770bb1316d026c200d569ca4e930e42.zip
merge libc files, new init methods for libjove
Diffstat (limited to 'apps')
-rw-r--r--apps/init/arch/x86_64/paging.c8
-rw-r--r--apps/init/main.c13
2 files changed, 10 insertions, 11 deletions
diff --git a/apps/init/arch/x86_64/paging.c b/apps/init/arch/x86_64/paging.c
index 36fe950..1423bec 100644
--- a/apps/init/arch/x86_64/paging.c
+++ b/apps/init/arch/x86_64/paging.c
@@ -5,12 +5,10 @@
#include <jove/arch/x86_64/pager.h>
#include <stdbool.h>
+extern void __libjove_pager_init(uint8_t);
+
void
pager_setup(void)
{
- _jove_alloc_pagemap_inplace(&__jove_pagemap, &__rootdir, INIT_OBJECT_PAGEMAP);
-
- size_t lastfree = jove_objdir_lastmemb(&__rootdir) + 1;
- __jove_work_obj.membi = lastfree;
- __jove_work_obj.parent = &__rootdir;
+ __libjove_pager_init(INIT_OBJECT_PAGEMAP);
}
diff --git a/apps/init/main.c b/apps/init/main.c
index 6deb12c..b802bf4 100644
--- a/apps/init/main.c
+++ b/apps/init/main.c
@@ -14,18 +14,19 @@ spin_fail(void)
for(;;);
}
-extern void __libc_heap_init(uintptr_t);
+extern void __libjove_init(uint8_t, void*);
+extern void __libjove_init_untypeddir(uint8_t);
+extern void __libjove_heap_init(uintptr_t);
void
main(void *message_ptr)
{
- __jove_syscall_obj = INIT_OBJECT_MESSAGE;
- __jove_syscall_ptr = message_ptr;
- _jove_alloc_objdir_inplace(&__jove_untyped_directory, &__rootdir, INIT_OBJECT_UNTYPED_DIR);
+ __libjove_init(INIT_OBJECT_MESSAGE, message_ptr);
+ __libjove_init_untypeddir(INIT_OBJECT_UNTYPED_DIR);
+ pager_setup();
+ __libjove_heap_init((uintptr_t)message_ptr + KO_MESSAGE_BYTES);
jove_kprintf("Hello, Userland!\n");
- pager_setup();
- __libc_heap_init((uintptr_t)message_ptr + KO_MESSAGE_BYTES);
for(;;);
}