[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: [Qemu-ppc] [PATCH v2 14/14] spapr_pci: emit hotplug add/remove event
From: |
Alexey Kardashevskiy |
Subject: |
Re: [Qemu-ppc] [PATCH v2 14/14] spapr_pci: emit hotplug add/remove events during hotplug |
Date: |
Mon, 16 Dec 2013 16:06:00 +1100 |
User-agent: |
Mozilla/5.0 (X11; Linux i686 on x86_64; rv:24.0) Gecko/20100101 Thunderbird/24.2.0 |
On 12/06/2013 09:33 AM, Michael Roth wrote:
> From: Tyrel Datwyler <address@hidden>
>
> This uses extension of existing EPOW interrupt/event mechanism
> to notify userspace tools like librtas/drmgr to handle
> in-guest configuration/cleanup operations in response to
> device_add/device_del.
>
> Userspace tools that don't implement this extension will need
> to be run manually in response/advance of device_add/device_del,
> respectively.
>
> Signed-off-by: Tyrel Datwyler <address@hidden>
> Signed-off-by: Michael Roth <address@hidden>
> ---
> hw/ppc/spapr_pci.c | 4 ++++
> 1 file changed, 4 insertions(+)
>
> diff --git a/hw/ppc/spapr_pci.c b/hw/ppc/spapr_pci.c
> index 9b4f829..9821462 100644
> --- a/hw/ppc/spapr_pci.c
> +++ b/hw/ppc/spapr_pci.c
> @@ -1129,14 +1129,18 @@ static void spapr_device_hotplug_remove(DeviceState
> *qdev, PCIDevice *dev)
> static int spapr_device_hotplug(DeviceState *qdev, PCIDevice *dev,
> PCIHotplugState state)
> {
sPAPRPHBState *phb = SPAPR_PCI_HOST_BRIDGE(qdev);
> + int slot = PCI_SLOT(dev->devfn);
> +
> if (state == PCI_COLDPLUG_ENABLED) {
> return 0;
> }
>
> if (state == PCI_HOTPLUG_ENABLED) {
> spapr_device_hotplug_add(qdev, dev);
> + spapr_pci_hotplug_add_event(qdev, slot);
spapr_pci_hotplug_add_event(phb->buid, slot);
> } else {
> spapr_device_hotplug_remove(qdev, dev);
> + spapr_pci_hotplug_remove_event(qdev, slot);
spapr_pci_hotplug_remove_event(phb->buid, slot);
and fix spapr_pci_hotplug_(add|remove)_event to receive @buid instead of
qdev/phb. Or we could even remove these helpers and call
spapr_hotplug_req_event() directly. Would not that make things easier to read?
> }
>
> return 0;
>
--
Alexey
- [Qemu-ppc] [PATCH v2 10/14] pci: allow 0 address for PCI IO regions, (continued)
[Qemu-ppc] [PATCH v2 08/14] memory: add memory_region_find_subregion, Michael Roth, 2013/12/05
[Qemu-ppc] [PATCH v2 11/14] spapr_pci: enable basic hotplug operations, Michael Roth, 2013/12/05
[Qemu-ppc] [PATCH v2 14/14] spapr_pci: emit hotplug add/remove events during hotplug, Michael Roth, 2013/12/05
- Re: [Qemu-ppc] [PATCH v2 14/14] spapr_pci: emit hotplug add/remove events during hotplug,
Alexey Kardashevskiy <=
[Qemu-ppc] [PATCH v2 13/14] spapr_events: event-scan RTAS interface, Michael Roth, 2013/12/05
[Qemu-ppc] [PATCH v2 12/14] spapr_events: re-use EPOW event infrastructure for hotplug events, Michael Roth, 2013/12/05