Signed-off-by: Andreas Färber <afaer...@suse.de> --- hw/i386/kvmvapic.c | 20 +++++++++++--------- 1 file changed, 11 insertions(+), 9 deletions(-)
diff --git a/hw/i386/kvmvapic.c b/hw/i386/kvmvapic.c index 9aac9de..dfb1085 100644 --- a/hw/i386/kvmvapic.c +++ b/hw/i386/kvmvapic.c @@ -485,19 +485,21 @@ static void vapic_do_enable_tpr_reporting(void *data) apic_enable_tpr_access_reporting(info->apic, info->enable); } -static void vapic_enable_tpr_reporting(bool enable) +static void vapic_enable_tpr_reporting_one(CPUState *cs, void *data) { + bool *enable = data; + X86CPU *cpu = X86_CPU(cs); VAPICEnableTPRReporting info = { - .enable = enable, + .enable = *enable, }; - X86CPU *cpu; - CPUX86State *env; - for (env = first_cpu; env != NULL; env = env->next_cpu) { - cpu = x86_env_get_cpu(env); - info.apic = env->apic_state; - run_on_cpu(CPU(cpu), vapic_do_enable_tpr_reporting, &info); - } + info.apic = cpu->env.apic_state; + run_on_cpu(cs, vapic_do_enable_tpr_reporting, &info); +} + +static void vapic_enable_tpr_reporting(bool enable) +{ + qemu_for_each_cpu(vapic_enable_tpr_reporting_one, &enable); } static void vapic_reset(DeviceState *dev) -- 1.8.1.4