VirtualBox

Changeset 97511 in vbox for trunk/src/VBox/VMM


Ignore:
Timestamp:
Nov 11, 2022 12:24:25 PM (2 years ago)
Author:
vboxsync
Message:

VMM/IEM: Fixed 64-bit indirect far call/jmp again (intel). bugref:9898

File:
1 edited

Legend:

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

    r97508 r97511  
    1151611516        return IEMOP_RAISE_INVALID_OPCODE(); /* callf eax is not legal */
    1151711517
    11518     /* 64-bit mode: Intel has a fixed default opcode size of 64-bit. AMD64 OTOH defaults to 32-bit and ignores REX.W. */
    11519     if (pVCpu->iem.s.enmCpuMode != IEMMODE_64BIT)
     11518    /* 64-bit mode: Default is 32-bit, but only intel respects a REX.W prefix. */
     11519    /** @todo what does VIA do? */
     11520    if (pVCpu->iem.s.enmCpuMode != IEMMODE_64BIT || IEM_IS_GUEST_CPU_INTEL(pVCpu) || pVCpu->iem.s.enmEffOpSize != IEMMODE_64BIT)
    1152011521    { /* likely */ }
    11521     else if (IEM_IS_GUEST_CPU_INTEL(pVCpu))
    11522         pVCpu->iem.s.enmEffOpSize = pVCpu->iem.s.enmDefOpSize = IEMMODE_64BIT; /** @todo what does VIA do? */
    11523     else if (pVCpu->iem.s.enmEffOpSize == IEMMODE_64BIT)
     11522    else
    1152411523        pVCpu->iem.s.enmEffOpSize = IEMMODE_32BIT;
    1152511524
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