diff options
Diffstat (limited to 'boot/limine/start.c')
| -rw-r--r-- | boot/limine/start.c | 6 |
1 files changed, 4 insertions, 2 deletions
diff --git a/boot/limine/start.c b/boot/limine/start.c index 9fffb0b..803c1de 100644 --- a/boot/limine/start.c +++ b/boot/limine/start.c @@ -1,6 +1,7 @@ #include <stdint.h> #include <stddef.h> +#include "api/init.h" #include "boot/cmdline.h" #include "limine.h" @@ -64,7 +65,6 @@ void *_kernel_physptr = NULL; void *_initrd_module = NULL; struct limine_framebuffer_response *_limine_framebuffers; struct limine_memmap_response *_limine_memmap_resp = NULL; -struct limine_rsdp_response *_limine_rsdp_resp = NULL; __attribute__((noreturn)) void @@ -73,7 +73,9 @@ _start(void) _kernel_physptr = (void*)executable_address_req.response->physical_base; _limine_memmap_resp = memmap_req.response; _limine_framebuffers = framebuffer_request.response; - _limine_rsdp_resp = rsdp_request.response; + + extern struct init_payload _init_payload; + _init_payload.rsdp = (void*)((uintptr_t)rsdp_request.response->address & 0xFFFFFFFF); if(module_req.response->module_count > 0) { _initrd_module = module_req.response->modules[0]->address; |
