This series catches "all the rest" to prepare QEMU's KVM support for merging with qemu-kvm. IOW, once these bits here are applied, qemu-kvm can switch its infrastructure to upstream and is effectively only adding own bits for in-kernel irqchip and device assignment support. Topics of this series are: - support for optimized interrupt handling by hooking cpu_interrupt - another preparational step for in-kernel irqchip support - x86: Do not leave halt if interrupts are disabled - mark VCPU state dirty on creation (fixed deadlock on early hw_error) - complete KVM support for PAT MSR, some related improvements for TCG - further consolidation of inner kvm_cpu_exec loop - expose VCPU host thread ID via "info cpus" and "query-cpus" Changes in v2: - Rebased over current uq/master - Build fix for MAC OS (regression of previous round) - Fix for x86 hardware breakpoints in TCG mode (regression of previous round) - Build fix for s390 (regression of previous round) - Removed premature optimization from "Install optimized interrupt handlers" - Keep KVM_RUN return value in separate variable (cleanup) - Reorder error handling of KVM_RUN (micro-optimization) CC: Alexander Graf <agraf@xxxxxxx> CC: Andreas FÃrber <andreas.faerber@xxxxxx> CC: Riku Voipio <riku.voipio@xxxxxx> CC: TeLeMan <geleman@xxxxxxxxx> Jan Kiszka (20): Implement qemu_kvm_eat_signals only for CONFIG_LINUX x86: Unbreak TCG support for hardware breakpoints s390: Detect invalid invocations of qemu_ram_free/remap Break up user and system cpu_interrupt implementations Redirect cpu_interrupt to callback handler kvm: Install optimized interrupt handler kvm: Add in-kernel irqchip awareness to cpu_thread_is_idle kvm: x86: Do not leave halt if interrupts are disabled kvm: Mark VCPU state dirty on creation x86: Properly reset PAT MSR x86: Save/restore PAT MSR kvm: x86: Synchronize PAT MSR with the kernel kvm: Consider EXIT_DEBUG unknown without CAP_SET_GUEST_DEBUG kvm: Keep KVM_RUN return value in separate variable kvm: Reorder error handling of KVM_RUN kvm: Rework inner loop of kvm_cpu_exec kvm: Align kvm_arch_handle_exit to kvm_cpu_exec changes kvm: x86: Reorder functions in kvm.c kvm: x86: Push kvm_arch_debug to kvm_arch_handle_exit Expose thread_id in info cpus cpu-all.h | 14 ++++- cpu-defs.h | 1 + cpu-exec.c | 27 +++++++++ cpus.c | 126 ++++++++++++++++++------------------------ exec.c | 25 +++++++-- kvm-all.c | 57 +++++++++---------- kvm.h | 2 - monitor.c | 4 + os-posix.c | 10 +++ os-win32.c | 5 ++ osdep.h | 1 + qmp-commands.hx | 3 + target-i386/cpu.h | 4 +- target-i386/cpuid.c | 1 - target-i386/helper.c | 5 ++ target-i386/kvm.c | 146 +++++++++++++++++++++++++++---------------------- target-i386/machine.c | 2 + target-ppc/kvm.c | 8 +- target-s390x/kvm.c | 5 ++ 19 files changed, 263 insertions(+), 183 deletions(-) -- To unsubscribe from this list: send the line "unsubscribe kvm" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html