Changeset 108762 in vbox for trunk/include
- Timestamp:
- Mar 27, 2025 10:16:28 AM (4 weeks ago)
- svn:sync-xref-src-repo-rev:
- 168189
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
trunk/include/VBox/gic-its.h
r108751 r108762 1 1 /** @file 2 * ARMv8 G eneric Interrupt Controller (GIC)Interrupt Translation Service (ITS) definitions.2 * ARMv8 GIC Interrupt Translation Service (ITS) definitions. 3 3 */ 4 4 … … 41 41 42 42 #include <iprt/types.h> 43 #include <iprt/a rmv8.h>43 #include <iprt/assertcompile.h> 44 44 45 45 /** Size of the ITS register frame. */ … … 200 200 #define GITS_CTRL_REG_CREADR_OFF 0x0090 201 201 202 /** GITS_BASER: ITS Table Descriptors - RW. */ 202 203 #define GITS_CTRL_REG_BASER_OFF_FIRST 0x0100 204 /** GITS_BASER: Size - Number of pages allocated to the table minus one. */ 205 #define GITS_BF_CTRL_REG_BASER_SIZE_SHIFT 0 206 #define GITS_BF_CTRL_REG_BASER_SIZE_MASK UINT64_C(0x00000000000000ff) 207 /** GITS_BASER: Page_Size - Size of the page that the table uses. */ 208 #define GITS_BF_CTRL_REG_BASER_PAGESIZE_SHIFT 8 209 #define GITS_BF_CTRL_REG_BASER_PAGESIZE_MASK UINT64_C(0x0000000000000300) 210 /** GITS_BASER: Shareability attributes of the table. */ 211 #define GITS_BF_CTRL_REG_BASER_SHAREABILITY_SHIFT 10 212 #define GITS_BF_CTRL_REG_BASER_SHAREABILITY_MASK UINT64_C(0x0000000000000c00) 213 /** GITS_BASER: Physical_Address - Physical address of the table. */ 214 #define GITS_BF_CTRL_REG_BASER_PHYS_ADDR_SHIFT 12 215 #define GITS_BF_CTRL_REG_BASER_PHYS_ADDR_MASK UINT64_C(0x0000fffffffff000) 216 /** GITS_BASER: Entry_Size - Size of each table entry minus one in bytes. */ 217 #define GITS_BF_CTRL_REG_BASER_ENTRY_SIZE_SHIFT 48 218 #define GITS_BF_CTRL_REG_BASER_ENTRY_SIZE_MASK UINT64_C(0x001f000000000000) 219 /** GITS_BASER: OuterCache - Outer cacheability attributes of the table. */ 220 #define GITS_BF_CTRL_REG_BASER_OUTER_CACHE_SHIFT 53 221 #define GITS_BF_CTRL_REG_BASER_OUTER_CACHE_MASK UINT64_C(0x00e0000000000000) 222 /** GITS_BASER: Type - The type of entity. */ 223 #define GITS_BF_CTRL_REG_BASER_TYPE_SHIFT 56 224 #define GITS_BF_CTRL_REG_BASER_TYPE_MASK UINT64_C(0x0700000000000000) 225 /** GITS_BASER: InnerCache - Inner cacheability attribtues of the table. */ 226 #define GITS_BF_CTRL_REG_BASER_INNER_CACHE_SHIFT 59 227 #define GITS_BF_CTRL_REG_BASER_INNER_CACHE_MASK UINT64_C(0x3800000000000000) 228 /** GITS_BASER: Indirect - Whether this is a single or two-level table. */ 229 #define GITS_BF_CTRL_REG_BASER_INDIRECT_SHIFT 62 230 #define GITS_BF_CTRL_REG_BASER_INDIRECT_MASK UINT64_C(0x4000000000000000) 231 /** GITS_BASER: Valid - Whether memory has been allocated for the table. */ 232 #define GITS_BF_CTRL_REG_BASER_VALID_SHIFT 63 233 #define GITS_BF_CTRL_REG_BASER_VALID_MASK UINT64_C(0x8000000000000000) 234 /* Sigh C macros... "PAGE_SIZE" is already defined here, just use "PAGESIZE" instead of temporarily undef, redef. */ 235 RT_BF_ASSERT_COMPILE_CHECKS(GITS_BF_CTRL_REG_BASER_, UINT64_C(0), UINT64_MAX, 236 (SIZE, PAGESIZE, SHAREABILITY, PHYS_ADDR, ENTRY_SIZE, OUTER_CACHE, TYPE, INNER_CACHE, INDIRECT, 237 VALID)); 238 203 239 #define GITS_CTRL_REG_BASER_OFF_LAST 0x0138 204 240 #define GITS_CTRL_REG_BASER_RANGE_SIZE (GITS_CTRL_REG_BASER_OFF_LAST + sizeof(uint64_t) - GITS_CTRL_REG_BASER_OFF_FIRST)
Note:
See TracChangeset
for help on using the changeset viewer.