From: Tulio A M Mendes Date: Tue, 10 Feb 2026 04:01:02 +0000 (-0300) Subject: fix: move VBE framebuffer VA from 0xD0000000 to 0xE0000000 X-Git-Url: https://projects.tadryanom.me/?a=commitdiff_plain;h=8d1051b321994c4a09af6c86b47dc21546420ff8;p=AdrOS.git 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. --- 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),