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
*/
#ifndef CONFIG_SMP
/* In SMP mode we unmap the low memory in MmInit3.
#ifdef CONFIG_SMP
/* In SMP mode we unmap the low memory pagetable in MmInit3.
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);
#endif