From 31b0e4f4411bba3d688b4970771df62bf89c5c15 Mon Sep 17 00:00:00 2001 From: Aiken Harris Date: Fri, 23 Jan 2026 20:55:56 +0100 Subject: [PATCH] Ensure contiguous virtual memory mapping --- boot/xtldr/modules/xtos_o/xtos.cc | 7 +++---- 1 file changed, 3 insertions(+), 4 deletions(-) diff --git a/boot/xtldr/modules/xtos_o/xtos.cc b/boot/xtldr/modules/xtos_o/xtos.cc index 3482003..7334693 100644 --- a/boot/xtldr/modules/xtos_o/xtos.cc +++ b/boot/xtldr/modules/xtos_o/xtos.cc @@ -607,7 +607,7 @@ Xtos::RunBootSequence(IN PEFI_FILE_HANDLE BootDir, PXTBL_FRAMEBUFFER_PROTOCOL FrameBufProtocol; PPECOFF_IMAGE_CONTEXT ImageContext = NULLPTR; PEFI_LOADED_IMAGE_PROTOCOL ImageProtocol; - PVOID VirtualAddress, VirtualMemoryArea; + PVOID VirtualAddress; PXT_ENTRY_POINT KernelEntryPoint; EFI_HANDLE ProtocolHandle; EFI_STATUS Status; @@ -629,13 +629,12 @@ Xtos::RunBootSequence(IN PEFI_FILE_HANDLE BootDir, XtLdrProtocol->Protocol.Close(&ProtocolHandle, &FrameBufGuid); /* Set base virtual memory area for the kernel mappings */ - VirtualMemoryArea = (PVOID)KSEG0_BASE; - VirtualAddress = (PVOID)(KSEG0_BASE + KSEG0_KERNEL_BASE); + VirtualAddress = (PVOID)(KSEG0_BASE); /* Initialize virtual memory mappings */ XtLdrProtocol->Memory.InitializePageMap(&PageMap, DeterminePagingLevel(Parameters->Parameters), Size4K); - Status = XtLdrProtocol->Memory.MapEfiMemory(&PageMap, &VirtualMemoryArea, NULLPTR); + Status = XtLdrProtocol->Memory.MapEfiMemory(&PageMap, &VirtualAddress, NULLPTR); if(Status != STATUS_EFI_SUCCESS) { return Status;