linux/drivers/kvm
Laurent Vivier e70669abd4 KVM: Cleanup string I/O instruction emulation
Both vmx and svm decode the I/O instructions, and both botch the job,
requiring the instruction prefixes to be fetched in order to completely
decode the instruction.

So, if we see a string I/O instruction, use the x86 emulator to decode it,
as it already has all the prefix decoding machinery.

This patch defines ins/outs opcodes in x86_emulate.c and calls
emulate_instruction() from io_interception() (svm.c) and from handle_io()
(vmx.c).  It removes all vmx/svm prefix instruction decoders
(get_addr_size(), io_get_override(), io_address(), get_io_count())

Signed-off-by: Laurent Vivier <Laurent.Vivier@bull.net>
Signed-off-by: Avi Kivity <avi@qumranet.com>
2007-10-13 10:18:23 +02:00
..
Kconfig KVM: Use the scheduler preemption notifiers to make kvm preemptible 2007-10-13 10:18:20 +02:00
Makefile [PATCH] kvm: userspace interface 2006-12-10 09:57:22 -08:00
kvm.h KVM: Add and use pr_unimpl for standard formatting of unimplemented features 2007-10-13 10:18:22 +02:00
kvm_main.c KVM: Cleanup string I/O instruction emulation 2007-10-13 10:18:23 +02:00
kvm_svm.h KVM: Dynamically allocate vcpus 2007-10-13 10:18:20 +02:00
mmu.c KVM: Convert vm lock to a mutex 2007-10-13 10:18:20 +02:00
paging_tmpl.h KVM: Move gfn_to_page out of kmap/unmap pairs 2007-10-13 10:18:19 +02:00
segment_descriptor.h [PATCH] kvm: userspace interface 2006-12-10 09:57:22 -08:00
svm.c KVM: Cleanup string I/O instruction emulation 2007-10-13 10:18:23 +02:00
svm.h KVM: SVM: Reliably detect if SVM was disabled by BIOS 2007-07-16 12:05:49 +03:00
vmx.c KVM: Cleanup string I/O instruction emulation 2007-10-13 10:18:23 +02:00
vmx.h KVM: VMX: Remove a duplicated ia32e mode vm entry control 2007-10-13 10:18:23 +02:00
x86_emulate.c KVM: Cleanup string I/O instruction emulation 2007-10-13 10:18:23 +02:00
x86_emulate.h KVM: Change the emulator_{read,write,cmpxchg}_* functions to take a vcpu 2007-10-13 10:18:21 +02:00