public inbox for kvm@vger.kernel.org
 help / color / mirror / Atom feed
* [PATCH 00/23] next round of emulator cleanups
@ 2010-04-27 12:15 Gleb Natapov
  2010-04-27 12:15 ` [PATCH 01/23] KVM: x86 emulator: introduce read cache Gleb Natapov
                   ` (22 more replies)
  0 siblings, 23 replies; 32+ messages in thread
From: Gleb Natapov @ 2010-04-27 12:15 UTC (permalink / raw)
  To: avi, mtosatti; +Cc: kvm

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(-)


^ permalink raw reply	[flat|nested] 32+ messages in thread

end of thread, other threads:[~2010-04-30 17:16 UTC | newest]

Thread overview: 32+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2010-04-27 12:15 [PATCH 00/23] next round of emulator cleanups Gleb Natapov
2010-04-27 12:15 ` [PATCH 01/23] KVM: x86 emulator: introduce read cache Gleb Natapov
2010-04-27 12:15 ` [PATCH 02/23] KVM: x86 emulator: fix Move r/m16 to segment register decoding Gleb Natapov
2010-04-27 12:15 ` [PATCH 03/23] KVM: x86 emulator: cleanup xchg emulation Gleb Natapov
2010-04-27 12:15 ` [PATCH 04/23] KVM: x86 emulator: cleanup nop emulation Gleb Natapov
2010-04-27 12:15 ` [PATCH 05/23] KVM: x86 emulator: handle "far address" source operand Gleb Natapov
2010-04-27 12:15 ` [PATCH 06/23] KVM: x86 emulator: add (set|get)_dr callbacks to x86_emulate_ops Gleb Natapov
2010-04-27 12:15 ` [PATCH 07/23] KVM: x86 emulator: add (set|get)_msr " Gleb Natapov
2010-04-27 12:15 ` [PATCH 08/23] KVM: x86 emulator: cleanup some direct calls into kvm to use existing callbacks Gleb Natapov
2010-04-28  8:59   ` Avi Kivity
2010-04-28  9:33     ` Gleb Natapov
2010-04-28 12:56       ` Avi Kivity
2010-04-27 12:15 ` [PATCH 09/23] KVM: x86 emulator: make set_cr() callback return error if it fails Gleb Natapov
2010-04-28  9:01   ` Avi Kivity
2010-04-27 12:15 ` [PATCH 10/23] KVM: x86 emulator: make (get|set)_dr() " Gleb Natapov
2010-04-27 12:15 ` [PATCH 11/23] KVM: x86 emulator: fix X86EMUL_RETRY_INSTR and X86EMUL_CMPXCHG_FAILED values Gleb Natapov
2010-04-27 12:15 ` [PATCH 12/23] KVM: fill in run->mmio details in (read|write)_emulated function Gleb Natapov
2010-04-27 12:15 ` [PATCH 13/23] KVM: x86 emulator: x86_emulate_insn() return -1 only in case of emulation failure Gleb Natapov
2010-04-27 12:15 ` [PATCH 14/23] KVM: remove export of emulator_write_emulated() Gleb Natapov
2010-04-27 12:15 ` [PATCH 15/23] KVM: do not inject #PF in (read|write)_emulated() callbacks Gleb Natapov
2010-04-28  9:11   ` Avi Kivity
2010-04-28  9:21     ` Gleb Natapov
2010-04-29  9:23       ` Avi Kivity
2010-04-27 12:15 ` [PATCH 16/23] KVM: handle emulation failure case first Gleb Natapov
2010-04-27 12:15 ` [PATCH 17/23] KVM: x86 emulator: advance RIP outside x86 emulator code Gleb Natapov
2010-04-27 12:15 ` [PATCH 18/23] KVM: x86 emulator: set RFLAGS " Gleb Natapov
2010-04-27 12:15 ` [PATCH 19/23] KVM: x86 emulator: use shadowed register in emulate_sysexit() Gleb Natapov
2010-04-27 12:15 ` [PATCH 20/23] KVM: x86 exmulator: handle shadowed registers outside emulator Gleb Natapov
2010-04-27 12:15 ` [PATCH 21/23] KVM: x86 emulator: move interruptibility state tracking out of emulator Gleb Natapov
2010-04-27 12:15 ` [PATCH 22/23] KVM: remove unneeded initialization Gleb Natapov
2010-04-28  9:17   ` Avi Kivity
2010-04-27 12:15 ` [PATCH 23/23] KVM: x86 emulator: do not inject exception directly into vcpu Gleb Natapov

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox