From mboxrd@z Thu Jan 1 00:00:00 1970 Received: from [140.186.70.92] (port=35048 helo=eggs.gnu.org) by lists.gnu.org with esmtp (Exim 4.43) id 1PzSOd-0000uA-Pf for qemu-devel@nongnu.org; Tue, 15 Mar 2011 07:26:43 -0400 Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1PzSOc-0004B0-2s for qemu-devel@nongnu.org; Tue, 15 Mar 2011 07:26:39 -0400 Received: from goliath.siemens.de ([192.35.17.28]:21966) by eggs.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1PzSOb-0004AE-O7 for qemu-devel@nongnu.org; Tue, 15 Mar 2011 07:26:37 -0400 From: Jan Kiszka Date: Tue, 15 Mar 2011 12:26:11 +0100 Message-Id: MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: quoted-printable Subject: [Qemu-devel] [PATCH v2 00/20] [uq/master] Patch queue, part V (the rest) List-Id: qemu-devel.nongnu.org List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , To: Avi Kivity , Marcelo Tosatti Cc: kvm@vger.kernel.org, TeLeMan , Riku Voipio , qemu-devel@nongnu.org, Alexander Graf , =?UTF-8?q?Andreas=20F=C3=A4rber?= 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 CC: Andreas F=C3=A4rber CC: Riku Voipio CC: TeLeMan 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(-)