[MM:AMD64] Remove the _WINKD_ around MmDebugPte since it's now used by both kd64...
[reactos.git] / ntoskrnl / mm / amd64 / init.c
index f8d820a..0f6ae0e 100644 (file)
@@ -16,9 +16,7 @@
 
 #include <mm/ARM3/miarm.h>
 
-#ifdef _WINKD_
 extern PMMPTE MmDebugPte;
-#endif
 
 /* Helper macros */
 #define IS_ALIGNED(addr, align) (((ULONG64)(addr) & (align - 1)) == 0)
@@ -203,9 +201,6 @@ MiInitializePageTable(VOID)
     __writecr4(__readcr4() | CR4_PGE);
     ASSERT(__readcr4() & CR4_PGE);
 
-    /* Enable no execute */
-    __writemsr(X86_MSR_EFER, __readmsr(X86_MSR_EFER) | EFER_NXE);
-
     /* Loop the user mode PXEs */
     for (PointerPxe = MiAddressToPxe(0);
          PointerPxe <= MiAddressToPxe(MmHighestUserAddress);
@@ -261,12 +256,10 @@ MiInitializePageTable(VOID)
     MmLastReservedMappingPte = MiAddressToPte((PVOID)MI_MAPPING_RANGE_END);
     MmFirstReservedMappingPte->u.Hard.PageFrameNumber = MI_HYPERSPACE_PTES;
 
-#ifdef _WINKD_
     /* Setup debug mapping PTE */
     MiMapPPEs((PVOID)MI_DEBUG_MAPPING, (PVOID)MI_DEBUG_MAPPING);
     MiMapPDEs((PVOID)MI_DEBUG_MAPPING, (PVOID)MI_DEBUG_MAPPING);
     MmDebugPte = MiAddressToPte((PVOID)MI_DEBUG_MAPPING);
-#endif
 
     /* Setup PDE and PTEs for VAD bitmap and working set list */
     MiMapPDEs((PVOID)MI_VAD_BITMAP, (PVOID)(MI_WORKING_SET_LIST + PAGE_SIZE - 1));
@@ -613,9 +606,9 @@ MiBuildPfnDatabase(IN PLOADER_PARAMETER_BLOCK LoaderBlock)
 
     /* Map the PDEs and PPEs for the pfn database (ignore holes) */
 #if (_MI_PAGING_LEVELS >= 3)
-    MiMapPPEs(MmPfnDatabase, (PUCHAR)MmPfnDatabase + MxPfnAllocation - 1);
+    MiMapPPEs(MmPfnDatabase, (PUCHAR)MmPfnDatabase + (MxPfnAllocation * PAGE_SIZE) - 1);
 #endif
-    MiMapPDEs(MmPfnDatabase, (PUCHAR)MmPfnDatabase + MxPfnAllocation - 1);
+    MiMapPDEs(MmPfnDatabase, (PUCHAR)MmPfnDatabase + (MxPfnAllocation * PAGE_SIZE) - 1);
 
     /* First initialize the color tables */
     MiInitializeColorTables();