monitor: Use qemu_get_cpu() in monitor_set_cpu()

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().

Reviewed-by: Luiz Capitulino <lcapitulino@redhat.com>
Reviewed-by: Markus Armbruster <armbru@redhat.com>
Signed-off-by: Andreas Färber <afaerber@suse.de>
This commit is contained in:
Andreas Färber 2013-02-15 17:01:09 +01:00
parent d76fddaeee
commit 1c8bb3cc7b

View File

@ -855,17 +855,14 @@ EventInfoList *qmp_query_events(Error **errp)
/* set the current CPU defined by the user */ /* set the current CPU defined by the user */
int monitor_set_cpu(int cpu_index) int monitor_set_cpu(int cpu_index)
{ {
CPUArchState *env;
CPUState *cpu; CPUState *cpu;
for (env = first_cpu; env != NULL; env = env->next_cpu) { cpu = qemu_get_cpu(cpu_index);
cpu = ENV_GET_CPU(env); if (cpu == NULL) {
if (cpu->cpu_index == cpu_index) { return -1;
cur_mon->mon_cpu = env;
return 0;
}
} }
return -1; cur_mon->mon_cpu = cpu->env_ptr;
return 0;
} }
static CPUArchState *mon_get_cpu(void) static CPUArchState *mon_get_cpu(void)