acpi/cpu: add cpu hotplug callback function to match hotplug_handler API
Add cpu hotplug callback function (acpi_cpu_plug_cb) to match hotplug_handler API. Reviewed-by: Igor Mammedov <imammedo@redhat.com> Signed-off-by: Gu Zheng <guz.fnst@cn.fujitsu.com> Acked-by: Michael S. Tsirkin <mst@redhat.com> Signed-off-by: Michael S. Tsirkin <mst@redhat.com> Reviewed-by: Igor Mammedov <imammedo@redhat.com>
This commit is contained in:
parent
42a5b30844
commit
1be6b511a6
@ -36,6 +36,24 @@ static const MemoryRegionOps AcpiCpuHotplug_ops = {
|
||||
},
|
||||
};
|
||||
|
||||
void acpi_cpu_plug_cb(ACPIREGS *ar, qemu_irq irq,
|
||||
AcpiCpuHotplug *g, DeviceState *dev, Error **errp)
|
||||
{
|
||||
CPUState *cpu = CPU(dev);
|
||||
CPUClass *k = CPU_GET_CLASS(cpu);
|
||||
int64_t cpu_id;
|
||||
|
||||
cpu_id = k->get_arch_id(cpu);
|
||||
if ((cpu_id / 8) >= ACPI_GPE_PROC_LEN) {
|
||||
error_setg(errp, "acpi: invalid cpu id: %" PRIi64, cpu_id);
|
||||
return;
|
||||
}
|
||||
|
||||
AcpiCpuHotplug_add(&ar->gpe, g, cpu);
|
||||
|
||||
acpi_update_sci(ar, irq);
|
||||
}
|
||||
|
||||
void AcpiCpuHotplug_add(ACPIGPE *gpe, AcpiCpuHotplug *g, CPUState *cpu)
|
||||
{
|
||||
CPUClass *k = CPU_GET_CLASS(cpu);
|
||||
|
@ -20,6 +20,9 @@ typedef struct AcpiCpuHotplug {
|
||||
uint8_t sts[ACPI_GPE_PROC_LEN];
|
||||
} AcpiCpuHotplug;
|
||||
|
||||
void acpi_cpu_plug_cb(ACPIREGS *ar, qemu_irq irq,
|
||||
AcpiCpuHotplug *g, DeviceState *dev, Error **errp);
|
||||
|
||||
void AcpiCpuHotplug_add(ACPIGPE *gpe, AcpiCpuHotplug *g, CPUState *cpu);
|
||||
|
||||
void AcpiCpuHotplug_init(MemoryRegion *parent, Object *owner,
|
||||
|
Loading…
Reference in New Issue
Block a user