From 9c083dc05030840a59c6b2491f60e25728b77e46 Mon Sep 17 00:00:00 2001 From: belliash Date: Thu, 23 Feb 2023 00:44:21 +0100 Subject: [PATCH] Map zero page, like e820 does --- xtldr/amd64/memory.c | 3 +++ xtldr/i686/memory.c | 3 +++ 2 files changed, 6 insertions(+) diff --git a/xtldr/amd64/memory.c b/xtldr/amd64/memory.c index b77a0c9..64acabf 100644 --- a/xtldr/amd64/memory.c +++ b/xtldr/amd64/memory.c @@ -99,6 +99,9 @@ BlEnablePaging(IN PLIST_ENTRY MemoryMappings, ListEntry = ListEntry->Flink; } + /* Map zero page as well */ + BlMapVirtualMemory(MemoryMappings, 0, 0, 1, PtePointer); + /* Allocate and zero-fill buffer for EFI memory map */ BlEfiMemoryAllocatePool(sizeof(EFI_MEMORY_MAP), (PVOID*)&MemoryMap); RtlZeroMemory(MemoryMap, sizeof(EFI_MEMORY_MAP)); diff --git a/xtldr/i686/memory.c b/xtldr/i686/memory.c index dd67dc5..2ba4c3b 100644 --- a/xtldr/i686/memory.c +++ b/xtldr/i686/memory.c @@ -197,6 +197,9 @@ BlEnablePaging(IN PLIST_ENTRY MemoryMappings, ListEntry = ListEntry->Flink; } + /* Map zero page as well */ + BlMapVirtualMemory(MemoryMappings, 0, 0, 1, PtePointer); + /* Zero-fill buffer for EFI memory map */ RtlZeroMemory(MemoryMap, sizeof(EFI_MEMORY_MAP));