Lines Matching +full:page +full:- +full:level
1 /*-
3 * Copyright (c) 2014-2015 The FreeBSD Foundation
39 typedef uint64_t pd_entry_t; /* page directory entry */
40 typedef uint64_t pt_entry_t; /* page table entry */
52 /* Block and Page attributes */
88 #define ATTR_SH_NS 0 /* Non-shareable */
89 #define ATTR_SH_OS 2 /* Outer-shareable */
90 #define ATTR_SH_IS 3 /* Inner-shareable */
138 #error Unsupported page size
141 /* Level 0 table, 512GiB/128TiB per entry */
143 #define L0_OFFSET (L0_SIZE - 1ul)
145 /* 0x1 Level 0 doesn't support block translation */
147 #define L0_TABLE 0x3 /* A next-level table */
149 /* Level 1 table, 1GiB/64GiB per entry */
151 #define L1_OFFSET (L1_SIZE - 1)
156 /* Level 2 table, 2MiB/32MiB per entry */
158 #define L2_OFFSET (L2_SIZE - 1)
163 /* Level 3 table, 4KiB/16KiB per entry */
165 #define L3_OFFSET (L3_SIZE - 1)
173 * framebuffers in early boot, assuming a common 4K resolution @ 32-bit depth.
184 #error Unsupported page size
188 #define L0_ADDR_MASK (L0_ENTRIES - 1)
191 #define Ln_ADDR_MASK (Ln_ENTRIES - 1)
192 #define Ln_TABLE_MASK ((1 << 12) - 1)
195 * The number of contiguous Level 3 entries (with ATTR_CONTIGUOUS set) that
205 #error Unsupported page size
209 #define L2C_OFFSET (L2C_SIZE - 1)
212 #define L3C_OFFSET (L3C_SIZE - 1)