summaryrefslogtreecommitdiffstats
path: root/lib/libjove/include
diff options
context:
space:
mode:
authorJon Santmyer <jon@jonsantmyer.com>2025-08-19 16:16:10 -0400
committerJon Santmyer <jon@jonsantmyer.com>2025-08-19 16:16:10 -0400
commit18c389411a0f6283c1b6dffc78bbcfcb237e367b (patch)
treeb3f03adbfc4d7f3dd1477b078ac686eb9d42f0c3 /lib/libjove/include
parent858a52c06a4615bd58a6a906333f2ad707d41c0a (diff)
downloadjove-os-18c389411a0f6283c1b6dffc78bbcfcb237e367b.tar.gz
jove-os-18c389411a0f6283c1b6dffc78bbcfcb237e367b.tar.bz2
jove-os-18c389411a0f6283c1b6dffc78bbcfcb237e367b.zip
move pager to libjove
Diffstat (limited to 'lib/libjove/include')
-rw-r--r--lib/libjove/include/arch/x86_64/pager.h12
-rw-r--r--lib/libjove/include/jove.h6
-rw-r--r--lib/libjove/include/object-dir.h1
-rw-r--r--lib/libjove/include/object-untyped.h2
4 files changed, 18 insertions, 3 deletions
diff --git a/lib/libjove/include/arch/x86_64/pager.h b/lib/libjove/include/arch/x86_64/pager.h
new file mode 100644
index 0000000..7e47ed1
--- /dev/null
+++ b/lib/libjove/include/arch/x86_64/pager.h
@@ -0,0 +1,12 @@
+#ifndef _LIBJOVE_ARCH_x86_64_PAGER_H
+#define _LIBJOVE_ARCH_x86_64_PAGER_H 1
+
+#include <jove/error.h>
+#include <jove/arch/x86_64/object-pagemap.h>
+
+extern KernelObjectPageMap __jove_pagemap;
+
+JoveError jove_pager_ensure_for(KernelObjectPageMap *map, uintptr_t vptr);
+#define jove_pager_ensure(vptr) jove_pager_ensure_for(&__jove_pagemap, vptr)
+
+#endif
diff --git a/lib/libjove/include/jove.h b/lib/libjove/include/jove.h
index 87eecb3..e333485 100644
--- a/lib/libjove/include/jove.h
+++ b/lib/libjove/include/jove.h
@@ -4,14 +4,14 @@
#include <stdint.h>
#include <stddef.h>
-extern uintmax_t _syscall_message_box;
-extern void *_syscall_message_ptr;
+extern uintmax_t __jove_syscall_obj;
+extern void *__jove_syscall_ptr;
extern void *(*_jove_alloc)(size_t);
extern void (*_jove_free)(void*);
extern void *(*_jove_realloc)(void*, size_t);
-void libjove_init(uintmax_t box, void *boxptr);
+extern uintptr_t __program_end;
void jove_kprintf(const char *restrict fmt, ...);
diff --git a/lib/libjove/include/object-dir.h b/lib/libjove/include/object-dir.h
index e4d9aaf..53aada8 100644
--- a/lib/libjove/include/object-dir.h
+++ b/lib/libjove/include/object-dir.h
@@ -19,6 +19,7 @@ typedef struct _KernelObjectDirectory {
KernelObjectTyped *children[256];
} KernelObjectDirectory;
extern KernelObjectDirectory __rootdir;
+extern KernelObjectTyped __jove_work_obj;
KernelObjectDirectory *jove_object_as_objdir(KernelObjectTyped *typed);
diff --git a/lib/libjove/include/object-untyped.h b/lib/libjove/include/object-untyped.h
index e7715b0..a947c23 100644
--- a/lib/libjove/include/object-untyped.h
+++ b/lib/libjove/include/object-untyped.h
@@ -15,6 +15,8 @@ typedef struct _KernelObjectUntyped
KernelObjectTyped *sibling;
} KernelObjectUntyped;
+extern KernelObjectDirectory __jove_untyped_directory;
+
/**@FUNC INTERNAL FUNCTION DO NOT USE.
* Initializes a block of memory as an untyped object.
* @PARAM untyped pointer to new block of memory.