From 8d1051b321994c4a09af6c86b47dc21546420ff8 Mon Sep 17 00:00:00 2001 From: Tulio A M Mendes Date: Tue, 10 Feb 2026 01:01:02 -0300 Subject: [PATCH] fix: move VBE framebuffer VA from 0xD0000000 to 0xE0000000 The kernel heap starts at KHEAP_START=0xD0000000 and spans 10MB. The VBE framebuffer was also mapped at 0xD0000000, causing a virtual address collision that would corrupt the heap when a framebuffer is present. Move VBE mapping to 0xE0000000 which is safely above the heap. Passes: make, cppcheck, QEMU smoke test. --- src/drivers/vbe.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/drivers/vbe.c b/src/drivers/vbe.c index 6d620ff9..08bce6e0 100644 --- a/src/drivers/vbe.c +++ b/src/drivers/vbe.c @@ -31,7 +31,7 @@ int vbe_init(const struct boot_info* bi) { g_vbe.size = g_vbe.pitch * g_vbe.height; uint32_t pages = (g_vbe.size + 0xFFF) >> 12; - uintptr_t virt_base = 0xD0000000U; + uintptr_t virt_base = 0xE0000000U; for (uint32_t i = 0; i < pages; i++) { vmm_map_page((uint64_t)(g_vbe.phys_addr + i * 0x1000), -- 2.43.0