VirtualBox

Changeset 66405 in vbox


Ignore:
Timestamp:
Apr 3, 2017 3:34:39 PM (8 years ago)
Author:
vboxsync
svn:sync-xref-src-repo-rev:
114358
Message:

IEM: Use the new CPUMGetGuestMxCsrMask function in FXSAVE & FXRSTOR implementation.

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

Legend:

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

    r66404 r66405  
    68886888    pDst->FOP           = pSrc->FOP;
    68896889    pDst->MXCSR         = pSrc->MXCSR;
    6890     pDst->MXCSR_MASK    = pSrc->MXCSR_MASK;
     6890    pDst->MXCSR_MASK    = CPUMGetGuestMxCsrMask(pVCpu->CTX_SUFF(pVM));
    68916891    for (uint32_t i = 0; i < RT_ELEMENTS(pDst->aRegs); i++)
    68926892    {
     
    69846984     */
    69856985    uint32_t const fMXCSR      = pSrc->MXCSR;
    6986     uint32_t const fMXCSR_MASK = pDst->MXCSR_MASK ? pDst->MXCSR_MASK : UINT32_C(0xffbf);
     6986    uint32_t const fMXCSR_MASK = CPUMGetGuestMxCsrMask(pVCpu->CTX_SUFF(pVM));
    69876987    if (fMXCSR & ~fMXCSR_MASK)
    69886988    {
  • trunk/src/VBox/VMM/VMMR3/CPUM.cpp

    r66403 r66405  
    11901190       IA-32 Processor States Following Power-up, Reset, or INIT */
    11911191    pFpuCtx->MXCSR                  = 0x1F80;
    1192     pFpuCtx->MXCSR_MASK             = 0xffff; /** @todo REM always changed this for us. Should probably check if the HW really
    1193                                                         supports all bits, since a zero value here should be read as 0xffbf. */
     1192    pFpuCtx->MXCSR_MASK             = pVM->cpum.s.GuestInfo.fMxCsrMask; /** @todo check if REM messes this up... */
     1193
    11941194    pCtx->aXcr[0]                   = XSAVE_C_X87;
    11951195    if (pVM->cpum.s.HostFeatures.cbMaxExtendedState >= RT_OFFSETOF(X86XSAVEAREA, Hdr))
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