On smp machines, unmap all low memory pages (except page 2 and 3).

svn path=/trunk/; revision=14100
This commit is contained in:
Hartmut Birr 2005-03-15 17:38:54 +00:00
parent 2423a80b6b
commit e035ce116b

View file

@ -386,10 +386,22 @@ MmInit1(ULONG_PTR FirstKrnlPhysAddr,
/* /*
* Unmap low memory * Unmap low memory
*/ */
#ifndef CONFIG_SMP #ifdef CONFIG_SMP
/* In SMP mode we unmap the low memory in MmInit3. /* In SMP mode we unmap the low memory pagetable in MmInit3.
The APIC needs the mapping of the first pages The APIC needs the mapping of the first pages
while the processors are starting up. */ while the processors are starting up.
We unmap all pages except page 2 and 3. */
for (MappingAddress = 0;
MappingAddress < 1024 * PAGE_SIZE;
MappingAddress += PAGE_SIZE)
{
if (MappingAddress != 2 * PAGE_SIZE &&
MappingAddress != 3 * PAGE_SIZE)
{
MmRawDeleteVirtualMapping((PVOID)MappingAddress);
}
}
#else
MmDeletePageTable(NULL, 0); MmDeletePageTable(NULL, 0);
#endif #endif