On 29.11.2011, at 07:41, Liu Yu wrote: > When guest reset, we need to halt secondary cpus until guest kick them. > This already works for tcg. The patch add the support for kvm. > > For kvm, if use in-kernel mpic, it should not be halted. > In this case, we pause the sencondaries instead. > This has impact to handling of halt exit, > but fortunately, kvmppc doesn't use halt exit. > > Signed-off-by: Liu Yu <yu....@freescale.com> > --- > hw/ppce500_spin.c | 1 + > target-ppc/kvm.c | 11 ++++++++++- > 2 files changed, 11 insertions(+), 1 deletions(-) > > diff --git a/hw/ppce500_spin.c b/hw/ppce500_spin.c > index cccd940..2b52728 100644 > --- a/hw/ppce500_spin.c > +++ b/hw/ppce500_spin.c > @@ -112,6 +112,7 @@ static void spin_kick(void *data) > > env->halted = 0; > env->exception_index = -1; > + env->stopped = 0; > qemu_cpu_kick(env); > } > > diff --git a/target-ppc/kvm.c b/target-ppc/kvm.c > index 429349f..ff4cfdb 100644 > --- a/target-ppc/kvm.c > +++ b/target-ppc/kvm.c > @@ -504,7 +504,16 @@ void kvm_arch_post_run(CPUState *env, struct kvm_run > *run) > > int kvm_arch_process_async_events(CPUState *env) > { > - return 0; > + if (kvm_irqchip_in_kernel()) {
There is no in-kernel irqchip in upstream KVM for BookE. I'll drop this branch. The rest is applied to ppc-next. Alex