[FREELDR]

Hey Arch, hyperspace is not the page table range!
Rename HYPER_SPACE_ENTRY to SELFMAP_ENTRY.

svn path=/trunk/; revision=67467
This commit is contained in:
Timo Kreuzer 2015-04-28 21:25:43 +00:00
parent 1eea6a990f
commit a2e4378502
2 changed files with 6 additions and 8 deletions

View file

@ -15,8 +15,6 @@
//extern ULONG LoaderPagesSpanned;
#define HYPER_SPACE_ENTRY 0x1EE
DBG_DEFAULT_CHANNEL(WINDOWS);
/* GLOBALS ***************************************************************/

View file

@ -17,7 +17,7 @@
#undef KIP0PCRADDRESS
#define KIP0PCRADDRESS 0xffdff000
#define HYPER_SPACE_ENTRY 0x300
#define SELFMAP_ENTRY 0x300
// This is needed only for SetProcessorContext routine
#pragma pack(2)
@ -93,9 +93,9 @@ MempAllocatePageTables()
PDE = (PHARDWARE_PTE)Buffer;
// Map the page directory at 0xC0000000 (maps itself)
PDE[HYPER_SPACE_ENTRY].PageFrameNumber = (ULONG)PDE >> MM_PAGE_SHIFT;
PDE[HYPER_SPACE_ENTRY].Valid = 1;
PDE[HYPER_SPACE_ENTRY].Write = 1;
PDE[SELFMAP_ENTRY].PageFrameNumber = (ULONG)PDE >> MM_PAGE_SHIFT;
PDE[SELFMAP_ENTRY].Valid = 1;
PDE[SELFMAP_ENTRY].Write = 1;
// The last PDE slot is allocated for HAL's memory mapping (Virtual Addresses 0xFFC00000 - 0xFFFFFFFF)
HalPageTable = (PHARDWARE_PTE)&Buffer[MM_PAGE_SIZE*1];
@ -204,8 +204,8 @@ MempUnmapPage(PFN_NUMBER Page)
PHARDWARE_PTE KernelPT;
PFN_NUMBER Entry = (Page >> 10) + (KSEG0_BASE >> 22);
/* Don't unmap hyperspace or HAL entries */
if (Entry == HYPER_SPACE_ENTRY || Entry == 1023)
/* Don't unmap page directory or HAL entries */
if (Entry == SELFMAP_ENTRY || Entry == 1023)
return;
if (PDE[Entry].Valid)