Implement early page table mapping routines
Some checks failed
Builds / ExectOS (amd64, release) (push) Successful in 28s
Builds / ExectOS (amd64, debug) (push) Successful in 30s
Builds / ExectOS (i686, debug) (push) Failing after 21s
Builds / ExectOS (i686, release) (push) Failing after 20s

This commit is contained in:
2025-12-15 13:24:02 +01:00
parent 5cf3dfa844
commit 36c273ea13
4 changed files with 286 additions and 0 deletions

View File

@@ -18,5 +18,6 @@
#include <mm/kpool.hh>
#include <mm/mmgr.hh>
#include <mm/pfn.hh>
#include <mm/pte.hh>
#endif /* __XTOSKRNL_MM_HH */

View File

@@ -0,0 +1,39 @@
/**
* PROJECT: ExectOS
* COPYRIGHT: See COPYING.md in the top level directory
* FILE: xtoskrnl/includes/mm/pte.hh
* DESCRIPTION: Page table entry (PTE) support
* DEVELOPERS: Aiken Harris <harraiken91@gmail.com>
*/
#ifndef __XTOSKRNL_MM_PTE_HH
#define __XTOSKRNL_MM_PTE_HH
#include <xtos.hh>
/* Memory Manager */
namespace MM
{
class Pte
{
public:
STATIC XTAPI VOID MapP5E(PVOID StartAddress,
PVOID EndAddress,
PMMP5E TemplateP5e);
STATIC XTAPI VOID MapPDE(PVOID StartAddress,
PVOID EndAddress,
PMMPDE TemplatePde);
STATIC XTAPI VOID MapPPE(PVOID StartAddress,
PVOID EndAddress,
PMMPPE TemplatePpe);
STATIC XTAPI VOID MapPTE(PVOID StartAddress,
PVOID EndAddress,
PMMPTE TemplatePte);
STATIC XTAPI VOID MapPXE(PVOID StartAddress,
PVOID EndAddress,
PMMPXE TemplatePxe);
};
}
#endif /* __XTOSKRNL_MM_PTE_HH */