VirtualBox

Ignore:
Timestamp:
Feb 18, 2022 3:13:28 PM (3 years ago)
Author:
vboxsync
Message:

VMM/IEM: Working on adding missing C version of IEMAllAImpl.asm functions. bugref:9898

File:
1 edited

Legend:

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

    r93115 r93847  
    70337033
    70347034    IEM_MC_BEGIN(0, 0);
     7035#ifndef RT_ARCH_ARM64
    70357036    if (IEM_GET_HOST_CPU_FEATURES(pVCpu)->fSse2)
     7037#endif
    70367038        IEM_MC_CALL_VOID_AIMPL_0(iemAImpl_lfence);
     7039#ifndef RT_ARCH_ARM64
    70377040    else
    70387041        IEM_MC_CALL_VOID_AIMPL_0(iemAImpl_alt_mem_fence);
     7042#endif
    70397043    IEM_MC_ADVANCE_RIP();
    70407044    IEM_MC_END();
     
    70537057
    70547058    IEM_MC_BEGIN(0, 0);
     7059#ifndef RT_ARCH_ARM64
    70557060    if (IEM_GET_HOST_CPU_FEATURES(pVCpu)->fSse2)
     7061#endif
    70567062        IEM_MC_CALL_VOID_AIMPL_0(iemAImpl_mfence);
     7063#ifndef RT_ARCH_ARM64
    70577064    else
    70587065        IEM_MC_CALL_VOID_AIMPL_0(iemAImpl_alt_mem_fence);
     7066#endif
    70597067    IEM_MC_ADVANCE_RIP();
    70607068    IEM_MC_END();
     
    70737081
    70747082    IEM_MC_BEGIN(0, 0);
     7083#ifndef RT_ARCH_ARM64
    70757084    if (IEM_GET_HOST_CPU_FEATURES(pVCpu)->fSse2)
     7085#endif
    70767086        IEM_MC_CALL_VOID_AIMPL_0(iemAImpl_sfence);
     7087#ifndef RT_ARCH_ARM64
    70777088    else
    70787089        IEM_MC_CALL_VOID_AIMPL_0(iemAImpl_alt_mem_fence);
     7090#endif
    70797091    IEM_MC_ADVANCE_RIP();
    70807092    IEM_MC_END();
     
    85688580
    85698581        IEM_MC_FETCH_EFLAGS(EFlags);
    8570 # ifdef RT_ARCH_AMD64
     8582# if defined(RT_ARCH_AMD64) || defined(RT_ARCH_ARM64)
     8583#  if defined(RT_ARCH_AMD64)
    85718584        if (IEM_GET_HOST_CPU_FEATURES(pVCpu)->fMovCmpXchg16b)
     8585#  endif
    85728586        {
    85738587            if (!(pVCpu->iem.s.fPrefixes & IEM_OP_PRF_LOCK))
     
    85768590                IEM_MC_CALL_VOID_AIMPL_4(iemAImpl_cmpxchg16b_locked, pu128MemDst, pu128RaxRdx, pu128RbxRcx, pEFlags);
    85778591        }
     8592#  if defined(RT_ARCH_AMD64)
    85788593        else
     8594#  endif
    85798595# endif
     8596# if !defined(RT_ARCH_ARM64) /** @todo may need this for unaligned accesses... */
    85808597        {
    85818598            /* Note! The fallback for 32-bit systems and systems without CX16 is multiple
     
    85918608            }
    85928609        }
     8610# endif
    85938611
    85948612        IEM_MC_MEM_COMMIT_AND_UNMAP(pu128MemDst, IEM_ACCESS_DATA_RW);
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