The page directory is double mapped on x86 in the system process, so writing to it will already write to the PDE.
(PMMPTE)PointerPde,
PFN_FROM_PTE(MiAddressToPte(PointerPde)));
+ /* Write the actual PDE now */
+ MI_WRITE_VALID_PDE(PointerPde, TempPde);
#else
//
// Save it into our double-buffered system page directory
MmSystemPageDirectory[(PointerPde - MiAddressToPde(NULL)) / PDE_COUNT]);
#endif
- /* Write the actual PDE now */
- MI_WRITE_VALID_PDE(PointerPde, TempPde);
-
//
// Move on to the next expansion address
//