Changeset 88265 in vbox for trunk/include/VBox
- Timestamp:
- Mar 24, 2021 6:24:50 AM (4 years ago)
- svn:sync-xref-src-repo-rev:
- 143470
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
trunk/include/VBox/iommu-intel.h
r88257 r88265 36 36 /** 37 37 * @name MMIO register offsets. 38 * In accordance with the AMDspec.38 * In accordance with the Intel spec. 39 39 * @{ 40 40 */ … … 685 685 686 686 /** @name Version Register (VER_REG). 687 * In accordance with the Intel spec. 687 688 * @{ */ 688 689 /** Min: Minor Version Number. */ … … 703 704 704 705 /** @name Capability Register (CAP_REG). 706 * In accordance with the Intel spec. 705 707 * @{ */ 706 708 /** ND: Number of domains supported. */ … … 786 788 787 789 /** @name Extended Capability Register (ECAP_REG). 790 * In accordance with the Intel spec. 788 791 * @{ */ 789 792 /** C: Page-walk Coherence. */ … … 900 903 901 904 /** @name Global Command Register (GCMD_REG). 905 * In accordance with the Intel spec. 902 906 * @{ */ 903 907 /** R: Reserved (bits 22:0). */ … … 940 944 941 945 /** @name Global Status Register (GSTS_REG). 946 * In accordance with the Intel spec. 942 947 * @{ */ 943 948 /** R: Reserved (bits 22:0). */ … … 980 985 981 986 /** @name Root Table Address Register (RTADDR_REG). 987 * In accordance with the Intel spec. 982 988 * @{ */ 983 989 /** R: Reserved (bits 9:0). */ … … 999 1005 1000 1006 /** @name Context Command Register (CCMD_REG). 1007 * In accordance with the Intel spec. 1001 1008 * @{ */ 1002 1009 /** DID: Domain-ID. */ … … 1032 1039 1033 1040 /** @name IOTLB Invalidation Register (IOTLB_REG). 1041 * In accordance with the Intel spec. 1034 1042 * @{ */ 1035 1043 /** R: Reserved (bits 31:0). */ … … 1074 1082 1075 1083 /** @name Invalidate Address Register (IVA_REG). 1084 * In accordance with the Intel spec. 1076 1085 * @{ */ 1077 1086 /** AM: Address Mask. */ … … 1097 1106 1098 1107 /** @name Fault Status Register (FSTS_REG). 1108 * In accordance with the Intel spec. 1099 1109 * @{ */ 1100 1110 /** PFO: Primary Fault Overflow. */ … … 1143 1153 1144 1154 /** @name Fault Event Control Register (FECTL_REG). 1155 * In accordance with the Intel spec. 1145 1156 * @{ */ 1146 1157 /** R: Reserved (bits 29:0). */ … … 1162 1173 1163 1174 /** @name Fault Event Data Register (FEDATA_REG). 1175 * In accordance with the Intel spec. 1164 1176 * @{ */ 1165 1177 /** IMD: Interrupt Message Data. */ … … 1178 1190 1179 1191 /** @name Fault Event Address Register (FEADDR_REG). 1192 * In accordance with the Intel spec. 1180 1193 * @{ */ 1181 1194 /** R: Reserved (bits 1:0). */ … … 1194 1207 1195 1208 /** @name Fault Event Upper Address Register (FEUADDR_REG). 1209 * In accordance with the Intel spec. 1196 1210 * @{ */ 1197 1211 /** MUA: Message Upper Address. */ … … 1205 1219 1206 1220 /** @name Fault Recording Register (FRCD_REG). 1221 * In accordance with the Intel spec. 1207 1222 * @{ */ 1208 1223 /** R: Reserved (bits 11:0). */ … … 1261 1276 1262 1277 /** @name Advanced Fault Log Register (AFLOG_REG). 1278 * In accordance with the Intel spec. 1263 1279 * @{ */ 1264 1280 /** R: Reserved (bits 8:0). */ … … 1280 1296 1281 1297 /** @name Protected Memory Enable Register (PMEN_REG). 1298 * In accordance with the Intel spec. 1282 1299 * @{ */ 1283 1300 /** PRS: Protected Region Status. */ … … 1299 1316 1300 1317 /** @name Invalidation Queue Head Register (IQH_REG). 1318 * In accordance with the Intel spec. 1301 1319 * @{ */ 1302 1320 /** R: Reserved (bits 3:0). */ … … 1318 1336 1319 1337 /** @name Invalidation Queue Tail Register (IQT_REG). 1338 * In accordance with the Intel spec. 1320 1339 * @{ */ 1321 1340 /** R: Reserved (bits 3:0). */ … … 1337 1356 1338 1357 /** @name Invalidation Queue Address Register (IQA_REG). 1358 * In accordance with the Intel spec. 1339 1359 * @{ */ 1340 1360 /** QS: Queue Size. */ … … 1360 1380 1361 1381 /** @name Invalidation Completion Status Register (ICS_REG). 1382 * In accordance with the Intel spec. 1362 1383 * @{ */ 1363 1384 /** IWC: Invalidation Wait Descriptor Complete. */ … … 1378 1399 1379 1400 /** @name Invalidation Event Control Register (IECTL_REG). 1401 * In accordance with the Intel spec. 1380 1402 * @{ */ 1381 1403 /** R: Reserved (bits 29:0). */ … … 1397 1419 1398 1420 /** @name Invalidation Event Data Register (IEDATA_REG). 1421 * In accordance with the Intel spec. 1399 1422 * @{ */ 1400 1423 /** IMD: Interrupt Message Data. */ … … 1413 1436 1414 1437 /** @name Invalidation Event Address Register (IEADDR_REG). 1438 * In accordance with the Intel spec. 1415 1439 * @{ */ 1416 1440 /** R: Reserved (bits 1:0). */ … … 1440 1464 1441 1465 /** @name Invalidation Queue Error Record Register (IQERCD_REG). 1466 * In accordance with the Intel spec. 1442 1467 * @{ */ 1443 1468 /** IQEI: Invalidation Queue Error Info. */ … … 1462 1487 1463 1488 /** @name Interrupt Remapping Table Address Register (IRTA_REG). 1489 * In accordance with the Intel spec. 1464 1490 * @{ */ 1465 1491 /** S: Size. */ … … 1485 1511 1486 1512 /** @name Page Request Queue Head Register (PQH_REG). 1513 * In accordance with the Intel spec. 1487 1514 * @{ */ 1488 1515 /** R: Reserved (bits 4:0). */ … … 1504 1531 1505 1532 /** @name Page Request Queue Tail Register (PQT_REG). 1533 * In accordance with the Intel spec. 1506 1534 * @{ */ 1507 1535 /** R: Reserved (bits 4:0). */ … … 1523 1551 1524 1552 /** @name Page Request Queue Address Register (PQA_REG). 1553 * In accordance with the Intel spec. 1525 1554 * @{ */ 1526 1555 /** PQS: Page Queue Size. */ … … 1542 1571 1543 1572 /** @name Page Request Status Register (PRS_REG). 1573 * In accordance with the Intel spec. 1544 1574 * @{ */ 1545 1575 /** PPR: Pending Page Request. */ … … 1563 1593 1564 1594 /** @name Page Request Event Control Register (PECTL_REG). 1595 * In accordance with the Intel spec. 1565 1596 * @{ */ 1566 1597 /** R: Reserved (bits 29:0). */ … … 1582 1613 1583 1614 /** @name Page Request Event Data Register (PEDATA_REG). 1615 * In accordance with the Intel spec. 1584 1616 * @{ */ 1585 1617 /** IMD: Interrupt Message Data. */ … … 1598 1630 1599 1631 /** @name Page Request Event Address Register (PEADDR_REG). 1632 * In accordance with the Intel spec. 1600 1633 * @{ */ 1601 1634 /** R: Reserved (bits 1:0). */ … … 1615 1648 1616 1649 /** @name Page Request Event Upper Address Register (PEUADDR_REG). 1650 * In accordance with the Intel spec. 1617 1651 * @{ */ 1618 1652 /** MA: Message Address. */ … … 1626 1660 1627 1661 /** @name MTRR Capability Register (MTRRCAP_REG). 1662 * In accordance with the Intel spec. 1628 1663 * @{ */ 1629 1664 /** VCNT: Variable MTRR Count. */ … … 1651 1686 1652 1687 /** @name MTRR Default Type Register (MTRRDEF_REG). 1688 * In accordance with the Intel spec. 1653 1689 * @{ */ 1654 1690 /** TYPE: Default Memory Type. */ … … 1677 1713 1678 1714 /** @name Virtual Command Capability Register (VCCAP_REG). 1715 * In accordance with the Intel spec. 1679 1716 * @{ */ 1680 1717 /** PAS: PASID Support. */ … … 1693 1730 1694 1731 /** @name Virtual Command Register (VCMD_REG). 1732 * In accordance with the Intel spec. 1695 1733 * @{ */ 1696 1734 /** CMD: Command. */ … … 1709 1747 1710 1748 /** @name Virtual Command Response Register (VCRSP_REG). 1749 * In accordance with the Intel spec. 1711 1750 * @{ */ 1712 1751 /** IP: In Progress. */ … … 1730 1769 1731 1770 1771 /** @name ACPI_DMAR_F_XXX: DMA Remapping Reporting Structure Flags. 1772 * In accordance with the Intel spec. 1773 * @{ */ 1774 /** INTR_REMAP: Interrupt remapping supported. */ 1775 #define ACPI_DMAR_F_INTR_REMAP RT_BIT(0) 1776 /** X2APIC_OPT_OUT: Request system software to opt-out of enabling x2APIC. */ 1777 #define ACPI_DMAR_F_X2APIC_OPT_OUT RT_BIT(0) 1778 /** DMA_CTRL_PLATFORM_OPT_IN_FLAG: Firmware initiated DMA restricted to reserved 1779 * memory regions (RMRR). */ 1780 #define ACPI_DMAR_F_DMA_CTRL_PLATFORM_OPT_IN RT_BIT(2) 1781 /** @} */ 1782 1783 1784 /** @name ACPI_DRHD_F_XXX: DMA-Remapping Hardware Unit Definition Flags. 1785 * In accordance with the Intel spec. 1786 * @{ */ 1787 /** INCLUDE_PCI_ALL: All PCI devices under scope. */ 1788 #define ACPI_DRHD_F_INCLUDE_PCI_ALL RT_BIT(0) 1789 /** @} */ 1790 1791 1792 /** 1793 * DRHD: DMA-Remapping Hardware Unit Definition. 1794 * In accordance with the Intel spec. 1795 */ 1796 #pragma pack(1) 1797 typedef struct ACPIDRHD 1798 { 1799 /** Type (must be 0=DRHD). */ 1800 uint16_t uType; 1801 /** Length (must be 16 + size of device scope structure). */ 1802 uint16_t cbLength; 1803 /** Flags, see ACPI_DMAR_F_XXX. */ 1804 uint8_t fFlags; 1805 /** Reserved (MBZ). */ 1806 uint8_t bRsvd; 1807 /** PCI segment number. */ 1808 uint16_t uPciSegment; 1809 /** Register Base Address (MMIO). */ 1810 uint64_t uRegBaseAddr; 1811 /* Device Scope[] Structures follow. */ 1812 } ACPIDRHD; 1813 #pragma pack() 1814 AssertCompileSize(ACPIDRHD, 16); 1815 AssertCompileMemberOffset(ACPIDRHD, cbLength, 2); 1816 AssertCompileMemberOffset(ACPIDRHD, fFlags, 4); 1817 AssertCompileMemberOffset(ACPIDRHD, uPciSegment, 6); 1818 AssertCompileMemberOffset(ACPIDRHD, uRegBaseAddr, 8); 1819 1820 1821 /** @name ACPIDMARDEVSCOPE_TYPE_XXX: Device Type. 1822 * In accordance with the Intel spec. 1823 * @{ */ 1824 #define ACPIDMARDEVSCOPE_TYPE_PCI_ENDPOINT 1 1825 #define ACPIDMARDEVSCOPE_TYPE_PCI_SUB_HIERARCHY 2 1826 #define ACPIDMARDEVSCOPE_TYPE_IOAPIC 3 1827 #define ACPIDMARDEVSCOPE_TYPE_MSI_CAP_HPET 4 1828 #define ACPIDMARDEVSCOPE_TYPE_ACPI_NAMESPACE_DEV 5 1829 /** @} */ 1830 1831 1832 /** 1833 * Device Scope Structure. 1834 * In accordance with the Intel spec. 1835 */ 1836 #pragma pack(1) 1837 typedef struct ACPIDMARDEVSCOPE 1838 { 1839 /** Type, see ACPIDMARDEVSCOPE_TYPE_XXX. */ 1840 uint8_t uType; 1841 /** Length (must be 6 + size of auPath field). */ 1842 uint8_t cbLength; 1843 /** Reserved (MBZ). */ 1844 uint8_t abRsvd[2]; 1845 /** Enumeration ID (for I/O APIC, HPET and ACPI namespace devices). */ 1846 uint8_t idEnum; 1847 /** First bus number for this device. */ 1848 uint8_t uStartBusNum; 1849 /** Hierarchical path from the Host Bridge to the device. */ 1850 uint16_t auPath[1]; 1851 } ACPIDMARDEVSCOPE; 1852 #pragma pack() 1853 AssertCompileMemberOffset(ACPIDMARDEVSCOPE, cbLength, 1); 1854 AssertCompileMemberOffset(ACPIDMARDEVSCOPE, idEnum, 4); 1855 AssertCompileMemberOffset(ACPIDMARDEVSCOPE, uStartBusNum, 5); 1856 AssertCompileMemberOffset(ACPIDMARDEVSCOPE, auPath, 6); 1857 1858 1732 1859 #endif /* !VBOX_INCLUDED_iommu_intel_h */
Note:
See TracChangeset
for help on using the changeset viewer.