• Nadav Amit's avatar
    KVM: x86: Wrong operand size for far ret · 16794aaa
    Nadav Amit authored
    Indeed, Intel SDM specifically states that for the RET instruction "In 64-bit
    mode, the default operation size of this instruction is the stack-address size,
    i.e. 64 bits."
    
    However, experiments show this is not the case. Here is for example objdump of
    small 64-bit asm:
    
      4004f1:	ca 14 00             	lret   $0x14
      4004f4:	48 cb                	lretq
      4004f6:	48 ca 14 00          	lretq  $0x14
    
    Therefore, remove the Stack flag from far-ret instructions.
    Signed-off-by: default avatarNadav Amit <namit@cs.technion.ac.il>
    Signed-off-by: default avatarPaolo Bonzini <pbonzini@redhat.com>
    16794aaa
emulate.c 132 KB