kernel: update limine to 11 and use base revision 6

This commit is contained in:
Matheus
2026-04-01 16:45:42 -03:00
parent 02b88573b0
commit 774ae10e99
18 changed files with 64 additions and 52 deletions
+5 -3
View File
@@ -314,8 +314,8 @@ static mmuflags_t kernelflags[3] = {
extern volatile struct limine_memmap_request pmm_liminemap;
static volatile struct limine_kernel_address_request kaddrreq = {
.id = LIMINE_KERNEL_ADDRESS_REQUEST,
static volatile struct limine_executable_address_request kaddrreq = {
.id = LIMINE_EXECUTABLE_ADDRESS_REQUEST_ID,
.revision = 0
};
@@ -389,11 +389,13 @@ void arch_mmu_init() {
for (size_t i = 0; i < pmm_liminemap.response->entry_count; ++i) {
struct limine_memmap_entry *e = pmm_liminemap.response->entries[i];
if (e->type != LIMINE_MEMMAP_USABLE && e->type != LIMINE_MEMMAP_BOOTLOADER_RECLAIMABLE && e->type != LIMINE_MEMMAP_KERNEL_AND_MODULES && e->type != LIMINE_MEMMAP_FRAMEBUFFER)
if (e->type != LIMINE_MEMMAP_USABLE && e->type != LIMINE_MEMMAP_BOOTLOADER_RECLAIMABLE && e->type != LIMINE_MEMMAP_EXECUTABLE_AND_MODULES && e->type != LIMINE_MEMMAP_FRAMEBUFFER)
continue;
for (uint64_t i = 0; i < e->length; i += PAGE_SIZE) {
uint64_t entry = ((e->base + i) & ADDRMASK) | ARCH_MMU_FLAGS_READ | ARCH_MMU_FLAGS_WRITE | ARCH_MMU_FLAGS_NOEXEC | ARCH_MMU_FLAGS_GLOBAL;
if (e->type == LIMINE_MEMMAP_FRAMEBUFFER)
entry |= ARCH_MMU_FLAGS_WC;
__assert(add_page(FROM_HHDM(template), MAKE_HHDM((void *)(e->base + i)), entry, 0));
}
}