VirtualBox

Changeset 92553 in vbox for trunk/src/VBox/VMM/VMMAll


Ignore:
Timestamp:
Nov 22, 2021 6:31:11 PM (3 years ago)
Author:
vboxsync
Message:

VMM/IEM: Tweaked iemFpuUpdateOpcodeAndIpWorker and iemFpuUpdateDP for long mode. Trouble with bs3-fpustat-1 on NEM/linux. bugref:9044

File:
1 edited

Legend:

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

    r92495 r92553  
    70797079        pFpuCtx->FPUIP = pVCpu->cpum.GstCtx.eip | ((uint32_t)pVCpu->cpum.GstCtx.cs.Sel << 4);
    70807080    }
    7081     else
     7081    else if (!IEM_IS_LONG_MODE(pVCpu))
    70827082    {
    70837083        pFpuCtx->CS    = pVCpu->cpum.GstCtx.cs.Sel;
    70847084        pFpuCtx->FPUIP = pVCpu->cpum.GstCtx.rip;
    70857085    }
     7086    else
     7087        *(uint64_t *)&pFpuCtx->FPUIP = pVCpu->cpum.GstCtx.rip;
    70867088}
    70877089
     
    71167118        pFpuCtx->FPUDP = (uint32_t)GCPtrEff + ((uint32_t)sel << 4);
    71177119    }
    7118     else
     7120    else if (!IEM_IS_LONG_MODE(pVCpu))
    71197121    {
    71207122        pFpuCtx->DS    = sel;
    71217123        pFpuCtx->FPUDP = GCPtrEff;
    71227124    }
     7125    else
     7126        *(uint64_t *)&pFpuCtx->FPUDP = GCPtrEff;
    71237127}
    71247128
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