[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: [Qemu-devel] [PATCH V5 1/8] acpi/cpu: add cpu hotplug callback funct
From: |
Igor Mammedov |
Subject: |
Re: [Qemu-devel] [PATCH V5 1/8] acpi/cpu: add cpu hotplug callback function to match hotplug_handler API |
Date: |
Mon, 20 Oct 2014 16:41:47 +0200 |
On Fri, 10 Oct 2014 10:16:00 +0800
Gu Zheng <address@hidden> wrote:
> Add cpu hotplug callback function (acpi_cpu_plug_cb) to match hotplug_handler
> API.
>
> Signed-off-by: Gu Zheng <address@hidden>
> ---
Reviewed-by: Igor Mammedov <address@hidden>
> v4:
> -convert CPUState *cpu to DeviceState *dev like it's done for other handlers
> and do cast to CPU inside.
> v2:
> -add errp argument to catch error.
> -return error instead of aborting if cpu id is invalid.
> -make acpi_cpu_plug_cb as a wrapper around AcpiCpuHotplug_add.
>
> hw/acpi/cpu_hotplug.c | 18 ++++++++++++++++++
> include/hw/acpi/cpu_hotplug.h | 3 +++
> 2 files changed, 21 insertions(+), 0 deletions(-)
>
> diff --git a/hw/acpi/cpu_hotplug.c b/hw/acpi/cpu_hotplug.c
> index 2ad83a0..06e9c61 100644
> --- a/hw/acpi/cpu_hotplug.c
> +++ b/hw/acpi/cpu_hotplug.c
> @@ -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);
> diff --git a/include/hw/acpi/cpu_hotplug.h b/include/hw/acpi/cpu_hotplug.h
> index 9e5d30c..5dca8d7 100644
> --- a/include/hw/acpi/cpu_hotplug.h
> +++ b/include/hw/acpi/cpu_hotplug.h
> @@ -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,
- [Qemu-devel] [PATCH V5 0/8] cpu/acpi: convert cpu hot plug to hotplug_handler API, Gu Zheng, 2014/10/09
- [Qemu-devel] [PATCH V5 1/8] acpi/cpu: add cpu hotplug callback function to match hotplug_handler API, Gu Zheng, 2014/10/09
- Re: [Qemu-devel] [PATCH V5 1/8] acpi/cpu: add cpu hotplug callback function to match hotplug_handler API,
Igor Mammedov <=
- [Qemu-devel] [PATCH V5 2/8] acpi:ich9: convert cpu hotplug to hotplug_handler API, Gu Zheng, 2014/10/09
- [Qemu-devel] [PATCH V5 3/8] acpi:piix4: convert cpu hotplug to hotplug_handler API, Gu Zheng, 2014/10/09
- [Qemu-devel] [PATCH V5 4/8] pc: add cpu hotplug handler to PC_MACHINE, Gu Zheng, 2014/10/09
- [Qemu-devel] [PATCH V5 5/8] pc: Update rtc_cmos in pc_cpu_plug, Gu Zheng, 2014/10/09
- [Qemu-devel] [PATCH V5 6/8] qom/cpu: remove the unused CPU hot-plug notifier, Gu Zheng, 2014/10/09