VirtualBox

Changeset 74183 in vbox for trunk/include/VBox


Ignore:
Timestamp:
Sep 10, 2018 4:29:32 PM (6 years ago)
Author:
vboxsync
Message:

VMM/IEM: Nested VMX: bugref:9180 vmlaunch/vmresume bits.

File:
1 edited

Legend:

Unmodified
Added
Removed
  • trunk/include/VBox/vmm/hm_vmx.h

    r74171 r74183  
    10351035typedef const VMXEXITINSTRINFO *PCVMXEXITINSTRINFO;
    10361036
     1037
     1038/** @name VM-entry failure reported in VM-exit qualification.
     1039 * See Intel spec. 26.7 "VM-entry failures during or after loading guest-state".
     1040 */
     1041/** No errors during VM-entry. */
     1042#define VMX_ENTRY_FAIL_QUAL_NO_ERROR                            (0)
     1043/** Not used. */
     1044#define VMX_ENTRY_FAIL_QUAL_NOT_USED                            (1)
     1045/** Error while loading PDPTEs. */
     1046#define VMX_ENTRY_FAIL_QUAL_PDPTE                               (2)
     1047/** NMI injection when blocking-by-STI is set. */
     1048#define VMX_ENTRY_FAIL_QUAL_NMI_INJECT                          (3)
     1049/** Invalid VMCS link pointer. */
     1050#define VMX_ENTRY_FAIL_QUAL_VMCS_LINK_PTR                       (4)
     1051/** @} */
     1052
     1053
    10371054/**
    10381055 * VMX MSR autoload/store element.
     
    27242741 */
    27252742/** Hardware breakpoint 0 was met. */
    2726 #define VMX_VMCS_GUEST_PENDING_DEBUG_XCPT_BP0                   RT_BIT(0)
     2743#define VMX_VMCS_GUEST_PENDING_DEBUG_XCPT_BP0                   RT_BIT_64(0)
    27272744/** Hardware breakpoint 1 was met. */
    2728 #define VMX_VMCS_GUEST_PENDING_DEBUG_XCPT_BP1                   RT_BIT(1)
     2745#define VMX_VMCS_GUEST_PENDING_DEBUG_XCPT_BP1                   RT_BIT_64(1)
    27292746/** Hardware breakpoint 2 was met. */
    2730 #define VMX_VMCS_GUEST_PENDING_DEBUG_XCPT_BP2                   RT_BIT(2)
     2747#define VMX_VMCS_GUEST_PENDING_DEBUG_XCPT_BP2                   RT_BIT_64(2)
    27312748/** Hardware breakpoint 3 was met. */
    2732 #define VMX_VMCS_GUEST_PENDING_DEBUG_XCPT_BP3                   RT_BIT(3)
     2749#define VMX_VMCS_GUEST_PENDING_DEBUG_XCPT_BP3                   RT_BIT_64(3)
    27332750/** At least one data or IO breakpoint was hit. */
    2734 #define VMX_VMCS_GUEST_PENDING_DEBUG_XCPT_EN_BP                 RT_BIT(12)
     2751#define VMX_VMCS_GUEST_PENDING_DEBUG_XCPT_EN_BP                 RT_BIT_64(12)
    27352752/** A debug exception would have been triggered by single-step execution mode. */
    2736 #define VMX_VMCS_GUEST_PENDING_DEBUG_XCPT_BS                    RT_BIT(14)
     2753#define VMX_VMCS_GUEST_PENDING_DEBUG_XCPT_BS                    RT_BIT_64(14)
    27372754/** A debug exception occurred inside an RTM region.   */
    2738 #define VMX_VMCS_GUEST_PENDING_DEBUG_RTM                        RT_BIT(16)
     2755#define VMX_VMCS_GUEST_PENDING_DEBUG_RTM                        RT_BIT_64(16)
     2756/** Mask of valid bits. */
     2757#define VMX_VMCS_GUEST_PENDING_DEBUG_VALID_MASK                 (  VMX_VMCS_GUEST_PENDING_DEBUG_XCPT_BP0 \
     2758                                                                 | VMX_VMCS_GUEST_PENDING_DEBUG_XCPT_BP1 \
     2759                                                                 | VMX_VMCS_GUEST_PENDING_DEBUG_XCPT_BP2 \
     2760                                                                 | VMX_VMCS_GUEST_PENDING_DEBUG_XCPT_BP3 \
     2761                                                                 | VMX_VMCS_GUEST_PENDING_DEBUG_XCPT_EN_BP \
     2762                                                                 | VMX_VMCS_GUEST_PENDING_DEBUG_XCPT_BS \
     2763                                                                 | VMX_VMCS_GUEST_PENDING_DEBUG_RTM)
     2764#define VMX_VMCS_GUEST_PENDING_DEBUG_RTM_MASK                   (  VMX_VMCS_GUEST_PENDING_DEBUG_XCPT_EN_BP \
     2765                                                                 | VMX_VMCS_GUEST_PENDING_DEBUG_XCPT_BS \
     2766                                                                 | VMX_VMCS_GUEST_PENDING_DEBUG_RTM)
     2767/** Bit fields for Pending debug exceptions. */
     2768#define VMX_BF_VMCS_PENDING_DBG_XCPT_BP0_SHIFT                  0
     2769#define VMX_BF_VMCS_PENDING_DBG_XCPT_BP0_MASK                   UINT64_C(0x0000000000000001)
     2770#define VMX_BF_VMCS_PENDING_DBG_XCPT_BP1_SHIFT                  1
     2771#define VMX_BF_VMCS_PENDING_DBG_XCPT_BP1_MASK                   UINT64_C(0x0000000000000002)
     2772#define VMX_BF_VMCS_PENDING_DBG_XCPT_BP2_SHIFT                  2
     2773#define VMX_BF_VMCS_PENDING_DBG_XCPT_BP2_MASK                   UINT64_C(0x0000000000000004)
     2774#define VMX_BF_VMCS_PENDING_DBG_XCPT_BP3_SHIFT                  3
     2775#define VMX_BF_VMCS_PENDING_DBG_XCPT_BP3_MASK                   UINT64_C(0x0000000000000008)
     2776#define VMX_BF_VMCS_PENDING_DBG_XCPT_RSVD_4_11_SHIFT            4
     2777#define VMX_BF_VMCS_PENDING_DBG_XCPT_RSVD_4_11_MASK             UINT64_C(0x0000000000000ff0)
     2778#define VMX_BF_VMCS_PENDING_DBG_XCPT_EN_BP_SHIFT                12
     2779#define VMX_BF_VMCS_PENDING_DBG_XCPT_EN_BP_MASK                 UINT64_C(0x0000000000001000)
     2780#define VMX_BF_VMCS_PENDING_DBG_XCPT_RSVD_13_SHIFT              13
     2781#define VMX_BF_VMCS_PENDING_DBG_XCPT_RSVD_13_MASK               UINT64_C(0x0000000000002000)
     2782#define VMX_BF_VMCS_PENDING_DBG_XCPT_BS_SHIFT                   14
     2783#define VMX_BF_VMCS_PENDING_DBG_XCPT_BS_MASK                    UINT64_C(0x0000000000004000)
     2784#define VMX_BF_VMCS_PENDING_DBG_XCPT_RSVD_15_SHIFT              15
     2785#define VMX_BF_VMCS_PENDING_DBG_XCPT_RSVD_15_MASK               UINT64_C(0x0000000000008000)
     2786#define VMX_BF_VMCS_PENDING_DBG_XCPT_RTM_SHIFT                  16
     2787#define VMX_BF_VMCS_PENDING_DBG_XCPT_RTM_MASK                   UINT64_C(0x0000000000010000)
     2788#define VMX_BF_VMCS_PENDING_DBG_XCPT_RSVD_17_63_SHIFT           17
     2789#define VMX_BF_VMCS_PENDING_DBG_XCPT_RSVD_17_63_MASK            UINT64_C(0xfffffffffffe0000)
     2790RT_BF_ASSERT_COMPILE_CHECKS(VMX_BF_VMCS_PENDING_DBG_XCPT_, UINT64_C(0), UINT64_MAX,
     2791                            (BP0, BP1, BP2, BP3, RSVD_4_11, EN_BP, RSVD_13, BS, RSVD_15, RTM, RSVD_17_63));
    27392792/** @} */
    27402793
     
    34793532    kVmxVDiag_Vmentry_AddrMsrBitmap,
    34803533    kVmxVDiag_Vmentry_AddrVirtApicPage,
     3534    kVmxVDiag_Vmentry_AddrVmcsLinkPtr,
    34813535    kVmxVDiag_Vmentry_AddrVmreadBitmap,
    34823536    kVmxVDiag_Vmentry_AddrVmwriteBitmap,
     
    35253579    kVmxVDiag_Vmentry_GuestPatMsr,
    35263580    kVmxVDiag_Vmentry_GuestPcide,
     3581    kVmxVDiag_Vmentry_GuestPndDbgXcptBsNoTf,
     3582    kVmxVDiag_Vmentry_GuestPndDbgXcptBsTf,
     3583    kVmxVDiag_Vmentry_GuestPndDbgXcptRsvd,
     3584    kVmxVDiag_Vmentry_GuestPndDbgXcptRtm,
    35273585    kVmxVDiag_Vmentry_GuestRip,
    35283586    kVmxVDiag_Vmentry_GuestRipRsvd,
     
    36163674    kVmxVDiag_Vmentry_GuestSegSelTr,
    36173675    kVmxVDiag_Vmentry_GuestSysenterEspEip,
     3676    kVmxVDiag_Vmentry_VmcsLinkPtrCurVmcs,
     3677    kVmxVDiag_Vmentry_VmcsLinkPtrReadPhys,
     3678    kVmxVDiag_Vmentry_VmcsLinkPtrRevId,
     3679    kVmxVDiag_Vmentry_VmcsLinkPtrShadow,
    36183680    kVmxVDiag_Vmentry_HostCr0Fixed0,
    36193681    kVmxVDiag_Vmentry_HostCr0Fixed1,
Note: See TracChangeset for help on using the changeset viewer.

© 2024 Oracle Support Privacy / Do Not Sell My Info Terms of Use Trademark Policy Automated Access Etiquette