From: Michael Roth <mdr...@linux.vnet.ibm.com> The 'dr_phb_enabled' field of that class can be set as part of machine-specific init code. It will be used to conditionally enable creation of DRC objects and device-tree description to facilitate hotplug of PHBs.
Since we can't migrate this state to older machine types, default the option to true and disable it for older machine types. Signed-off-by: Michael Roth <mdr...@linux.vnet.ibm.com> Signed-off-by: Greg Kurz <gr...@kaod.org> --- hw/ppc/spapr.c | 2 ++ include/hw/ppc/spapr.h | 1 + 2 files changed, 3 insertions(+) diff --git a/hw/ppc/spapr.c b/hw/ppc/spapr.c index 1f17b5d01f4f..621006eaa862 100644 --- a/hw/ppc/spapr.c +++ b/hw/ppc/spapr.c @@ -4011,6 +4011,7 @@ static void spapr_machine_class_init(ObjectClass *oc, void *data) smc->default_caps.caps[SPAPR_CAP_NESTED_KVM_HV] = SPAPR_CAP_OFF; spapr_caps_add_properties(smc, &error_abort); smc->irq = &spapr_irq_xics; + smc->dr_phb_enabled = true; } static const TypeInfo spapr_machine_info = { @@ -4079,6 +4080,7 @@ static void spapr_machine_3_1_class_options(MachineClass *mc) SET_MACHINE_COMPAT(mc, SPAPR_COMPAT_3_1); mc->default_cpu_type = POWERPC_CPU_TYPE_NAME("power8_v2.0"); smc->update_dt_enabled = false; + smc->dr_phb_enabled = false; } DEFINE_SPAPR_MACHINE(3_1, "3.1", false); diff --git a/include/hw/ppc/spapr.h b/include/hw/ppc/spapr.h index 36033b89d31a..e96deefa30de 100644 --- a/include/hw/ppc/spapr.h +++ b/include/hw/ppc/spapr.h @@ -104,6 +104,7 @@ struct sPAPRMachineClass { /*< public >*/ bool dr_lmb_enabled; /* enable dynamic-reconfig/hotplug of LMBs */ bool update_dt_enabled; /* enable KVMPPC_H_UPDATE_DT */ + bool dr_phb_enabled; /* enable dynamic-reconfig/hotplug of PHBs */ bool use_ohci_by_default; /* use USB-OHCI instead of XHCI */ bool pre_2_10_has_unused_icps; bool legacy_irq_allocation;