mirror of
https://github.com/RGBCube/serenity
synced 2025-05-31 02:58:12 +00:00
Add missing TLB flushes.
This commit is contained in:
parent
77821da42f
commit
d133a2845f
1 changed files with 3 additions and 0 deletions
|
@ -93,6 +93,7 @@ void MemoryManager::protectMap(LinearAddress linearAddress, size_t length)
|
||||||
pte.setPresent(false);
|
pte.setPresent(false);
|
||||||
pte.setWritable(false);
|
pte.setWritable(false);
|
||||||
}
|
}
|
||||||
|
flushTLB();
|
||||||
}
|
}
|
||||||
|
|
||||||
void MemoryManager::identityMap(LinearAddress linearAddress, size_t length)
|
void MemoryManager::identityMap(LinearAddress linearAddress, size_t length)
|
||||||
|
@ -106,6 +107,7 @@ void MemoryManager::identityMap(LinearAddress linearAddress, size_t length)
|
||||||
pte.setPresent(true);
|
pte.setPresent(true);
|
||||||
pte.setWritable(true);
|
pte.setWritable(true);
|
||||||
}
|
}
|
||||||
|
flushTLB();
|
||||||
}
|
}
|
||||||
|
|
||||||
void MemoryManager::initialize()
|
void MemoryManager::initialize()
|
||||||
|
@ -153,6 +155,7 @@ byte* MemoryManager::quickMapOnePage(PhysicalAddress physicalAddress)
|
||||||
pte.setPhysicalPageBase(physicalAddress.pageBase());
|
pte.setPhysicalPageBase(physicalAddress.pageBase());
|
||||||
pte.setPresent(true);
|
pte.setPresent(true);
|
||||||
pte.setWritable(true);
|
pte.setWritable(true);
|
||||||
|
flushTLB();
|
||||||
return (byte*)(4 * MB);
|
return (byte*)(4 * MB);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
Loading…
Add table
Add a link
Reference in a new issue