Changeset 83462 in vbox
- Timestamp:
- Mar 27, 2020 6:35:56 AM (5 years ago)
- svn:sync-xref-src-repo-rev:
- 136696
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
trunk/src/VBox/Devices/Bus/DevIommuAmd.cpp
r83461 r83462 1549 1549 typedef CMD_BUF_HEAD_PTR_T EVT_LOG_B_TAIL_PTR_T; 1550 1550 1551 /** 1552 * PPR Log Auto Response Register (MMIO). 1553 * In accordance with the AMD spec. 1554 */ 1555 typedef union 1556 { 1557 struct 1558 { 1559 uint32_t u3AutoRespCode : 4; /**< Bits 3:0 - PprAutoRespCode: PPR log Auto Response Code. */ 1560 uint32_t u1AutoRespMaskGen : 1; /**< Bit 4 - PprAutoRespMaskGn: PPR log Auto Response Mask Gen. */ 1561 uint32_t u27Rsvd0 : 27; /**< Bits 31:5 - Reserved. */ 1562 uint32_t u32Rsvd0; /**< Bits 63:32 - Reserved.*/ 1563 } n; 1564 /** The 32-bit unsigned integer view. */ 1565 uint32_t au32[2]; 1566 /** The 64-bit unsigned integer view. */ 1567 uint64_t u64; 1568 } PPR_LOG_AUTO_RESP_T; 1569 AssertCompileSize(PPR_LOG_AUTO_RESP_T, 8); 1570 1571 /** 1572 * PPR Log Overflow Early Indicator Register (MMIO). 1573 * In accordance with the AMD spec. 1574 */ 1575 typedef union 1576 { 1577 struct 1578 { 1579 uint32_t u15Threshold : 15; /**< Bits 14:0 - PprOvrflwEarlyThreshold: Overflow early indicator threshold. */ 1580 uint32_t u15Rsvd0 : 15; /**< Bits 29:15 - Reserved. */ 1581 uint32_t u1IntrEn : 1; /**< Bit 30 - PprOvrflwEarlyIntEn: Overflow early indicator interrupt enable. */ 1582 uint32_t u1Enable : 1; /**< Bit 31 - PprOvrflwEarlyEn: Overflow early indicator enable. */ 1583 uint32_t u32Rsvd0; /**< Bits 63:32 - Reserved. */ 1584 } n; 1585 /** The 32-bit unsigned integer view. */ 1586 uint32_t au32[2]; 1587 /** The 64-bit unsigned integer view. */ 1588 uint64_t u64; 1589 } PPR_LOG_OVERFLOW_EARLY_T; 1590 AssertCompileSize(PPR_LOG_OVERFLOW_EARLY_T, 8); 1591 1592 /** 1593 * PPR Log B Overflow Early Indicator Register (MMIO). 1594 * In accordance with the AMD spec. 1595 * Currently identical to PPR_LOG_OVERFLOW_EARLY_T. 1596 */ 1597 typedef PPR_LOG_OVERFLOW_EARLY_T PPR_LOG_B_OVERFLOW_EARLY_T; 1598 1551 1599 1552 1600 /** … … 1579 1627 /** @} */ 1580 1628 1629 /** @todo IOMMU: SMI filter. */ 1630 1581 1631 /** @name MMIO: Guest Virtual-APIC Log registers. 1582 1632 * @{ */ … … 1605 1655 /** @name MMIO: MSI Capability Block registers. 1606 1656 * @{ */ 1607 MSI_MISC_INFO_T MsiMiscInfo 0;/**< MSI Misc. info registers / MSI Vector registers. */1657 MSI_MISC_INFO_T MsiMiscInfo; /**< MSI Misc. info registers / MSI Vector registers. */ 1608 1658 MSI_CAP_HDR_T MsiCapHdr; /**< MSI Capability header register. */ 1609 1659 MSI_ADDR_T MsiAddr; /**< MSI Address register.*/ … … 1624 1674 /** @} */ 1625 1675 1676 /** @todo MARC registers. */ 1677 1626 1678 /** @name MMIO: Reserved register. 1627 1679 * @{ */ … … 1629 1681 /** @} */ 1630 1682 1631 /** @name MMIO: Command and Event Log registers.1683 /** @name MMIO: Command and Event Log pointer registers. 1632 1684 * @{ */ 1633 1685 CMD_BUF_HEAD_PTR_T CmdBufHeadPtr; /**< Command buffer head pointer register. */ … … 1637 1689 /** @} */ 1638 1690 1639 /** @name MMIO: Command Event status register.1691 /** @name MMIO: Command and Event Status register. 1640 1692 * @{ */ 1641 1693 IOMMU_STATUS_T IommuStatus; /**< IOMMU status register. */ 1642 1694 /** @} */ 1643 1695 1644 /** @name MMIO: PPR Log Head and Tail Pointer registers.1696 /** @name MMIO: PPR Log Head and Tail pointer registers. 1645 1697 * @{ */ 1646 1698 PPR_LOG_HEAD_PTR_T PprLogHeadPtr; /**< IOMMU PPR log head pointer register. */ … … 1648 1700 /** @} */ 1649 1701 1650 /** @name MMIO: Guest Virtual-APIC Log Head and Tail Pointer registers.1702 /** @name MMIO: Guest Virtual-APIC Log Head and Tail pointer registers. 1651 1703 * @{ */ 1652 1704 GALOG_HEAD_PTR_T GALogHeadPtr; /**< Guest Virtual-APIC log head pointer register. */ … … 1654 1706 /** @} */ 1655 1707 1656 /** @name MMIO: PPR Log B Head and Tail Pointer registers.1708 /** @name MMIO: PPR Log B Head and Tail pointer registers. 1657 1709 * @{ */ 1658 1710 PPR_LOG_B_HEAD_PTR_T PprLogBHeadPtr; /**< PPR log B head pointer register. */ … … 1660 1712 /** @} */ 1661 1713 1662 /** @name MMIO: Event Log B Head and Tail Pointer registers.1714 /** @name MMIO: Event Log B Head and Tail pointer registers. 1663 1715 * @{ */ 1664 1716 EVT_LOG_B_HEAD_PTR_T EvtLogBHeadPtr; /**< Event log B head pointer register. */ … … 1666 1718 /** @} */ 1667 1719 1720 /** @name MMIO: PPR Log Overflow protection registers. 1721 * @{ */ 1722 PPR_LOG_AUTO_RESP_T PprLogAutoResp; /**< PPR Log Auto Response register. */ 1723 PPR_LOG_OVERFLOW_EARLY_T PprLogOverflowEarly; /**< PPR Log Overflow Early Indicator register. */ 1724 PPR_LOG_B_OVERFLOW_EARLY_T PprLogBOverflowEarly; /**< PPR Log B Overflow Early Indicator register. */ 1725 /** @} */ 1726 1727 /** @todo IOMMU: IOMMU Event counter registers. */ 1668 1728 } IOMMU; 1669 1729 /** Pointer to the IOMMU device state. */
Note:
See TracChangeset
for help on using the changeset viewer.