The only PC machines that didn't call pc_default_machine_options() were isaps and xenfv. Both were already overwriting max_cpus, and only isapc was not overwriting hot_add_cpu.
After making isapc set hot_add_cpu to NULL, we can move the pc_default_machine_options() code the PC common class_init. Signed-off-by: Eduardo Habkost <[email protected]> --- hw/i386/pc.c | 2 ++ hw/i386/pc_piix.c | 2 +- hw/i386/pc_q35.c | 1 - include/hw/i386/pc.h | 6 ------ 4 files changed, 3 insertions(+), 8 deletions(-) diff --git a/hw/i386/pc.c b/hw/i386/pc.c index d812ab7..7a6aa66 100644 --- a/hw/i386/pc.c +++ b/hw/i386/pc.c @@ -1664,6 +1664,8 @@ static void pc_machine_class_init(ObjectClass *oc, void *data) pcmc->get_hotplug_handler = mc->get_hotplug_handler; mc->get_hotplug_handler = pc_get_hotpug_handler; mc->default_boot_order = "cad"; + mc->hot_add_cpu = pc_hot_add_cpu; + mc->max_cpus = 255; hc->plug = pc_machine_device_plug_cb; } diff --git a/hw/i386/pc_piix.c b/hw/i386/pc_piix.c index 16c948a..dab2085 100644 --- a/hw/i386/pc_piix.c +++ b/hw/i386/pc_piix.c @@ -434,7 +434,6 @@ static void pc_xen_hvm_init(MachineState *machine) static void pc_i440fx_machine_options(MachineClass *mc) { - pc_default_machine_options(mc); mc->desc = "Standard PC (i440FX + PIIX, 1996)"; mc->hot_add_cpu = pc_hot_add_cpu; } @@ -997,6 +996,7 @@ static void isapc_machine_class_init(ObjectClass *oc, void *data) mc->desc = "ISA-only PC"; mc->init = pc_init_isa; mc->max_cpus = 1; + mc->hot_add_cpu = NULL; mc->name = "isapc"; machine_class_add_compat_props(mc, compat_props); } diff --git a/hw/i386/pc_q35.c b/hw/i386/pc_q35.c index f97bd8a..29bc4db 100644 --- a/hw/i386/pc_q35.c +++ b/hw/i386/pc_q35.c @@ -340,7 +340,6 @@ static void pc_q35_init_1_4(MachineState *machine) static void pc_q35_machine_options(MachineClass *mc) { - pc_default_machine_options(mc); mc->desc = "Standard PC (Q35 + ICH9, 2009)"; mc->hot_add_cpu = pc_hot_add_cpu; } diff --git a/include/hw/i386/pc.h b/include/hw/i386/pc.h index 5d5d193..e140b1e 100644 --- a/include/hw/i386/pc.h +++ b/include/hw/i386/pc.h @@ -500,10 +500,4 @@ bool e820_get_entry(int, uint32_t, uint64_t *, uint64_t *); .value = stringify(0),\ } -static inline void pc_default_machine_options(MachineClass *mc) -{ - mc->hot_add_cpu = pc_hot_add_cpu; - mc->max_cpus = 255; -} - #endif -- 1.9.3
