Page
| Member Type | Member Name |
|---|---|
uint8_t | phys_usable |
uint8_t | is_free |
uint8_t | order |
struct page | *next |
struct spinlock | lock |
| Member Type | Member Name |
|---|---|
pte_t | entries[512] |
static inline boolpage_pfn_free(uint64_t pfn)static inlinestruct page *page_for_pfn(uint64_t pfn)static inline uint64_tpage_get_pfn(struct page*bp)static inline boolpage_pfn_phys_usable(uint64_t pfn)
Defines
Section titled “Defines”PAGE_SIZE:4096ULLPAGE_2MB:0x200000PAGING_PRESENT:(0x1UL)PAGING_WRITE:(0x2UL)PAGING_USER_ALLOWED:(0x4UL)PAGING_ALL:0xFFFULPAGING_XD:(1UL << 63) // E(x)ecute (D)isablePAGING_PHYS_MASK:(0x00FFFFFFF000UL)PAGING_PAGE_SIZE:(1UL << 7)PAGING_UNCACHABLE:((1UL << 4) | PAGING_WRITE)PAGING_NO_FLAGS:(0)PAGING_WRITETHROUGH:(1UL << 3)PAGING_2MB_page:(1ULL << 7)PAGING_PAGEABLE:(0)PAGING_MOVABLE:(0)PAGING_2MB_PHYS_MASK:(~((uintptr_t) PAGE_2MB - 1))VMM_MAP_BASE:0xFFFFA00000200000VMM_MAP_LIMIT:0xFFFFA00010000000