Implement MmpGetPdeAddress() and MmpGetPteAddress() routines for i686 architecture as well as MmpMemoryExtensionEnabled() for checking PAE/LA57 support

This commit is contained in:
2024-05-22 22:47:28 +02:00
parent 4db5425238
commit 609538b9be
10 changed files with 154 additions and 3 deletions

View File

@@ -18,18 +18,23 @@
#define MM_PAGE_SHIFT 12L
#define MM_PAGE_SIZE 4096
/* Page directory and page base addresses */
#define MM_PTE_BASE 0xFFFFF68000000000UI64
#define MM_PDE_BASE 0xFFFFF6FB40000000UI64
#define MM_PPE_BASE 0xFFFFF6FB7DA00000UI64
#define MM_PXE_BASE 0xFFFFF6FB7DBED000UI64
/* PTE shift values */
#define MM_PTE_SHIFT 3
#define MM_PTI_SHIFT 12
#define MM_PDI_SHIFT 21
#define MM_PPI_SHIFT 30
#define MM_PXI_SHIFT 39
#define MM_PTE_SHIFT 3
/* Number of PTEs per page */
#define MM_PTE_PER_PAGE 512
#define MM_PDE_PER_PAGE 512
#define MM_PPE_PER_PAGE 512
#define MM_PXE_PER_PAGE 512
/* Minimum number of physical pages needed by the system */

View File

@@ -18,6 +18,20 @@
#define MM_PAGE_SHIFT 12
#define MM_PAGE_SIZE 4096
/* Page directory and page base addresses */
#define MM_PTE_BASE 0xC0000000
#define MM_PDE_BASE 0xC0300000
#define MM_PDE_PAE_BASE 0xC0600000
/* PTE shift values */
#define MM_PTE_SHIFT 2
#define MM_PTI_SHIFT 12
#define MM_PDI_SHIFT 22
#define MM_PPI_SHIFT 0
#define MM_PTE_PAE_SHIFT 3
#define MM_PDI_PAE_SHIFT 21
#define MM_PPI_PAE_SHIFT 30
/* Minimum number of physical pages needed by the system */
#define MM_MINIMUM_PHYSICAL_PAGES 1100