diff options
Diffstat (limited to 'include/boot.h')
-rw-r--r-- | include/boot.h | 38 |
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 |