kvm: Separate TCG from KVM cpu execution
authorJan Kiszka <jan.kiszka@siemens.com>
Mon, 7 Feb 2011 11:19:18 +0000 (12:19 +0100)
committerMarcelo Tosatti <mtosatti@redhat.com>
Mon, 14 Feb 2011 14:39:46 +0000 (12:39 -0200)
commit8439e93828834e682d0dfbd329eb2c3763872553
treefc81419978ca867d9db8557d13508d971b634402
parentbe20a2e9d4f21b318a8757345ea3fcfdba2fcfb4
kvm: Separate TCG from KVM cpu execution

Mixing up TCG bits with KVM already led to problems around eflags
emulation on x86. Moreover, quite some code that TCG requires on cpu
enty/exit is useless for KVM. So dispatch between tcg_cpu_exec and
kvm_cpu_exec as early as possible.

The core logic of cpu_halted from cpu_exec is added to
kvm_arch_process_irqchip_events. Moving away from cpu_exec makes
exception_index meaningless for KVM, we can simply pass the exit reason
directly (only "EXCP_DEBUG vs. rest" is relevant).

Signed-off-by: Jan Kiszka <jan.kiszka@siemens.com>
Signed-off-by: Marcelo Tosatti <mtosatti@redhat.com>
cpu-exec.c
cpus.c
kvm-all.c
target-i386/kvm.c