[freeldr] Never unmap hyperspace or HAL entries. Fixes boot problems with more than...
authorHervé Poussineau <hpoussin@reactos.org>
Tue, 29 Dec 2009 20:43:01 +0000 (20:43 +0000)
committerHervé Poussineau <hpoussin@reactos.org>
Tue, 29 Dec 2009 20:43:01 +0000 (20:43 +0000)
svn path=/trunk/; revision=44805

reactos/boot/freeldr/freeldr/windows/i386/wlmemory.c

index 96a1d84..5bbec88 100644 (file)
@@ -208,6 +208,10 @@ MempUnmapPage(ULONG Page)
     PHARDWARE_PTE KernelPT;
     ULONG Entry = (Page >> 10) + (KSEG0_BASE >> 22);
 
+    /* Don't unmap hyperspace or HAL entries */
+    if (Entry == HYPER_SPACE_ENTRY || Entry == 1023)
+        return;
+
     if (PDE[Entry].Valid)
     {
         KernelPT = (PHARDWARE_PTE)(PDE[Entry].PageFrameNumber << MM_PAGE_SHIFT);