diff options
author | Avi Kivity <avi@redhat.com> | 2008-11-28 00:14:07 +0200 |
---|---|---|
committer | Avi Kivity <avi@redhat.com> | 2008-12-31 16:55:05 +0200 |
commit | cf5de4f886116871c2ae2eee53524edd741a68ae (patch) | |
tree | d9d4626a7a46086784ef1fad2c0960f00a353e59 /arch/x86/kvm | |
parent | 8a09b6877f3100207b3572e7e12ea796493fe914 (diff) | |
download | blackbird-op-linux-cf5de4f886116871c2ae2eee53524edd741a68ae.tar.gz blackbird-op-linux-cf5de4f886116871c2ae2eee53524edd741a68ae.zip |
KVM: x86 emulator: fix ret emulation
'ret' did not set the operand type or size for the destination, so
writeback ignored it.
Signed-off-by: Avi Kivity <avi@redhat.com>
Diffstat (limited to 'arch/x86/kvm')
-rw-r--r-- | arch/x86/kvm/x86_emulate.c | 2 |
1 files changed, 2 insertions, 0 deletions
diff --git a/arch/x86/kvm/x86_emulate.c b/arch/x86/kvm/x86_emulate.c index 702de9869c19..72ae86b1b131 100644 --- a/arch/x86/kvm/x86_emulate.c +++ b/arch/x86/kvm/x86_emulate.c @@ -1650,7 +1650,9 @@ special_insn: emulate_grp2(ctxt); break; case 0xc3: /* ret */ + c->dst.type = OP_REG; c->dst.ptr = &c->eip; + c->dst.bytes = c->op_bytes; goto pop_instruction; case 0xc6 ... 0xc7: /* mov (sole member of Grp11) */ mov: |