VirtualBox

Changeset 103647 in vbox for trunk


Ignore:
Timestamp:
Mar 2, 2024 3:00:58 AM (7 months ago)
Author:
vboxsync
Message:

VMM/IEM: Enabled the iemNativeEmit_and_r_r_efl & iemNativeEmit_or_r_r_efl code for ARM64 as well. bugref:10376

File:
1 edited

Legend:

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

    r103646 r103647  
    939939    IEMOP_MNEMONIC2(MR, OR, or, Eb, Gb, DISOPTYPE_HARMLESS, IEMOPHINT_IGNORES_OP_SIZES | IEMOPHINT_LOCK_ALLOWED);
    940940    IEMOP_VERIFICATION_UNDEFINED_EFLAGS(X86_EFL_AF);
    941     IEMOP_BODY_BINARY_rm_r8_RW(iemAImpl_or_u8, iemAImpl_or_u8_locked, or, RT_ARCH_VAL_AMD64, 0);
     941    IEMOP_BODY_BINARY_rm_r8_RW(iemAImpl_or_u8, iemAImpl_or_u8_locked, or, RT_ARCH_VAL_AMD64 | RT_ARCH_VAL_ARM64, 0);
    942942}
    943943
     
    959959    IEMOP_MNEMONIC2(MR, OR, or, Ev, Gv, DISOPTYPE_HARMLESS, IEMOPHINT_LOCK_ALLOWED);
    960960    IEMOP_VERIFICATION_UNDEFINED_EFLAGS(X86_EFL_AF);
    961     IEMOP_BODY_BINARY_rm_rv_RW(    iemAImpl_or_u16,        iemAImpl_or_u32,        iemAImpl_or_u64,       or, RT_ARCH_VAL_AMD64, 0);
     961    IEMOP_BODY_BINARY_rm_rv_RW(    iemAImpl_or_u16,        iemAImpl_or_u32,        iemAImpl_or_u64,       or, RT_ARCH_VAL_AMD64 | RT_ARCH_VAL_ARM64, 0);
    962962    IEMOP_BODY_BINARY_rm_rv_LOCKED(iemAImpl_or_u16_locked, iemAImpl_or_u32_locked, iemAImpl_or_u64_locked);
    963963}
     
    974974    IEMOP_MNEMONIC2(RM, OR, or, Gb, Eb, DISOPTYPE_HARMLESS, IEMOPHINT_IGNORES_OP_SIZES | IEMOPHINT_LOCK_ALLOWED);
    975975    IEMOP_VERIFICATION_UNDEFINED_EFLAGS(X86_EFL_AF);
    976     IEMOP_BODY_BINARY_r8_rm(iemAImpl_or_u8, or, RT_ARCH_VAL_AMD64);
     976    IEMOP_BODY_BINARY_r8_rm(iemAImpl_or_u8, or, RT_ARCH_VAL_AMD64 | RT_ARCH_VAL_ARM64);
    977977}
    978978
     
    989989    IEMOP_VERIFICATION_UNDEFINED_EFLAGS(X86_EFL_AF);
    990990    uint8_t bRm; IEM_OPCODE_GET_NEXT_U8(&bRm);
    991     IEMOP_BODY_BINARY_rv_rm(bRm, iemAImpl_or_u16, iemAImpl_or_u32, iemAImpl_or_u64, 1, 0, or, RT_ARCH_VAL_AMD64);
     991    IEMOP_BODY_BINARY_rv_rm(bRm, iemAImpl_or_u16, iemAImpl_or_u32, iemAImpl_or_u64, 1, 0, or, RT_ARCH_VAL_AMD64 | RT_ARCH_VAL_ARM64);
    992992}
    993993
     
    13161316    IEMOP_MNEMONIC2(MR, AND, and, Eb, Gb, DISOPTYPE_HARMLESS, IEMOPHINT_IGNORES_OP_SIZES | IEMOPHINT_LOCK_ALLOWED);
    13171317    IEMOP_VERIFICATION_UNDEFINED_EFLAGS(X86_EFL_AF);
    1318     IEMOP_BODY_BINARY_rm_r8_RW(iemAImpl_and_u8, iemAImpl_and_u8_locked, and, RT_ARCH_VAL_AMD64, 0);
     1318    IEMOP_BODY_BINARY_rm_r8_RW(iemAImpl_and_u8, iemAImpl_and_u8_locked, and, RT_ARCH_VAL_AMD64 | RT_ARCH_VAL_ARM64, 0);
    13191319}
    13201320
     
    13291329    IEMOP_MNEMONIC2(MR, AND, and, Ev, Gv, DISOPTYPE_HARMLESS, IEMOPHINT_LOCK_ALLOWED);
    13301330    IEMOP_VERIFICATION_UNDEFINED_EFLAGS(X86_EFL_AF);
    1331     IEMOP_BODY_BINARY_rm_rv_RW(    iemAImpl_and_u16,        iemAImpl_and_u32,        iemAImpl_and_u64,       and, RT_ARCH_VAL_AMD64, 0);
     1331    IEMOP_BODY_BINARY_rm_rv_RW(    iemAImpl_and_u16,        iemAImpl_and_u32,        iemAImpl_and_u64,       and, RT_ARCH_VAL_AMD64 | RT_ARCH_VAL_ARM64, 0);
    13321332    IEMOP_BODY_BINARY_rm_rv_LOCKED(iemAImpl_and_u16_locked, iemAImpl_and_u32_locked, iemAImpl_and_u64_locked);
    13331333}
     
    13431343    IEMOP_MNEMONIC2(RM, AND, and, Gb, Eb, DISOPTYPE_HARMLESS, IEMOPHINT_IGNORES_OP_SIZES);
    13441344    IEMOP_VERIFICATION_UNDEFINED_EFLAGS(X86_EFL_AF);
    1345     IEMOP_BODY_BINARY_r8_rm(iemAImpl_and_u8, and, RT_ARCH_VAL_AMD64);
     1345    IEMOP_BODY_BINARY_r8_rm(iemAImpl_and_u8, and, RT_ARCH_VAL_AMD64 | RT_ARCH_VAL_ARM64);
    13461346}
    13471347
     
    13571357    IEMOP_VERIFICATION_UNDEFINED_EFLAGS(X86_EFL_AF);
    13581358    uint8_t bRm; IEM_OPCODE_GET_NEXT_U8(&bRm);
    1359     IEMOP_BODY_BINARY_rv_rm(bRm, iemAImpl_and_u16, iemAImpl_and_u32, iemAImpl_and_u64, 1, 0, and, RT_ARCH_VAL_AMD64);
     1359    IEMOP_BODY_BINARY_rv_rm(bRm, iemAImpl_and_u16, iemAImpl_and_u32, iemAImpl_and_u64, 1, 0, and, RT_ARCH_VAL_AMD64 | RT_ARCH_VAL_ARM64);
    13601360}
    13611361
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