Reviewed-by: liguang <lig.f...@cn.fujitsu.com> 在 2013-06-09日的 21:12 +0200,Andreas Färber写道: > Use new qemu_for_each_cpu(). > > Signed-off-by: Andreas Färber <afaer...@suse.de> > --- > cpus.c | 24 +++++++++++++++--------- > 1 file changed, 15 insertions(+), 9 deletions(-) > > diff --git a/cpus.c b/cpus.c > index 24ee974..1975c5c 100644 > --- a/cpus.c > +++ b/cpus.c > @@ -1331,18 +1331,24 @@ exit: > fclose(f); > } > > -void qmp_inject_nmi(Error **errp) > -{ > #if defined(TARGET_I386) > - CPUArchState *env; > +static void qmp_inject_one_nmi(CPUState *cs, void *data) > +{ > + X86CPU *cpu = X86_CPU(cs); > + CPUX86State *env = &cpu->env; > > - for (env = first_cpu; env != NULL; env = env->next_cpu) { > - if (!env->apic_state) { > - cpu_interrupt(CPU(x86_env_get_cpu(env)), CPU_INTERRUPT_NMI); > - } else { > - apic_deliver_nmi(env->apic_state); > - } > + if (!env->apic_state) { > + cpu_interrupt(cs, CPU_INTERRUPT_NMI); > + } else { > + apic_deliver_nmi(env->apic_state); > } > +} > +#endif > + > +void qmp_inject_nmi(Error **errp) > +{ > +#if defined(TARGET_I386) > + qemu_for_each_cpu(qmp_inject_one_nmi, NULL); > #else > error_set(errp, QERR_UNSUPPORTED); > #endif
- [Qemu-devel] [PATCH qom-cpu 12/59] gdbstub: Simplify find_... Andreas Färber
- [Qemu-devel] [PATCH qom-cpu 09/59] cpus: Simplify hw_error... Andreas Färber
- [Qemu-devel] [PATCH qom-cpu 16/59] kvm: Change kvm_set_sig... Andreas Färber
- [Qemu-devel] [PATCH qom-cpu 19/59] kvm: Change kvm_handle_... Andreas Färber
- [Qemu-devel] [PATCH qom-cpu 06/59] cpus: Simplify resume_a... Andreas Färber
- [Qemu-devel] [PATCH qom-cpu 17/59] cpus: Change qemu_kvm_i... Andreas Färber
- [Qemu-devel] [PATCH qom-cpu 08/59] cpus: Simplify qmp_inje... Andreas Färber
- Re: [Qemu-devel] [PATCH qom-cpu 08/59] cpus: Simplify... li guang
- [Qemu-devel] [PATCH qom-cpu 20/59] kvm: Change kvm_cpu_exe... Andreas Färber
- [Qemu-devel] [PATCH qom-cpu 22/59] cpus: Change cpu_handle... Andreas Färber
- [Qemu-devel] [PATCH qom-cpu 35/59] linux-user: Simplify st... Andreas Färber
- [Qemu-devel] [PATCH qom-cpu 21/59] gdbstub: Set gdb_set_st... Andreas Färber
- [Qemu-devel] [PATCH qom-cpu 23/59] cpus: Change qemu_kvm_s... Andreas Färber
- [Qemu-devel] [PATCH qom-cpu 39/59] translate-all: Abstract... Andreas Färber
- [Qemu-devel] [PATCH qom-cpu 11/59] monitor: Simplify do_in... Andreas Färber
- Re: [Qemu-devel] [PATCH qom-cpu 11/59] monitor: Simpl... li guang
- Re: [Qemu-devel] [PATCH qom-cpu 11/59] monitor: Simpl... Luiz Capitulino
- Re: [Qemu-devel] [PATCH qom-cpu 11/59] monitor: S... Andreas Färber