Assign page map routines
Einige Prüfungen sind fehlgeschlagen
Builds / ExectOS (i686, release) (push) Failing after 21s
Builds / ExectOS (i686, debug) (push) Failing after 21s
Builds / ExectOS (amd64, debug) (push) Successful in 38s
Builds / ExectOS (amd64, release) (push) Successful in 37s

Dieser Commit ist enthalten in:
2025-08-17 00:29:28 +02:00
Ursprung f77f2bbf92
Commit 720d525b95
2 geänderte Dateien mit 14 neuen und 0 gelöschten Zeilen

Datei anzeigen

@@ -4,6 +4,7 @@
* FILE: xtoskrnl/mm/amd64/init.c * FILE: xtoskrnl/mm/amd64/init.c
* DESCRIPTION: Architecture specific Memory Manager initialization routines * DESCRIPTION: Architecture specific Memory Manager initialization routines
* DEVELOPERS: Rafal Kupiec <belliash@codingworkshop.eu.org> * DEVELOPERS: Rafal Kupiec <belliash@codingworkshop.eu.org>
* Aiken Harris <harraiken91@gmail.com>
*/ */
#include <xtos.h> #include <xtos.h>
@@ -23,6 +24,9 @@ MmInitializePageMapSupport(VOID)
/* Check if XPA is enabled */ /* Check if XPA is enabled */
if(MmpGetExtendedPhysicalAddressingStatus()) if(MmpGetExtendedPhysicalAddressingStatus())
{ {
/* XPA enabled, use LA57 paging (PML5) */
MmpPageMapRoutines = &MmpPml5Routines;
/* Set PML5 page map information */ /* Set PML5 page map information */
MmpPageMapInfo.Xpa = TRUE; MmpPageMapInfo.Xpa = TRUE;
@@ -35,6 +39,9 @@ MmInitializePageMapSupport(VOID)
} }
else else
{ {
/* XPA disabled, use LA48 paging (PML4) */
MmpPageMapRoutines = &MmpPml4Routines;
/* Set PML4 page map information */ /* Set PML4 page map information */
MmpPageMapInfo.Xpa = FALSE; MmpPageMapInfo.Xpa = FALSE;

Datei anzeigen

@@ -4,6 +4,7 @@
* FILE: xtoskrnl/mm/i686/init.c * FILE: xtoskrnl/mm/i686/init.c
* DESCRIPTION: Architecture specific Memory Manager initialization routines * DESCRIPTION: Architecture specific Memory Manager initialization routines
* DEVELOPERS: Rafal Kupiec <belliash@codingworkshop.eu.org> * DEVELOPERS: Rafal Kupiec <belliash@codingworkshop.eu.org>
* Aiken Harris <harraiken91@gmail.com>
*/ */
#include <xtos.h> #include <xtos.h>
@@ -23,6 +24,9 @@ MmInitializePageMapSupport(VOID)
/* Check if XPA is enabled */ /* Check if XPA is enabled */
if(MmpGetExtendedPhysicalAddressingStatus()) if(MmpGetExtendedPhysicalAddressingStatus())
{ {
/* XPA enabled, use modern PAE paging (PML3) */
MmpPageMapRoutines = &MmpPml3Routines;
/* Set PML3 page map information */ /* Set PML3 page map information */
MmpPageMapInfo.Xpa = TRUE; MmpPageMapInfo.Xpa = TRUE;
@@ -36,6 +40,9 @@ MmInitializePageMapSupport(VOID)
} }
else else
{ {
/* XPA disabled, use legacy i386 paging (PML2) */
MmpPageMapRoutines = &MmpPml2Routines;
/* Set PML2 page map information */ /* Set PML2 page map information */
MmpPageMapInfo.Xpa = FALSE; MmpPageMapInfo.Xpa = FALSE;