cpus: Replace open-coded CPU loop in qmp_memsave() with qemu_get_cpu()

No functional change, just less usages of first_cpu and next_cpu fields.

env is passed to cpu_memory_rw_debug(), which in turn passes it to
target-specific cpu_get_phys_page_debug(). Changing both would be a
larger refactoring, so defer that by using env_ptr for now.

Reviewed-by: Luiz Capitulino <lcapitulino@redhat.com>
Signed-off-by: Andreas Färber <afaerber@suse.de>
This commit is contained in:
Andreas Färber 2013-02-15 15:41:49 +01:00
parent 1c8bb3cc7b
commit 151d1322a3

11
cpus.c
View File

@ -1241,18 +1241,13 @@ void qmp_memsave(int64_t addr, int64_t size, const char *filename,
cpu_index = 0; cpu_index = 0;
} }
for (env = first_cpu; env; env = env->next_cpu) { cpu = qemu_get_cpu(cpu_index);
cpu = ENV_GET_CPU(env); if (cpu == NULL) {
if (cpu_index == cpu->cpu_index) {
break;
}
}
if (env == NULL) {
error_set(errp, QERR_INVALID_PARAMETER_VALUE, "cpu-index", error_set(errp, QERR_INVALID_PARAMETER_VALUE, "cpu-index",
"a CPU number"); "a CPU number");
return; return;
} }
env = cpu->env_ptr;
f = fopen(filename, "wb"); f = fopen(filename, "wb");
if (!f) { if (!f) {