diff options
Diffstat (limited to 'boot')
| -rw-r--r-- | boot/limine/memorymap.c | 7 |
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; |
