KVM: allow emulator to adjust rip for emulated pio instructions
authorGuillaume Thouvenin <guillaume.thouvenin@ext.bull.net>
Tue, 28 Oct 2008 09:51:30 +0000 (10:51 +0100)
committerAvi Kivity <avi@redhat.com>
Wed, 31 Dec 2008 14:51:48 +0000 (16:51 +0200)
commite93f36bcfaa9e899c595e1c446c784a69021854a
tree25a506f2427ee4cd8f7197a7748fc90efd0bf7b8
parentc0d09828c870f90c6bc72070ada281568f89c63b
KVM: allow emulator to adjust rip for emulated pio instructions

If we call the emulator we shouldn't call skip_emulated_instruction()
in the first place, since the emulator already computes the next rip
for us. Thus we move ->skip_emulated_instruction() out of
kvm_emulate_pio() and into handle_io() (and the svm equivalent). We
also replaced "return 0" by "break" in the "do_io:" case because now
the shadow register state needs to be committed. Otherwise eip will never
be updated.

Signed-off-by: Guillaume Thouvenin <guillaume.thouvenin@ext.bull.net>
Signed-off-by: Avi Kivity <avi@redhat.com>
arch/x86/kvm/svm.c
arch/x86/kvm/vmx.c
arch/x86/kvm/x86.c
arch/x86/kvm/x86_emulate.c