36#define PAGE_TABLE_ENTRY_PRESENT (1UL << 0)
37#define PAGE_TABLE_ENTRY_BLOCK (0UL << 1)
38#define PAGE_TABLE_ENTRY_PAGE (1UL << 1)
39#define PAGE_TABLE_ENTRY_AF (1UL << 10)
40#define PAGE_TABLE_ENTRY_SH (3UL << 8)
41#define PAGE_TABLE_ENTRY_SH_NONE (0UL << 8)
42#define PAGE_TABLE_ENTRY_AP_RW (0UL << 6)
43#define PAGE_TABLE_ENTRY_MEMATTR (1UL << 2)
44#define PAGE_TABLE_ENTRY_PXN (1UL << 53)
45#define PAGE_TABLE_ENTRY_UXN (1UL << 54)
46#define PAGE_TABLE_ENTRY_DEVICE (0ULL << 2)
48#define PAGE_FLAGS (PAGE_TABLE_ENTRY_PRESENT | PAGE_TABLE_ENTRY_PAGE | PAGE_TABLE_ENTRY_AF | \
49PAGE_TABLE_ENTRY_SH | PAGE_TABLE_ENTRY_AP_RW | PAGE_TABLE_ENTRY_MEMATTR);
void XEPagingInitialize()
Definition paging.cpp:82
void XEMapMMIO(uint64_t *l1_table, uint64_t va, uint64_t pa)
Definition paging.cpp:69
void XEPagingCopy()
Definition paging.cpp:199
bool XEPagingMap(void *vaddr, paddr_t paddr, size_t length, size_t attributes)
Definition paging.cpp:381
COMPILER_DEPENDENT_UINT64 uint64_t
Definition acefiex.h:165