VirtualBox

Changeset 101311 in vbox for trunk/include


Ignore:
Timestamp:
Sep 29, 2023 7:56:59 AM (17 months ago)
Author:
vboxsync
svn:sync-xref-src-repo-rev:
159307
Message:

VMM: Detect and log new VMX features, part 4.

File:
1 edited

Legend:

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

    r101308 r101311  
    27042704/** Whether the guest IA32_RTIT MSR is loaded on VM-entry. */
    27052705#define VMX_ENTRY_CTLS_LOAD_RTIT_CTL_MSR                        RT_BIT(18)
     2706/** Whether the guest UINV is loaded on VM-entry. */
     2707#define VMX_ENTRY_CTLS_LOAD_UINV                                RT_BIT(19)
    27062708/** Whether the guest CET-related MSRs and SPP are loaded on VM-entry. */
    27072709#define VMX_ENTRY_CTLS_LOAD_CET_STATE                           RT_BIT(20)
     2710/** Whether the guest IA32_LBR_CTL MSR is loaded on VM-entry. */
     2711#define VMX_ENTRY_CTLS_LOAD_LBR_CTL_MSR                         RT_BIT(21)
    27082712/** Whether the guest IA32_PKRS MSR is loaded on VM-entry. */
    27092713#define VMX_ENTRY_CTLS_LOAD_PKRS_MSR                            RT_BIT(22)
     
    27392743#define VMX_BF_ENTRY_CTLS_LOAD_RTIT_CTL_MSR_SHIFT               18
    27402744#define VMX_BF_ENTRY_CTLS_LOAD_RTIT_CTL_MSR_MASK                UINT32_C(0x00040000)
    2741 #define VMX_BF_ENTRY_CTLS_RSVD_19_SHIFT                         19
    2742 #define VMX_BF_ENTRY_CTLS_RSVD_19_MASK                          UINT32_C(0x00080000)
     2745#define VMX_BF_ENTRY_CTLS_LOAD_UINV_SHIFT                       19
     2746#define VMX_BF_ENTRY_CTLS_LOAD_UINV_MASK                        UINT32_C(0x00080000)
    27432747#define VMX_BF_ENTRY_CTLS_LOAD_CET_SHIFT                        20
    27442748#define VMX_BF_ENTRY_CTLS_LOAD_CET_MASK                         UINT32_C(0x00100000)
    2745 #define VMX_BF_ENTRY_CTLS_RSVD_21_SHIFT                         21
    2746 #define VMX_BF_ENTRY_CTLS_RSVD_21_MASK                          UINT32_C(0x00200000)
     2749#define VMX_BF_ENTRY_CTLS_LOAD_LBR_CTL_MSR_SHIFT                21
     2750#define VMX_BF_ENTRY_CTLS_LOAD_LBR_CTL_MSR_MASK                 UINT32_C(0x00200000)
    27472751#define VMX_BF_ENTRY_CTLS_LOAD_PKRS_MSR_SHIFT                   22
    27482752#define VMX_BF_ENTRY_CTLS_LOAD_PKRS_MSR_MASK                    UINT32_C(0x00400000)
     
    27532757                            (RSVD_0_1, LOAD_DEBUG, RSVD_3_8, IA32E_MODE_GUEST, ENTRY_SMM, DEACTIVATE_DUAL_MON, RSVD_12,
    27542758                             LOAD_PERF_MSR, LOAD_PAT_MSR, LOAD_EFER_MSR, LOAD_BNDCFGS_MSR, CONCEAL_VMX_FROM_PT,
    2755                              LOAD_RTIT_CTL_MSR, RSVD_19, LOAD_CET, RSVD_21, LOAD_PKRS_MSR, RSVD_23_31));
     2759                             LOAD_RTIT_CTL_MSR, LOAD_UINV, LOAD_CET, LOAD_LBR_CTL_MSR, LOAD_PKRS_MSR, RSVD_23_31));
    27562760/** @} */
    27572761
     
    27852789/** Whether IA32_RTIT_CTL MSR is cleared on VM-exit. */
    27862790#define VMX_EXIT_CTLS_CLEAR_RTIT_CTL_MSR                        RT_BIT(25)
     2791/** Whether IA32_LBR_CTL MSR is cleared on VM-exit. */
     2792#define VMX_EXIT_CTLS_CLEAR_LBR_CTL_MSR                         RT_BIT(26)
     2793/** Whether UINV is cleared on VM-exit. */
     2794#define VMX_EXIT_CTLS_CLEAR_UINV                                RT_BIT(27)
    27872795/** Whether CET-related MSRs and SPP are loaded on VM-exit. */
    27882796#define VMX_EXIT_CTLS_LOAD_CET_STATE                            RT_BIT(28)
     
    28322840#define VMX_BF_EXIT_CTLS_CLEAR_RTIT_CTL_MSR_SHIFT               25
    28332841#define VMX_BF_EXIT_CTLS_CLEAR_RTIT_CTL_MSR_MASK                UINT32_C(0x02000000)
    2834 #define VMX_BF_EXIT_CTLS_RSVD_26_27_SHIFT                       26
    2835 #define VMX_BF_EXIT_CTLS_RSVD_26_27_MASK                        UINT32_C(0x0c000000)
     2842#define VMX_BF_EXIT_CTLS_CLEAR_LBR_CTL_MSR_SHIFT                26
     2843#define VMX_BF_EXIT_CTLS_CLEAR_LBR_CTL_MSR_MASK                 UINT32_C(0x04000000)
     2844#define VMX_BF_EXIT_CTLS_CLEAR_UINV_SHIFT                       27
     2845#define VMX_BF_EXIT_CTLS_CLEAR_UINV_MASK                        UINT32_C(0x08000000)
    28362846#define VMX_BF_EXIT_CTLS_LOAD_CET_SHIFT                         28
    28372847#define VMX_BF_EXIT_CTLS_LOAD_CET_MASK                          UINT32_C(0x10000000)
     
    28452855                            (RSVD_0_1, SAVE_DEBUG, RSVD_3_8, HOST_ADDR_SPACE_SIZE, RSVD_10_11, LOAD_PERF_MSR, RSVD_13_14,
    28462856                             ACK_EXT_INT, RSVD_16_17, SAVE_PAT_MSR, LOAD_PAT_MSR, SAVE_EFER_MSR, LOAD_EFER_MSR,
    2847                              SAVE_PREEMPT_TIMER, CLEAR_BNDCFGS_MSR, CONCEAL_VMX_FROM_PT, CLEAR_RTIT_CTL_MSR, RSVD_26_27,
    2848                              LOAD_CET, LOAD_PKRS_MSR, SAVE_PERF_MSR, USE_SECONDARY_CTLS));
     2857                             SAVE_PREEMPT_TIMER, CLEAR_BNDCFGS_MSR, CONCEAL_VMX_FROM_PT, CLEAR_RTIT_CTL_MSR, CLEAR_LBR_CTL_MSR,
     2858                             CLEAR_UINV, LOAD_CET, LOAD_PKRS_MSR, SAVE_PERF_MSR, USE_SECONDARY_CTLS));
    28492859/** @} */
    28502860
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