VirtualBox

Changeset 81232 in vbox


Ignore:
Timestamp:
Oct 14, 2019 4:44:07 AM (5 years ago)
Author:
vboxsync
Message:

VMM/HMVMXR0: Nested VMX: bugref:9180 const.

File:
1 edited

Legend:

Unmodified
Added
Removed
  • trunk/src/VBox/VMM/VMMR0/HMVMXR0.cpp

    r81209 r81232  
    10091009 * @param   uXcptMask       The exception(s) to add.
    10101010 */
    1011 static void hmR0VmxAddXcptInterceptMask(PVMXTRANSIENT pVmxTransient, uint32_t uXcptMask)
     1011static void hmR0VmxAddXcptInterceptMask(PCVMXTRANSIENT pVmxTransient, uint32_t uXcptMask)
    10121012{
    10131013    PVMXVMCSINFO pVmcsInfo   = pVmxTransient->pVmcsInfo;
     
    10291029 * @param   uXcpt           The exception to add.
    10301030 */
    1031 static void hmR0VmxAddXcptIntercept(PVMXTRANSIENT pVmxTransient, uint8_t uXcpt)
     1031static void hmR0VmxAddXcptIntercept(PCVMXTRANSIENT pVmxTransient, uint8_t uXcpt)
    10321032{
    10331033    Assert(uXcpt <= X86_XCPT_LAST);
     
    10481048 * @param   uXcptMask       The exception(s) to remove.
    10491049 */
    1050 static int hmR0VmxRemoveXcptInterceptMask(PVMCPUCC pVCpu, PVMXTRANSIENT pVmxTransient, uint32_t uXcptMask)
     1050static int hmR0VmxRemoveXcptInterceptMask(PVMCPUCC pVCpu, PCVMXTRANSIENT pVmxTransient, uint32_t uXcptMask)
    10511051{
    10521052    PVMXVMCSINFO pVmcsInfo = pVmxTransient->pVmcsInfo;
     
    11101110 * @param   uXcpt           The exception to remove.
    11111111 */
    1112 static int hmR0VmxRemoveXcptIntercept(PVMCPUCC pVCpu, PVMXTRANSIENT pVmxTransient, uint8_t uXcpt)
     1112static int hmR0VmxRemoveXcptIntercept(PVMCPUCC pVCpu, PCVMXTRANSIENT pVmxTransient, uint8_t uXcpt)
    11131113{
    11141114    return hmR0VmxRemoveXcptInterceptMask(pVCpu, pVmxTransient, RT_BIT(uXcpt));
     
    22162216 *                          necessary.
    22172217 */
    2218 static int hmR0VmxAddAutoLoadStoreMsr(PVMCPUCC pVCpu, PVMXTRANSIENT pVmxTransient, uint32_t idMsr, uint64_t uGuestMsrValue,
     2218static int hmR0VmxAddAutoLoadStoreMsr(PVMCPUCC pVCpu, PCVMXTRANSIENT pVmxTransient, uint32_t idMsr, uint64_t uGuestMsrValue,
    22192219                                      bool fSetReadWrite, bool fUpdateHostMsr)
    22202220{
     
    23062306 * @param   idMsr           The MSR.
    23072307 */
    2308 static int hmR0VmxRemoveAutoLoadStoreMsr(PVMCPUCC pVCpu, PVMXTRANSIENT pVmxTransient, uint32_t idMsr)
     2308static int hmR0VmxRemoveAutoLoadStoreMsr(PVMCPUCC pVCpu, PCVMXTRANSIENT pVmxTransient, uint32_t idMsr)
    23092309{
    23102310    PVMXVMCSINFO pVmcsInfo     = pVmxTransient->pVmcsInfo;
     
    46684668 * @remarks No-long-jump zone!!!
    46694669 */
    4670 static int hmR0VmxExportGuestEntryExitCtls(PVMCPUCC pVCpu, PVMXTRANSIENT pVmxTransient)
     4670static int hmR0VmxExportGuestEntryExitCtls(PVMCPUCC pVCpu, PCVMXTRANSIENT pVmxTransient)
    46714671{
    46724672    if (ASMAtomicUoReadU64(&pVCpu->hm.s.fCtxChanged) & HM_CHANGED_VMX_ENTRY_EXIT_CTLS)
     
    48544854 * @remarks No-long-jump zone!!!
    48554855 */
    4856 static void hmR0VmxExportGuestApicTpr(PVMCPUCC pVCpu, PVMXTRANSIENT pVmxTransient)
     4856static void hmR0VmxExportGuestApicTpr(PVMCPUCC pVCpu, PCVMXTRANSIENT pVmxTransient)
    48574857{
    48584858    if (ASMAtomicUoReadU64(&pVCpu->hm.s.fCtxChanged) & HM_CHANGED_GUEST_APIC_TPR)
     
    49144914 * @remarks No-long-jump zone!!!
    49154915 */
    4916 static uint32_t hmR0VmxGetGuestIntrState(PVMCPUCC pVCpu, PVMXTRANSIENT pVmxTransient)
     4916static uint32_t hmR0VmxGetGuestIntrState(PVMCPUCC pVCpu, PCVMXTRANSIENT pVmxTransient)
    49174917{
    49184918    /*
     
    49704970 * @remarks No-long-jump zone!!!
    49714971 */
    4972 static void hmR0VmxExportGuestXcptIntercepts(PVMCPUCC pVCpu, PVMXTRANSIENT pVmxTransient)
     4972static void hmR0VmxExportGuestXcptIntercepts(PVMCPUCC pVCpu, PCVMXTRANSIENT pVmxTransient)
    49734973{
    49744974    if (ASMAtomicUoReadU64(&pVCpu->hm.s.fCtxChanged) & HM_CHANGED_VMX_XCPT_INTERCEPTS)
     
    50395039 * @remarks No-long-jump zone!!!
    50405040 */
    5041 static void hmR0VmxExportGuestRflags(PVMCPUCC pVCpu, PVMXTRANSIENT pVmxTransient)
     5041static void hmR0VmxExportGuestRflags(PVMCPUCC pVCpu, PCVMXTRANSIENT pVmxTransient)
    50425042{
    50435043    if (ASMAtomicUoReadU64(&pVCpu->hm.s.fCtxChanged) & HM_CHANGED_GUEST_RFLAGS)
     
    52705270 * @remarks No-long-jump zone!!!
    52715271 */
    5272 static int hmR0VmxExportGuestHwvirtState(PVMCPUCC pVCpu, PVMXTRANSIENT pVmxTransient)
     5272static int hmR0VmxExportGuestHwvirtState(PVMCPUCC pVCpu, PCVMXTRANSIENT pVmxTransient)
    52735273{
    52745274    if (ASMAtomicUoReadU64(&pVCpu->hm.s.fCtxChanged) & HM_CHANGED_GUEST_HWVIRT)
     
    53345334 * @remarks No-long-jump zone!!!
    53355335 */
    5336 static int hmR0VmxExportGuestCR0(PVMCPUCC pVCpu, PVMXTRANSIENT pVmxTransient)
     5336static int hmR0VmxExportGuestCR0(PVMCPUCC pVCpu, PCVMXTRANSIENT pVmxTransient)
    53375337{
    53385338    if (ASMAtomicUoReadU64(&pVCpu->hm.s.fCtxChanged) & HM_CHANGED_GUEST_CR0)
     
    55105510 * @remarks No-long-jump zone!!!
    55115511 */
    5512 static VBOXSTRICTRC hmR0VmxExportGuestCR3AndCR4(PVMCPUCC pVCpu, PVMXTRANSIENT pVmxTransient)
     5512static VBOXSTRICTRC hmR0VmxExportGuestCR3AndCR4(PVMCPUCC pVCpu, PCVMXTRANSIENT pVmxTransient)
    55135513{
    55145514    int rc  = VINF_SUCCESS;
     
    61456145 * @remarks No-long-jump zone!!!
    61466146 */
    6147 static int hmR0VmxExportGuestSegRegsXdtr(PVMCPUCC pVCpu, PVMXTRANSIENT pVmxTransient)
     6147static int hmR0VmxExportGuestSegRegsXdtr(PVMCPUCC pVCpu, PCVMXTRANSIENT pVmxTransient)
    61486148{
    61496149    int          rc        = VERR_INTERNAL_ERROR_5;
     
    63886388 * @remarks No-long-jump zone!!!
    63896389 */
    6390 static int hmR0VmxExportGuestMsrs(PVMCPUCC pVCpu, PVMXTRANSIENT pVmxTransient)
     6390static int hmR0VmxExportGuestMsrs(PVMCPUCC pVCpu, PCVMXTRANSIENT pVmxTransient)
    63916391{
    63926392    AssertPtr(pVCpu);
     
    65306530 * @remarks No-long-jump zone!!!
    65316531 */
    6532 static int hmR0VmxSelectVMRunHandler(PVMCPUCC pVCpu, PVMXTRANSIENT pVmxTransient)
     6532static int hmR0VmxSelectVMRunHandler(PVMCPUCC pVCpu, PCVMXTRANSIENT pVmxTransient)
    65336533{
    65346534    PCCPUMCTX    pCtx      = &pVCpu->cpum.GstCtx;
     
    83468346 *                          VM-entry).
    83478347 */
    8348 static VBOXSTRICTRC hmR0VmxInjectEventVmcs(PVMCPUCC pVCpu, PVMXTRANSIENT pVmxTransient, PCHMEVENT pEvent, bool fStepping,
     8348static VBOXSTRICTRC hmR0VmxInjectEventVmcs(PVMCPUCC pVCpu, PCVMXTRANSIENT pVmxTransient, PCHMEVENT pEvent, bool fStepping,
    83498349                                           uint32_t *pfIntrState)
    83508350{
     
    85818581 * @param   pfIntrState     Where to store the VT-x guest-interruptibility state.
    85828582 */
    8583 static VBOXSTRICTRC hmR0VmxEvaluatePendingEvent(PVMCPUCC pVCpu, PVMXTRANSIENT pVmxTransient, uint32_t *pfIntrState)
     8583static VBOXSTRICTRC hmR0VmxEvaluatePendingEvent(PVMCPUCC pVCpu, PCVMXTRANSIENT pVmxTransient, uint32_t *pfIntrState)
    85848584{
    85858585    Assert(pfIntrState);
     
    87308730 *                          directly.
    87318731 */
    8732 static VBOXSTRICTRC hmR0VmxInjectPendingEvent(PVMCPUCC pVCpu, PVMXTRANSIENT pVmxTransient, uint32_t fIntrState, bool fStepping)
     8732static VBOXSTRICTRC hmR0VmxInjectPendingEvent(PVMCPUCC pVCpu, PCVMXTRANSIENT pVmxTransient, uint32_t fIntrState, bool fStepping)
    87338733{
    87348734    HMVMX_ASSERT_PREEMPT_SAFE(pVCpu);
     
    90389038    if (    pVCpu->CTX_SUFF(pVM)->hm.s.vmx.fUnrestrictedGuest
    90399039        || !CPUMIsGuestInRealModeEx(&pVCpu->cpum.GstCtx))
    9040         pVmcsInfo->RealMode. fRealOnV86Active = false;
     9040        pVmcsInfo->RealMode.fRealOnV86Active = false;
    90419041    else
    90429042    {
     
    91649164
    91659165    /*
    9166      * For many exits it's only RIP/RSP/RFLAGS that changes and hence try to export it first
    9167      * without going through a lot of change flag checks.
     9166     * For many VM-exits only RIP/RSP/RFLAGS (and HWVIRT state when executing a nested-guest)
     9167     * changes. First try to export only these without going through all other changed-flag checks.
    91689168     */
    91699169    VBOXSTRICTRC   rcStrict;
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