]> git.proxmox.com Git - mirror_qemu.git/commit
spapr: Correctly set query_hotpluggable_cpus hook based on machine version
authorDavid Gibson <david@gibson.dropbear.id.au>
Fri, 5 Aug 2016 06:25:33 +0000 (16:25 +1000)
committerDavid Gibson <david@gibson.dropbear.id.au>
Sun, 7 Aug 2016 23:45:03 +0000 (09:45 +1000)
commit3c0c47e3464f3c54bd3f1cc6d4da2cbf7465e295
tree9bff4b7197c839f0668d80c09cd315e58bd98728
parent51009170d8fc263cfdcd5a60fe3ba213daa3d15b
spapr: Correctly set query_hotpluggable_cpus hook based on machine version

Prior to c8721d3 "spapr: Error out when CPU hotplug is attempted on older
pseries machines", attempting to use query-hotpluggable-cpus on pseries-2.6
and earlier machine types would SEGV.

That change fixed that, but due to some unexpected interactions in init
order and a brown-paper-bag worthy failure to test, it accidentally
disabled query-hotpluggable-cpus for all pseries machine types, including
the current one which should allow it.

In fact, query_hotpluggable_cpus needs to be non-NULL when and only when
the dr_cpu_enabled flag in sPAPRMachineClass is set, which makes
dr_cpu_enabled itself redundant.

This patch removes dr_cpu_enabled, instead directly setting
query_hotpluggable_cpus from the machine class_init functions, and using
that to determine the availability of CPU hotplug when necessary.

Signed-off-by: David Gibson <david@gibson.dropbear.id.au>
hw/ppc/spapr.c
hw/ppc/spapr_cpu_core.c
include/hw/ppc/spapr.h