Changeset 82011 in vbox
- Timestamp:
- Nov 20, 2019 3:44:19 AM (5 years ago)
- svn:sync-xref-src-repo-rev:
- 134814
- Location:
- trunk
- Files:
-
- 2 edited
Legend:
- Unmodified
- Added
- Removed
-
trunk/include/VBox/vmm/hm_vmx.h
r81292 r82011 1486 1486 #define VMX_BF_BASIC_TRUE_CTLS_SHIFT 55 1487 1487 #define VMX_BF_BASIC_TRUE_CTLS_MASK UINT64_C(0x0080000000000000) 1488 /** Bits 56:63 are reserved and RAZ. */ 1489 #define VMX_BF_BASIC_RSVD_56_63_SHIFT 56 1490 #define VMX_BF_BASIC_RSVD_56_63_MASK UINT64_C(0xff00000000000000) 1488 /** Whether VM-entry can delivery error code for all hardware exception vectors. */ 1489 #define VMX_BF_BASIC_XCPT_ERRCODE_SHIFT 56 1490 #define VMX_BF_BASIC_XCPT_ERRCODE_MASK UINT64_C(0x0100000000000000) 1491 /** Bits 57:63 are reserved and RAZ. */ 1492 #define VMX_BF_BASIC_RSVD_56_63_SHIFT 57 1493 #define VMX_BF_BASIC_RSVD_56_63_MASK UINT64_C(0xfe00000000000000) 1491 1494 RT_BF_ASSERT_COMPILE_CHECKS(VMX_BF_BASIC_, UINT64_C(0), UINT64_MAX, 1492 1495 (VMCS_ID, RSVD_32, VMCS_SIZE, RSVD_45_47, PHYSADDR_WIDTH, DUAL_MON, VMCS_MEM_TYPE, 1493 VMCS_INS_OUTS, TRUE_CTLS, RSVD_56_63));1496 VMCS_INS_OUTS, TRUE_CTLS, XCPT_ERRCODE, RSVD_56_63)); 1494 1497 /** @} */ 1495 1498 … … 1615 1618 /** Supports accessed and dirty flags for EPT. */ 1616 1619 #define MSR_IA32_VMX_EPT_VPID_CAP_EPT_ACCESS_DIRTY RT_BIT_64(21) 1620 /** Supports advanced VM-exit info. for EPT violations. */ 1621 #define MSR_IA32_VMX_EPT_VPID_CAP_ADVEXITINFO_EPT RT_BIT_64(22) 1622 /** Supports supervisor shadow-stack control. */ 1623 #define MSR_IA32_VMX_EPT_VPID_CAP_SSS RT_BIT_64(23) 1617 1624 /** Supports single-context INVEPT type. */ 1618 1625 #define MSR_IA32_VMX_EPT_VPID_CAP_INVEPT_SINGLE_CONTEXT RT_BIT_64(25) … … 1657 1664 #define VMX_BF_EPT_VPID_CAP_EPT_ACCESS_DIRTY_SHIFT 21 1658 1665 #define VMX_BF_EPT_VPID_CAP_EPT_ACCESS_DIRTY_MASK UINT64_C(0x0000000000200000) 1659 #define VMX_BF_EPT_VPID_CAP_RSVD_22_24_SHIFT 22 1660 #define VMX_BF_EPT_VPID_CAP_RSVD_22_24_MASK UINT64_C(0x0000000001c00000) 1666 #define VMX_BF_EPT_VPID_CAP_ADVEXITINFO_EPT_SHIFT 22 1667 #define VMX_BF_EPT_VPID_CAP_ADVEXITINFO_EPT_MASK UINT64_C(0x0000000000400000) 1668 #define VMX_BF_EPT_VPID_CAP_SSS_SHIFT 23 1669 #define VMX_BF_EPT_VPID_CAP_SSS_MASK UINT64_C(0x0000000000800000) 1670 #define VMX_BF_EPT_VPID_CAP_RSVD_24_SHIFT 24 1671 #define VMX_BF_EPT_VPID_CAP_RSVD_24_MASK UINT64_C(0x0000000001000000) 1661 1672 #define VMX_BF_EPT_VPID_CAP_INVEPT_SINGLE_CTX_SHIFT 25 1662 1673 #define VMX_BF_EPT_VPID_CAP_INVEPT_SINGLE_CTX_MASK UINT64_C(0x0000000002000000) … … 1681 1692 RT_BF_ASSERT_COMPILE_CHECKS(VMX_BF_EPT_VPID_CAP_, UINT64_C(0), UINT64_MAX, 1682 1693 (RWX_X_ONLY, RSVD_1_5, PAGE_WALK_LENGTH_4, RSVD_7, EMT_UC, RSVD_9_13, EMT_WB, RSVD_15, PDE_2M, 1683 PDPTE_1G, RSVD_18_19, INVEPT, EPT_ACCESS_DIRTY, RSVD_22_24, INVEPT_SINGLE_CTX,1694 PDPTE_1G, RSVD_18_19, INVEPT, EPT_ACCESS_DIRTY, ADVEXITINFO_EPT, SSS, RSVD_24, INVEPT_SINGLE_CTX, 1684 1695 INVEPT_ALL_CTX, RSVD_27_31, INVVPID, RSVD_33_39, INVVPID_INDIV_ADDR, INVVPID_SINGLE_CTX, 1685 1696 INVVPID_ALL_CTX, INVVPID_SINGLE_CTX_RETAIN_GLOBALS, RSVD_44_63)); … … 2384 2395 /** Whether the guest IA32_RTIT MSR is loaded on VM-entry. */ 2385 2396 #define VMX_ENTRY_CTLS_LOAD_RTIT_CTL_MSR RT_BIT(18) 2397 /** Whether the guest CET-related MSRs and SPP are loaded on VM-entry. */ 2398 #define VMX_ENTRY_CTLS_LOAD_CET_STATE RT_BIT(20) 2386 2399 /** Default1 class when true-capability MSRs are not supported. */ 2387 2400 #define VMX_ENTRY_CTLS_DEFAULT1 UINT32_C(0x000011ff) … … 2452 2465 /** Whether IA32_RTIT_CTL MSR is cleared on VM-exit. */ 2453 2466 #define VMX_EXIT_CTLS_CLEAR_RTIT_CTL_MSR RT_BIT(25) 2467 /** Whether CET-related MSRs and SPP are loaded on VM-exit. */ 2468 #define VMX_EXIT_CTLS_LOAD_CET_STATE RT_BIT(28) 2454 2469 /** Default1 class when true-capability MSRs are not supported. */ 2455 2470 #define VMX_EXIT_CTLS_DEFAULT1 UINT32_C(0x00036dff) -
trunk/src/VBox/VMM/VMMR3/HM.cpp
r81790 r82011 1185 1185 LogRel(("HM: OUTS & INS instruction-info = %RTbool\n", RT_BF_GET(uBasicMsr, VMX_BF_BASIC_VMCS_INS_OUTS))); 1186 1186 LogRel(("HM: Supports true-capability MSRs = %RTbool\n", RT_BF_GET(uBasicMsr, VMX_BF_BASIC_TRUE_CTLS))); 1187 LogRel(("HM: VM-entry Xcpt error-code optional = %RTbool\n", RT_BF_GET(uBasicMsr, VMX_BF_BASIC_XCPT_ERRCODE))); 1187 1188 } 1188 1189 … … 1345 1346 HMVMX_REPORT_MSR_CAP(fCaps, "INVEPT", MSR_IA32_VMX_EPT_VPID_CAP_INVEPT); 1346 1347 HMVMX_REPORT_MSR_CAP(fCaps, "EPT_ACCESS_DIRTY", MSR_IA32_VMX_EPT_VPID_CAP_EPT_ACCESS_DIRTY); 1348 HMVMX_REPORT_MSR_CAP(fCaps, "ADVEXITINFO_EPT", MSR_IA32_VMX_EPT_VPID_CAP_ADVEXITINFO_EPT); 1349 HMVMX_REPORT_MSR_CAP(fCaps, "SSS", MSR_IA32_VMX_EPT_VPID_CAP_SSS); 1347 1350 HMVMX_REPORT_MSR_CAP(fCaps, "INVEPT_SINGLE_CONTEXT", MSR_IA32_VMX_EPT_VPID_CAP_INVEPT_SINGLE_CONTEXT); 1348 1351 HMVMX_REPORT_MSR_CAP(fCaps, "INVEPT_ALL_CONTEXTS", MSR_IA32_VMX_EPT_VPID_CAP_INVEPT_ALL_CONTEXTS);
Note:
See TracChangeset
for help on using the changeset viewer.