On Fri, 15 Feb 2013 17:10:08 +0100 Andreas Färber <[email protected]> wrote:
> No functional change, just a reduction of CPU loops. > > The mon_cpu field is left untouched for now since changing that requires > a number of larger prerequisites, including cpu_synchronize_state() and > mon_get_cpu(). > > Signed-off-by: Andreas Färber <[email protected]> Reviewed-by: Luiz Capitulino <[email protected]> > --- > monitor.c | 13 +++++-------- > 1 Datei geändert, 5 Zeilen hinzugefügt(+), 8 Zeilen entfernt(-) > > diff --git a/monitor.c b/monitor.c > index 20bd19b..cae33c4 100644 > --- a/monitor.c > +++ b/monitor.c > @@ -855,17 +855,14 @@ EventInfoList *qmp_query_events(Error **errp) > /* set the current CPU defined by the user */ > int monitor_set_cpu(int cpu_index) > { > - CPUArchState *env; > CPUState *cpu; > > - for (env = first_cpu; env != NULL; env = env->next_cpu) { > - cpu = ENV_GET_CPU(env); > - if (cpu->cpu_index == cpu_index) { > - cur_mon->mon_cpu = env; > - return 0; > - } > + cpu = qemu_get_cpu(cpu_index); > + if (cpu == NULL) { > + return -1; > } > - return -1; > + cur_mon->mon_cpu = cpu->env_ptr; > + return 0; > } > > static CPUArchState *mon_get_cpu(void)
