VirtualBox

Changeset 97117 in vbox


Ignore:
Timestamp:
Oct 12, 2022 3:08:10 PM (2 years ago)
Author:
vboxsync
svn:sync-xref-src-repo-rev:
154079
Message:

IEM: Removed todo, testcase confirmed that CMPXCHG8B implementation was right.

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

Legend:

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

    r97050 r97117  
    41714171VBOXSTRICTRC iemRaiseMathFault(PVMCPUCC pVCpu)
    41724172{
    4173     return iemRaiseXcptOrInt(pVCpu, 0, X86_XCPT_MF, IEM_XCPT_FLAGS_T_CPU_XCPT, 0, 0);
     4173    if (pVCpu->cpum.GstCtx.cr0 & X86_CR0_NE)
     4174        return iemRaiseXcptOrInt(pVCpu, 0, X86_XCPT_MF, IEM_XCPT_FLAGS_T_CPU_XCPT, 0, 0);
     4175    else
     4176    {
     4177        /* Convert a #MF into a FERR -> IRQ 13. See @bugref{6117}. */
     4178        PDMIsaSetIrq(pVCpu->CTX_SUFF(pVM), 13 /* u8Irq */, 1 /* u8Level */, 0 /* uTagSrc */);
     4179        iemRegUpdateRipAndClearRF(pVCpu);
     4180        return VINF_SUCCESS;
     4181    }
    41744182}
    41754183
  • trunk/src/VBox/VMM/VMMAll/IEMAllInstructionsTwoByte0f.cpp.h

    r97114 r97117  
    1214212142    IEM_MC_COMMIT_EFLAGS(EFlags);
    1214312143    IEM_MC_IF_EFL_BIT_NOT_SET(X86_EFL_ZF)
    12144         /** @todo Testcase: Check effect of cmpxchg8b on bits 63:32 in rax and rdx. */
    1214512144        IEM_MC_STORE_GREG_U32(X86_GREG_xAX, u64EaxEdx.s.Lo);
    1214612145        IEM_MC_STORE_GREG_U32(X86_GREG_xDX, u64EaxEdx.s.Hi);
Note: See TracChangeset for help on using the changeset viewer.

© 2025 Oracle Support Privacy / Do Not Sell My Info Terms of Use Trademark Policy Automated Access Etiquette