Changeset 86119 in vbox for trunk/include/VBox
- Timestamp:
- Sep 14, 2020 9:15:29 AM (5 years ago)
- svn:sync-xref-src-repo-rev:
- 140353
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
trunk/include/VBox/iommu-amd.h
r86088 r86119 453 453 /** @} */ 454 454 455 /** 456 * Gets the device table length (in bytes) given the size field. 457 */ 458 #define IOMMU_GET_DEV_TAB_LEN(a_DevTab) (((a_DevTab.n.u9Size) + 1) << X86_PAGE_4K_SHIFT) 455 /** Gets the device table length (in bytes) given the device table pointer. */ 456 #define IOMMU_GET_DEV_TAB_LEN(a_pDevTab) (((a_pDevTab)->n.u9Size + 1) << X86_PAGE_4K_SHIFT) 459 457 460 458 /** … … 548 546 #define IOMMU_DTE_QWORD_1_FEAT_GTSUP_MASK UINT64_C(0x00000000ffff0000) 549 547 550 /* Mask of valid bits for GIoSup (Guest I/O Protection Support) feature (bit 54). */548 /** Mask of valid bits for GIoSup (Guest I/O Protection Support) feature (bit 54). */ 551 549 #define IOMMU_DTE_QWORD_0_FEAT_GIOSUP_MASK UINT64_C(0x0040000000000000) 552 550 553 /* Mask of valid DTE feature bits. */551 /** Mask of valid DTE feature bits. */ 554 552 #define IOMMU_DTE_QWORD_0_FEAT_MASK ( IOMMU_DTE_QWORD_0_FEAT_EPHSUP_MASK \ 555 553 | IOMMU_DTE_QWORD_0_FEAT_GTSUP_MASK \ … … 557 555 #define IOMMU_DTE_QWORD_1_FEAT_MASK (IOMMU_DTE_QWORD_0_FEAT_GIOSUP_MASK) 558 556 559 /* Mask of all valid DTE bits (including all feature bits). */557 /** Mask of all valid DTE bits (including all feature bits). */ 560 558 #define IOMMU_DTE_QWORD_0_VALID_MASK UINT64_C(0x7fffffffffffff83) 561 559 #define IOMMU_DTE_QWORD_1_VALID_MASK UINT64_C(0xfffffbffffffffff) … … 563 561 #define IOMMU_DTE_QWORD_3_VALID_MASK UINT64_C(0xffc0000000000000) 564 562 565 /* Mask of the interrupt table root pointer. */563 /** Mask of the interrupt table root pointer. */ 566 564 #define IOMMU_DTE_IRTE_ROOT_PTR_MASK UINT64_C(0x000fffffffffffc0) 567 /* Number of bits to shift to get the interrupt root table pointer at565 /** Number of bits to shift to get the interrupt root table pointer at 568 566 qword 2 (qword 0 being the first one) - 128-byte aligned. */ 569 567 #define IOMMU_DTE_IRTE_ROOT_PTR_SHIFT 6 570 568 569 /** Maximum encoded IRTE length (exclusive). */ 570 #define IOMMU_DTE_INTR_TAB_LEN_MAX 12 571 /** Gets the interrupt table entries (in bytes) given the DTE pointer. */ 572 #define IOMMU_GET_INTR_TAB_ENTRIES(a_pDte) ((1U << (a_pDte)->n.u4IntrTableLength)) 573 /** Gets the interrupt table length (in bytes) given the DTE pointer. */ 574 #define IOMMU_GET_INTR_TAB_LEN(a_pDte) (IOMMU_GET_INTR_TAB_ENTRIES(a_pDte) << IOMMU_IRTE_SIZE_SHIFT) 571 575 572 576 /**
Note:
See TracChangeset
for help on using the changeset viewer.