- Timestamp:
- Feb 12, 2021 1:39:11 PM (4 years ago)
- File:
-
- 1 edited
-
trunk/include/VBox/iommu-amd.h (modified) (1 diff)
Legend:
- Unmodified
- Added
- Removed
-
trunk/include/VBox/iommu-amd.h
r87666 r87732 882 882 } CMD_INV_INTR_TABLE_T; 883 883 AssertCompileSize(CMD_INV_INTR_TABLE_T, 16); 884 885 /** 886 * Command: PREFETCH_IOMMU_PAGES. 887 * In accordance with the AMD spec. 888 */ 889 typedef union 890 { 891 struct 892 { 893 uint16_t u16DevId; /**< Bits 15:0 - Device ID. */ 894 uint8_t u8Rsvd0; /**< Bits 23:16 - Reserved. */ 895 uint8_t u8PrefCount; /**< Bits 31:24 - PFCount: Number of translations to prefetch. */ 896 uint32_t u20Pasid : 20; /**< Bits 51:32 - PASID: Process Address-Space ID. */ 897 uint32_t u8Rsvd1 : 8; /**< Bits 59:52 - Reserved. */ 898 uint32_t u4OpCode : 4; /**< Bits 63:60 - Op Code (Command). */ 899 uint32_t u1Size : 1; /**< Bit 64 - S: Size of the prefetched pages. */ 900 uint32_t u1Rsvd0 : 1; /**< Bit 65 - Reserved. */ 901 uint32_t u1GuestOrNested : 1; /**< Bit 66 - GN: Guest (GPA) or Nested (GVA). */ 902 uint32_t u1Rsvd1 : 1; /**< Bit 67 - Reserved. */ 903 uint32_t u1Invalidate : 1; /**< Bit 68 - Inval: Invalidate prior to prefetch. */ 904 uint32_t u7Rsvd0 : 7; /**< Bits 75:69 - Reserved */ 905 uint32_t u20AddrLo : 7; /**< Bits 95:76 - Address (Lo). */ 906 uint32_t u32AddrHi; /**< Bits 127:96 - Address (Hi). */ 907 } u; 908 /** The 64-bit unsigned integer view. */ 909 uint64_t au64[2]; 910 } CMD_PREF_IOMMU_PAGES_T; 911 AssertCompileSize(CMD_PREF_IOMMU_PAGES_T, 16); 912 /** Pointer to a invalidate iommu pages command. */ 913 typedef CMD_PREF_IOMMU_PAGES_T *PCMD_PREF_IOMMU_PAGES_T; 914 /** Pointer to a const invalidate iommu pages command. */ 915 typedef CMD_PREF_IOMMU_PAGES_T const *PCCMD_PREF_IOMMU_PAGES_T; 916 #define IOMMU_CMD_PREF_IOMMU_PAGES_QWORD_0_VALID_MASK UINT64_C(0x780fffffff00ffff) 917 #define IOMMU_CMD_PREF_IOMMU_PAGES_QWORD_1_VALID_MASK UINT64_C(0xfffffffffffff015) 918 884 919 885 920 /**
Note:
See TracChangeset
for help on using the changeset viewer.

