summaryrefslogtreecommitdiffstats
path: root/boot/limine
diff options
context:
space:
mode:
Diffstat (limited to 'boot/limine')
-rw-r--r--boot/limine/memorymap.c7
1 files changed, 6 insertions, 1 deletions
diff --git a/boot/limine/memorymap.c b/boot/limine/memorymap.c
index 7ce1da8..8fa0279 100644
--- a/boot/limine/memorymap.c
+++ b/boot/limine/memorymap.c
@@ -35,6 +35,11 @@ mem_setup_regions(void)
obj_settype(region_objdir_obj, JOVE_OBJ_OBJDIR);
obj_setvalue(region_objdir_obj, (uintptr_t)&s_region_objdir);
obj_release(region_objdir_obj);
+
+ jove_owned_obj_t *hwmem_objdir_obj = objdir_getlocal(_rootdir_obj, INIT_ROOTDIR_HWMEMORY_I);
+ obj_settype(hwmem_objdir_obj, JOVE_OBJ_OBJDIR);
+ obj_setvalue(hwmem_objdir_obj, (uintptr_t)&s_hwmemory_objdir);
+ obj_release(hwmem_objdir_obj);
}
if(_limine_memmap_resp == NULL) {
@@ -85,7 +90,7 @@ mem_setup_regions(void)
jove_owned_obj_t *hwmem_obj = obj_take(&s_hwmemory_objdir.entries[hwmem_i++]);
obj_settype(hwmem_obj, JOVE_OBJ_SHMEMORY);
- obj_setvalue(hwmem_obj, entry->base | (entry->length >> 12));
+ obj_setvalue(hwmem_obj, base | pages);
obj_release(hwmem_obj);
hw_pages -= 4096;