diff options
author | Peter Mikkelsen <petermikkelsen10@gmail.com> | 2025-07-27 19:34:35 +0200 |
---|---|---|
committer | Peter Mikkelsen <petermikkelsen10@gmail.com> | 2025-07-27 19:34:35 +0200 |
commit | ca84afb315e813f08d725082320d40969b9f93e4 (patch) | |
tree | 4ec276592ba85a0163bf759e3d614f56d39c2de7 /src/boot.c | |
parent | 0e14cad65fafc22ac319f0a7ed4f08f00f76c81a (diff) |
Small tweaks
Diffstat (limited to 'src/boot.c')
-rw-r--r-- | src/boot.c | 20 |
1 files changed, 14 insertions, 6 deletions
@@ -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(); |