Skip to content

Commit

Permalink
acpi/cpu: add cpu hotplug callback function to match hotplug_handler API
Browse files Browse the repository at this point in the history
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>
  • Loading branch information
Gu Zheng authored and mstsirkin committed Nov 2, 2014
1 parent 42a5b30 commit 1be6b51
Show file tree
Hide file tree
Showing 2 changed files with 21 additions and 0 deletions.
18 changes: 18 additions & 0 deletions hw/acpi/cpu_hotplug.c
Expand Up @@ -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);
Expand Down
3 changes: 3 additions & 0 deletions include/hw/acpi/cpu_hotplug.h
Expand Up @@ -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,
Expand Down

0 comments on commit 1be6b51

Please sign in to comment.