On Mon, Apr 15, 2013 at 02:05:30PM +0200, Paolo Bonzini wrote: > 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. > Reviewed-by: Gleb Natapov <g...@redhat.com>
> v2->v3: add stub kvm_arch_reset_vcpu for s390 > > Paolo Bonzini (2): > kvm: reset state from the CPU's reset method > 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 | 5 +++++ > 10 files changed, 46 insertions(+), 32 deletions(-) > > -- > 1.8.1.4 -- Gleb.