From mboxrd@z Thu Jan 1 00:00:00 1970 Received: from eggs.gnu.org ([208.118.235.92]:51427) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1UJ8iN-0008Hf-Gf for qemu-devel@nongnu.org; Fri, 22 Mar 2013 16:37:28 -0400 Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1UJ8iJ-0003yH-Sm for qemu-devel@nongnu.org; Fri, 22 Mar 2013 16:37:27 -0400 Received: from mail-wi0-x22b.google.com ([2a00:1450:400c:c05::22b]:51807) by eggs.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1UJ8iJ-0003yA-Lx for qemu-devel@nongnu.org; Fri, 22 Mar 2013 16:37:23 -0400 Received: by mail-wi0-f171.google.com with SMTP id hn17so8307050wib.10 for ; Fri, 22 Mar 2013 13:37:22 -0700 (PDT) Sender: Paolo Bonzini From: Paolo Bonzini Date: Fri, 22 Mar 2013 21:37:15 +0100 Message-Id: <1363984637-18132-1-git-send-email-pbonzini@redhat.com> Subject: [Qemu-devel] [PATCH uq/master v2 0/2] correctly reset the CPU on INIT interrupts List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , To: qemu-devel@nongnu.org Cc: Gleb Natapov , Marcelo Tosatti , kvm@vger.kernel.org These patches finally implement INIT entirely in userspace. The problem here was that the CPU was being reset after kvm_arch_reset_vcpu is called. This made it harder to hook into the reset process and put APs into KVM_MP_STATE_INIT_RECEIVED state (instead of KVM_MP_STATE_UNINITIALIZED which is the state after a system reset). In this series, patch 1 removes the kvm_arch_reset_vcpu from the generic code, and moves it into each architecture's CPU reset callback (half of our supported architectures do not need the callback anyway). With this in place, patch 2 can add a similar x86-specific callback that is used after an INIT reset. Apart from this callback, the code for INITs is shared entirely between the userspace irqchip and in-kernel irqchip cases. Paolo Bonzini (2): kvm: remove generic kvm_arch_reset_vcpu callback kvm: forward INIT signals coming from the chipset include/sysemu/kvm.h | 2 -- kvm-all.c | 11 ----------- target-arm/kvm.c | 4 ---- target-i386/cpu.c | 5 +++++ target-i386/helper.c | 4 ++++ target-i386/kvm.c | 37 ++++++++++++++++++++++++++----------- target-i386/kvm_i386.h | 2 ++ target-ppc/kvm.c | 4 ---- target-s390x/cpu.c | 4 ++++ target-s390x/cpu.h | 1 + 10 files changed, 42 insertions(+), 32 deletions(-) -- 1.8.1.4