Refactor MMU for multi-paging support and add 5-Level paging #16
@ -92,6 +92,17 @@ typedef struct _HARDWARE_PTE
|
||||
ULONGLONG NoExecute:1;
|
||||
} HARDWARE_PTE, *PHARDWARE_PTE;
|
||||
|
||||
/* Page map information structure definition */
|
||||
typedef struct _MMPAGEMAP_INFO
|
||||
{
|
||||
BOOLEAN Xpa;
|
||||
ULONGLONG PteBase;
|
||||
ULONGLONG PdeBase;
|
||||
ULONGLONG PpeBase;
|
||||
ULONGLONG PxeBase;
|
||||
ULONGLONG P5eBase;
|
||||
} MMPAGEMAP_INFO, *PMMPAGEMAP_INFO;
|
||||
|
||||
/* A Page Table Entry on AMD64 system */
|
||||
typedef struct _MMPTE_HARDWARE
|
||||
{
|
||||
|
@ -51,6 +51,7 @@ typedef struct _KSWITCH_FRAME KSWITCH_FRAME, *PKSWITCH_FRAME;
|
||||
typedef struct _KTHREAD_INIT_FRAME KTHREAD_INIT_FRAME, *PKTHREAD_INIT_FRAME;
|
||||
typedef struct _KTRAP_FRAME KTRAP_FRAME, *PKTRAP_FRAME;
|
||||
typedef struct _KTSS KTSS, *PKTSS;
|
||||
typedef struct _MMPAGEMAP_INFO MMPAGEMAP_INFO, *PMMPAGEMAP_INFO;
|
||||
typedef struct _MMPFN MMPFN, *PMMPFN;
|
||||
typedef struct _MMPTE_HARDWARE MMPTE_HARDWARE, *PMMPTE_HARDWARE;
|
||||
typedef struct _MMPTE_HARDWARE_LARGEPAGE MMPTE_HARDWARE_LARGEPAGE, *PMMPTE_HARDWARE_LARGEPAGE;
|
||||
|
@ -113,6 +113,7 @@ typedef union _HARDWARE_PTE
|
||||
typedef struct _MMPAGEMAP_INFO
|
||||
{
|
||||
BOOLEAN Xpa;
|
||||
ULONG PteBase;
|
||||
ULONG PdeBase;
|
||||
ULONG PdiShift;
|
||||
ULONG PteShift;
|
||||
|
@ -55,6 +55,7 @@ typedef struct _KSWITCH_FRAME KSWITCH_FRAME, *PKSWITCH_FRAME;
|
||||
typedef struct _KTHREAD_INIT_FRAME KTHREAD_INIT_FRAME, *PKTHREAD_INIT_FRAME;
|
||||
typedef struct _KTRAP_FRAME KTRAP_FRAME, *PKTRAP_FRAME;
|
||||
typedef struct _KTSS KTSS, *PKTSS;
|
||||
typedef struct _MMPAGEMAP_INFO MMPAGEMAP_INFO, *PMMPAGEMAP_INFO;
|
||||
typedef struct _MMPFN MMPFN, *PMMPFN;
|
||||
typedef struct _MMPML2_PTE_HARDWARE MMPML2_PTE_HARDWARE, *PMMPML2_PTE_HARDWARE;
|
||||
typedef struct _MMPML2_PTE_LIST MMPML2_PTE_LIST, *PMMPML2_PTE_LIST;
|
||||
|
Loading…
x
Reference in New Issue
Block a user