[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: [Qemu-devel] [RESEND PATCH v1 4/5] acpi, ich9: Add unplug cb for ich
From: |
Igor Mammedov |
Subject: |
Re: [Qemu-devel] [RESEND PATCH v1 4/5] acpi, ich9: Add unplug cb for ich9. |
Date: |
Mon, 19 Jan 2015 18:34:40 +0100 |
On Wed, 7 Jan 2015 14:49:44 +0800
Tang Chen <address@hidden> wrote:
> Memory and CPU hot unplug are both asynchronize procedures.
s/asynchronize/asynchronous/
> When the unplug operation happens, unplug request cb is called first.
> And when ghest OS finished handling unplug, unplug cb will be called
s/ghest/guest/
> to do the real removal of device.
>
> This patch adds hotunplug cb for ich9, and memory and CPU
s/for/to/
s/and memory/which memory/
> hot unplug will base on it.
s/base on it/use/
> ---
> hw/acpi/ich9.c | 7 +++++++
> hw/isa/lpc_ich9.c | 9 +++++++++
> include/hw/acpi/ich9.h | 2 ++
> 3 files changed, 18 insertions(+)
>
> diff --git a/hw/acpi/ich9.c b/hw/acpi/ich9.c
> index 5ce3aaf..c48d176 100644
> --- a/hw/acpi/ich9.c
> +++ b/hw/acpi/ich9.c
> @@ -308,6 +308,13 @@ void ich9_pm_device_unplug_request_cb(ICH9LPCPMRegs *pm,
> DeviceState *dev,
> " type: %s", object_get_typename(OBJECT(dev)));
> }
>
> +void ich9_pm_device_unplug_cb(ICH9LPCPMRegs *pm, DeviceState *dev,
> + Error **errp)
> +{
> + error_setg(errp, "acpi: device unplug for not supported device"
> + " type: %s", object_get_typename(OBJECT(dev)));
> +}
> +
> void ich9_pm_ospm_status(AcpiDeviceIf *adev, ACPIOSTInfoList ***list)
> {
> ICH9LPCState *s = ICH9_LPC_DEVICE(adev);
> diff --git a/hw/isa/lpc_ich9.c b/hw/isa/lpc_ich9.c
> index d00b223..16f5a0d 100644
> --- a/hw/isa/lpc_ich9.c
> +++ b/hw/isa/lpc_ich9.c
> @@ -615,6 +615,14 @@ static void ich9_device_unplug_request_cb(HotplugHandler
> *hotplug_dev,
> ich9_pm_device_unplug_request_cb(&lpc->pm, dev, errp);
> }
>
> +static void ich9_device_unplug_cb(HotplugHandler *hotplug_dev,
> + DeviceState *dev, Error **errp)
> +{
> + ICH9LPCState *lpc = ICH9_LPC_DEVICE(hotplug_dev);
> +
> + ich9_pm_device_unplug_cb(&lpc->pm, dev, errp);
> +}
> +
> static bool ich9_rst_cnt_needed(void *opaque)
> {
> ICH9LPCState *lpc = opaque;
> @@ -678,6 +686,7 @@ static void ich9_lpc_class_init(ObjectClass *klass, void
> *data)
> dc->cannot_instantiate_with_device_add_yet = true;
> hc->plug = ich9_device_plug_cb;
> hc->unplug_request = ich9_device_unplug_request_cb;
> + hc->unplug = ich9_device_unplug_cb;
> adevc->ospm_status = ich9_pm_ospm_status;
> }
>
> diff --git a/include/hw/acpi/ich9.h b/include/hw/acpi/ich9.h
> index 86853c3..fc87dad 100644
> --- a/include/hw/acpi/ich9.h
> +++ b/include/hw/acpi/ich9.h
> @@ -61,6 +61,8 @@ void ich9_pm_add_properties(Object *obj, ICH9LPCPMRegs *pm,
> Error **errp);
> void ich9_pm_device_plug_cb(ICH9LPCPMRegs *pm, DeviceState *dev, Error
> **errp);
> void ich9_pm_device_unplug_request_cb(ICH9LPCPMRegs *pm, DeviceState *dev,
> Error **errp);
> +void ich9_pm_device_unplug_cb(ICH9LPCPMRegs *pm, DeviceState *dev,
> + Error **errp);
>
> void ich9_pm_ospm_status(AcpiDeviceIf *adev, ACPIOSTInfoList ***list);
> #endif /* HW_ACPI_ICH9_H */
- [Qemu-devel] [RESEND PATCH v1 0/5] Common unplug and unplug request cb for memory and CPU hot-unplug., Tang Chen, 2015/01/07
- [Qemu-devel] [RESEND PATCH v1 3/5] acpi, pc: Add unplug cb for pc machine., Tang Chen, 2015/01/07
- [Qemu-devel] [RESEND PATCH v1 2/5] acpi, ich9: Add hotunplug request cb for ich9., Tang Chen, 2015/01/07
- [Qemu-devel] [RESEND PATCH v1 4/5] acpi, ich9: Add unplug cb for ich9., Tang Chen, 2015/01/07
- Re: [Qemu-devel] [RESEND PATCH v1 4/5] acpi, ich9: Add unplug cb for ich9.,
Igor Mammedov <=
- [Qemu-devel] [RESEND PATCH v1 5/5] acpi, piix4: Add unplug cb for piix4., Tang Chen, 2015/01/07
- [Qemu-devel] [RESEND PATCH v1 1/5] acpi, pc: Add hotunplug request cb for pc machine., Tang Chen, 2015/01/07
- Re: [Qemu-devel] [RESEND PATCH v1 0/5] Common unplug and unplug request cb for memory and CPU hot-unplug., Igor Mammedov, 2015/01/19
- Re: [Qemu-devel] [RESEND PATCH v1 0/5] Common unplug and unplug request cb for memory and CPU hot-unplug., Michael S. Tsirkin, 2015/01/19