--- trunk/reactos/ntoskrnl/mm/i386/page.c 2005-08-16 15:47:38 UTC (rev 17413)
+++ trunk/reactos/ntoskrnl/mm/i386/page.c 2005-08-16 16:17:47 UTC (rev 17414)
@@ -411,17 +411,18 @@
{
ULONGLONG ZeroPde = 0LL;
ExfpInterlockedExchange64UL(PAE_ADDR_TO_PDE(Address), &ZeroPde);
+ MiFlushTlb((PULONG)PAE_ADDR_TO_PDE(Address), PAE_ADDR_TO_PTE(Address));
}
else
{
*(ADDR_TO_PDE(Address)) = 0;
+ MiFlushTlb(ADDR_TO_PDE(Address), ADDR_TO_PTE(Address));
}
if (Address >= MmSystemRangeStart)
{
KEBUGCHECK(0);
// MmGlobalKernelPageDirectory[ADDR_TO_PDE_OFFSET(Address)] = 0;
}
- MiFlushTlb(NULL, Address);
if (Process != NULL && Process != CurrentProcess)
{
KeDetachProcess();
@@ -455,6 +456,7 @@
}
Pfn = PAE_PTE_TO_PFN(*(PAE_ADDR_TO_PDE(Address)));
ExfpInterlockedExchange64UL(PAE_ADDR_TO_PDE(Address), &ZeroPte);
+ MiFlushTlb((PULONG)PAE_ADDR_TO_PDE(Address), PAE_ADDR_TO_PTE(Address));
}
else
{
@@ -471,8 +473,8 @@
}
Pfn = PTE_TO_PFN(*(ADDR_TO_PDE(Address)));
*(ADDR_TO_PDE(Address)) = 0;
+ MiFlushTlb(ADDR_TO_PDE(Address), ADDR_TO_PTE(Address));
}
- MiFlushTlb(NULL, Address);
if (Address >= MmSystemRangeStart)
{