VirtualBox

Changeset 74703 in vbox for trunk/src/VBox


Ignore:
Timestamp:
Oct 9, 2018 8:13:35 AM (6 years ago)
Author:
vboxsync
Message:

VMM/IEM: Nested VMX: bugref:9180 #UDs take priority over VM-exit for XSAVE/XSTOR.

File:
1 edited

Legend:

Unmodified
Added
Removed
  • trunk/src/VBox/VMM/VMMAll/IEMAllCImpl.cpp.h

    r74702 r74703  
    79927992     * Raise exceptions.
    79937993     */
     7994    if (!(pVCpu->cpum.GstCtx.cr4 & X86_CR4_OSXSAVE))
     7995        return iemRaiseUndefinedOpcode(pVCpu);
    79947996    /* When in VMX non-root mode and XSAVE/XRSTOR is not enabled, it results in #UD. */
    79957997    if (    IEM_VMX_IS_NON_ROOT_MODE(pVCpu)
     
    79998001        return iemRaiseUndefinedOpcode(pVCpu);
    80008002    }
    8001     if (!(pVCpu->cpum.GstCtx.cr4 & X86_CR4_OSXSAVE))
    8002         return iemRaiseUndefinedOpcode(pVCpu);
    80038003    if (pVCpu->cpum.GstCtx.cr0 & X86_CR0_TS)
    80048004        return iemRaiseDeviceNotAvailable(pVCpu);
     
    81558155     * Raise exceptions.
    81568156     */
     8157    if (!(pVCpu->cpum.GstCtx.cr4 & X86_CR4_OSXSAVE))
     8158        return iemRaiseUndefinedOpcode(pVCpu);
    81578159    /* When in VMX non-root mode and XSAVE/XRSTOR is not enabled, it results in #UD. */
    81588160    if (    IEM_VMX_IS_NON_ROOT_MODE(pVCpu)
     
    81628164        return iemRaiseUndefinedOpcode(pVCpu);
    81638165    }
    8164     if (!(pVCpu->cpum.GstCtx.cr4 & X86_CR4_OSXSAVE))
    8165         return iemRaiseUndefinedOpcode(pVCpu);
    81668166    if (pVCpu->cpum.GstCtx.cr0 & X86_CR0_TS)
    81678167        return iemRaiseDeviceNotAvailable(pVCpu);
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