VirtualBox

Changeset 46888 in vbox for trunk/src/VBox/VMM


Ignore:
Timestamp:
Jul 1, 2013 2:58:03 PM (11 years ago)
Author:
vboxsync
Message:

VMM/HM: Alignment and fix an assertion in the new AMD-V code.

Location:
trunk/src/VBox/VMM/VMMR0
Files:
2 edited

Legend:

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

    r46883 r46888  
    189189    /** The guest's TPR value used for TPR shadowing. */
    190190    uint8_t         u8GuestTpr;
    191 
     191    /** Alignment. */
     192    uint8_t         abAlignment0[7];
     193
     194    /** Whether the TSC_AUX MSR needs restoring on #VMEXIT. */
     195    bool            fRestoreTscAuxMsr;
    192196    /** Whether the #VMEXIT was caused by a page-fault during delivery of a
    193197     *  contributary exception or a page-fault. */
     
    195199    /** Whether the TSC offset mode needs to be updated. */
    196200    bool            fUpdateTscOffsetting;
    197     /** Whether the TSC_AUX MSR needs restoring on #VMEXIT. */
    198     bool            fRestoreTscAuxMsr;
    199201} SVMTRANSIENT, *PSVMTRANSIENT;
     202AssertCompileMemberAlignment(SVMTRANSIENT, u64ExitCode,       sizeof(uint64_t));
     203AssertCompileMemberAlignment(SVMTRANSIENT, fRestoreTscAuxMsr, sizeof(uint64_t));
    200204/** @}  */
    201205
     
    21912195{
    21922196    Assert(!TRPMHasTrap(pVCpu));
     2197    Log4Func(("\n"));
    21932198
    21942199    const bool fIntShadow = !!hmR0SvmGetGuestIntrShadow(pVCpu, pCtx);
     
    22172222        if (fInject)
    22182223        {
     2224            Log4(("Injecting pending HM event.\n"));
     2225
    22192226            hmR0SvmInjectEventVmcb(pVCpu, pVmcb, pCtx, &Event);
    22202227            pVCpu->hm.s.Event.fPending = false;
     
    34463453
    34473454                pVCpu->hm.s.Event.u64IntrInfo = pVmcb->ctrl.ExitIntInfo.u;
    3448                 pVCpu->hm.s.Event.fPending = true;
    3449 
    34503455                hmR0SvmSetPendingEvent(pVCpu, &pVmcb->ctrl.ExitIntInfo, 0 /* GCPtrFaultAddress */);
    34513456
     
    44064411    STAM_COUNTER_INC(&pVCpu->hm.s.StatExitGuestMF);
    44074412
    4408     int rc;
    44094413    if (!(pCtx->cr0 & X86_CR0_NE))
    44104414    {
  • trunk/src/VBox/VMM/VMMR0/HMVMXR0.cpp

    r46882 r46888  
    178178    uint8_t         u8GuestTpr;
    179179    /** Alignment. */
    180     uint8_t         abAlignment0[6];
     180    uint8_t         abAlignment0[7];
    181181
    182182    /** The basic VM-exit reason. */
     
    196196    bool            fVMEntryFailed;
    197197    /** Alignment. */
    198     uint8_t         abAlignment1[5];
     198    uint8_t         abAlignment1[7];
    199199
    200200    /** The VM-entry interruption-information field. */
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