mirror of
https://github.com/reactos/reactos.git
synced 2025-08-05 21:32:56 +00:00
On smp machines, unmap all low memory pages (except page 2 and 3).
svn path=/trunk/; revision=14100
This commit is contained in:
parent
2423a80b6b
commit
e035ce116b
1 changed files with 15 additions and 3 deletions
|
@ -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
|
||||||
|
|
||||||
|
|
Loading…
Add table
Add a link
Reference in a new issue