This is the next round of emulator cleanups. Make it even more detached
from kvm. First patch introduces IO read cache which is needed to
correctly emulate instructions that require more then one IO read exit
during emulation.
Gleb Natapov (23):
KVM: x86 emulator: introduce read cache.
KVM: x86 emulator: fix Move r/m16 to segment register decoding.
KVM: x86 emulator: cleanup xchg emulation.
KVM: x86 emulator: cleanup nop emulation
KVM: x86 emulator: handle "far address" source operand.
KVM: x86 emulator: add (set|get)_dr callbacks to x86_emulate_ops
KVM: x86 emulator: add (set|get)_msr callbacks to x86_emulate_ops
KVM: x86 emulator: cleanup some direct calls into kvm to use existing
callbacks
KVM: x86 emulator: make set_cr() callback return error if it fails
KVM: x86 emulator: make (get|set)_dr() callback return error if it
fails
KVM: x86 emulator: fix X86EMUL_RETRY_INSTR and X86EMUL_CMPXCHG_FAILED
values
KVM: fill in run->mmio details in (read|write)_emulated function.
KVM: x86 emulator: x86_emulate_insn() return -1 only in case of
emulation failure
KVM: remove export of emulator_write_emulated().
KVM: do not inject #PF in (read|write)_emulated() callbacks
KVM: handle emulation failure case first.
KVM: x86 emulator: advance RIP outside x86 emulator code
KVM: x86 emulator: set RFLAGS outside x86 emulator code.
KVM: x86 emulator: use shadowed register in emulate_sysexit()
KVM: x86 exmulator: handle shadowed registers outside emulator.
KVM: x86 emulator: move interruptibility state tracking out of
emulator
KVM: remove unneeded initialization.
KVM: x86 emulator: do not inject exception directly into vcpu
arch/x86/include/asm/kvm_emulate.h | 29 ++-
arch/x86/include/asm/kvm_host.h | 9 -
arch/x86/kvm/emulate.c | 568 +++++++++++++++++++++---------------
arch/x86/kvm/x86.c | 375 +++++++++++++-----------
4 files changed, 560 insertions(+), 421 deletions(-)
--
To unsubscribe from this list: send the line "unsubscribe kvm" in
the body of a message to [email protected]
More majordomo info at http://vger.kernel.org/majordomo-info.html