From ca84afb315e813f08d725082320d40969b9f93e4 Mon Sep 17 00:00:00 2001 From: Peter Mikkelsen Date: Sun, 27 Jul 2025 19:34:35 +0200 Subject: Small tweaks --- src/boot.c | 20 ++++++++++++++------ 1 file changed, 14 insertions(+), 6 deletions(-) (limited to 'src/boot.c') diff --git a/src/boot.c b/src/boot.c index c2d4a22..00cbcca 100644 --- a/src/boot.c +++ b/src/boot.c @@ -41,6 +41,11 @@ REQUEST struct limine_entry_point_request entry_point_request = { .entry = bootmain }; +REQUEST struct limine_hhdm_request hhdm_request = { + .id = LIMINE_HHDM_REQUEST, + .revision = 0 +}; + LIMINE(".limine_requests_start") LIMINE_REQUESTS_START_MARKER LIMINE(".limine_requests_end") LIMINE_REQUESTS_END_MARKER @@ -60,6 +65,7 @@ bootmain(void) assert(memmap_request.response); assert(paging_request.response); assert(mp_request.response); + assert(hhdm_request.response); assert(framebuffer_request.response->framebuffer_count >= 1); @@ -76,14 +82,16 @@ bootmain(void) struct memmap *m = memmaps; for(uint64_t i = 0; i < memmap_request.response->entry_count; i++){ struct limine_memmap_entry *e = memmap_request.response->entries[i]; - if(e->type != LIMINE_MEMMAP_USABLE) - continue; - m->start = e->base; - m->size = e->length; - m++; - info.memmap_count++; + switch(e->type){ + case LIMINE_MEMMAP_USABLE: + m->start = e->base; + m->size = e->length; + m++; + info.memmap_count++; + } } info.memmaps = memmaps; + info.physbase = hhdm_request.response->offset; main(&info); halt(); -- cgit v1.2.3