• Nadav Amit's avatar
    KVM: x86: ARPL emulation can cause spurious exceptions · 2276b511
    Nadav Amit authored
    ARPL and MOVSXD are encoded the same and their execution depends on the
    execution mode.  The operand sizes of each instruction are different.
    Currently, ARPL is detected too late, after the decoding was already done, and
    therefore may result in spurious exception (instead of failed emulation).
    
    Introduce a group to the emulator to handle instructions according to execution
    mode (32/64 bits). Note: in order not to make changes that may affect
    performance, the new ModeDual can only be applied to instructions with ModRM.
    Signed-off-by: default avatarNadav Amit <namit@cs.technion.ac.il>
    Signed-off-by: default avatarPaolo Bonzini <pbonzini@redhat.com>
    2276b511
emulate.c 132 KB