summaryrefslogtreecommitdiffstats
path: root/include/boot.h
diff options
context:
space:
mode:
Diffstat (limited to 'include/boot.h')
-rw-r--r--include/boot.h38
1 files changed, 38 insertions, 0 deletions
diff --git a/include/boot.h b/include/boot.h
new file mode 100644
index 0000000..c4aa541
--- /dev/null
+++ b/include/boot.h
@@ -0,0 +1,38 @@
+#ifndef JOVE_BOOT_H
+#define JOVE_BOOT_H 1
+
+#include <stdint.h>
+#include <stddef.h>
+#include <stdbool.h>
+
+struct MemoryMapEntry {
+ uintptr_t base;
+ size_t length;
+ bool usable;
+};
+
+#define MEMORY_MAP_MAX_ENTRIES 128
+struct MemoryMap {
+ size_t count;
+ struct MemoryMapEntry entries[MEMORY_MAP_MAX_ENTRIES];
+};
+
+#define BOOT_MODULE_MAX_ENTRIES 4
+struct BootModule {
+ char *path;
+ char *cmdline;
+ size_t size;
+ uintptr_t addr;
+};
+
+#define KERNEL_INITIAL_STACK_WIDTH (0x1000 * 4)
+extern void *boot_kernel_initial_stack_base;
+extern uintptr_t boot_kernel_physical_address;
+extern const char *boot_kernel_cmdline;
+
+extern struct MemoryMap boot_memorymap;
+
+extern struct BootModule boot_modules[BOOT_MODULE_MAX_ENTRIES];
+extern size_t boot_module_count;
+
+#endif