From 6e17d32d6df25d4fac1a31da61d89e0bb9c8c7da Mon Sep 17 00:00:00 2001 From: Keqian Zhu Date: Tue, 26 Mar 2024 22:20:20 +0800 Subject: [PATCH] acpi/ged: Init cpu hotplug only when machine support it Signed-off-by: Keqian Zhu --- hw/acpi/generic_event_device.c | 16 ++++++++++------ 1 file changed, 10 insertions(+), 6 deletions(-) diff --git a/hw/acpi/generic_event_device.c b/hw/acpi/generic_event_device.c index 0266733a54..6e4f5f075f 100644 --- a/hw/acpi/generic_event_device.c +++ b/hw/acpi/generic_event_device.c @@ -403,6 +403,7 @@ static void acpi_ged_initfn(Object *obj) AcpiGedState *s = ACPI_GED(dev); SysBusDevice *sbd = SYS_BUS_DEVICE(obj); GEDState *ged_st = &s->ged_state; + MachineClass *mc; memory_region_init_io(&ged_st->evt, obj, &ged_evt_ops, ged_st, TYPE_ACPI_GED, ACPI_GED_EVT_SEL_LEN); @@ -427,12 +428,15 @@ static void acpi_ged_initfn(Object *obj) TYPE_ACPI_GED "-regs", ACPI_GED_REG_COUNT); sysbus_init_mmio(sbd, &ged_st->regs); - s->cpuhp.device = OBJECT(s); - memory_region_init(&s->container_cpuhp, OBJECT(dev), "cpuhp container", - ACPI_CPU_HOTPLUG_REG_LEN); - sysbus_init_mmio(SYS_BUS_DEVICE(dev), &s->container_cpuhp); - cpu_hotplug_hw_init(&s->container_cpuhp, OBJECT(dev), - &s->cpuhp_state, 0); + mc = MACHINE_GET_CLASS(qdev_get_machine()); + if (mc->possible_cpu_arch_ids) { + s->cpuhp.device = OBJECT(s); + memory_region_init(&s->container_cpuhp, OBJECT(dev), "cpuhp container", + ACPI_CPU_HOTPLUG_REG_LEN); + sysbus_init_mmio(SYS_BUS_DEVICE(dev), &s->container_cpuhp); + cpu_hotplug_hw_init(&s->container_cpuhp, OBJECT(dev), + &s->cpuhp_state, 0); + } } static void acpi_ged_class_init(ObjectClass *class, void *data) -- 2.27.0