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