Update PTE support to use safe write accessors
All checks were successful
Builds / ExectOS (i686, debug) (push) Successful in 28s
Builds / ExectOS (amd64, debug) (push) Successful in 24s
Builds / ExectOS (amd64, release) (push) Successful in 38s
Builds / ExectOS (i686, release) (push) Successful in 37s

This commit is contained in:
2025-12-28 23:39:08 +01:00
parent 04599161da
commit d891088b1a

View File

@@ -2,7 +2,7 @@
* PROJECT: ExectOS
* COPYRIGHT: See COPYING.md in the top level directory
* FILE: xtoskrnl/mm/pte.cc
* DESCRIPTION: Page table entry (PTE) support
* DESCRIPTION: Page Table Entry (PTE) support
* DEVELOPERS: Aiken Harris <harraiken91@gmail.com>
*/
@@ -235,10 +235,10 @@ MM::Pte::MapPDE(PVOID StartAddress,
{
/* Map PDE */
MM::Paging::SetPte(TemplatePde, MM::Pfn::AllocateBootstrapPages(1), 0);
*PointerPde = *TemplatePde;
MM::Paging::WritePte(PointerPde, *TemplatePde);
/* Clear the page table */
RtlZeroMemory(MM::Paging::GetPteVirtualAddress(PointerPde), MM_PAGE_SIZE);
RTL::Memory::ZeroMemory(MM::Paging::GetPteVirtualAddress(PointerPde), MM_PAGE_SIZE);
}
/* Get next table entry */
@@ -282,10 +282,10 @@ MM::Pte::MapPTE(PVOID StartAddress,
{
/* Map PTE */
MM::Paging::SetPte(TemplatePte, MM::Pfn::AllocateBootstrapPages(1), 0);
*PointerPte = *TemplatePte;
MM::Paging::WritePte(PointerPte, *TemplatePte);
/* Clear the page table */
RtlZeroMemory(MM::Paging::GetPteVirtualAddress(PointerPte), MM_PAGE_SIZE);
RTL::Memory::ZeroMemory(MM::Paging::GetPteVirtualAddress(PointerPte), MM_PAGE_SIZE);
}
/* Get next table entry */