|
|
b38b0f |
From 3ff64a000649028df66c83c6647258461b0ab8c5 Mon Sep 17 00:00:00 2001
|
|
|
b38b0f |
From: Cornelia Huck <cohuck@redhat.com>
|
|
|
b38b0f |
Date: Wed, 17 Apr 2019 13:57:27 +0100
|
|
|
b38b0f |
Subject: [PATCH 10/24] s390x/pci: Send correct event on hotplug
|
|
|
b38b0f |
|
|
|
b38b0f |
RH-Author: Cornelia Huck <cohuck@redhat.com>
|
|
|
b38b0f |
Message-id: <20190417135741.25297-11-cohuck@redhat.com>
|
|
|
b38b0f |
Patchwork-id: 85794
|
|
|
b38b0f |
O-Subject: [RHEL-8.1.0 qemu-kvm PATCH v2 10/24] s390x/pci: Send correct event on hotplug
|
|
|
b38b0f |
Bugzilla: 1699070
|
|
|
b38b0f |
RH-Acked-by: David Hildenbrand <david@redhat.com>
|
|
|
b38b0f |
RH-Acked-by: Thomas Huth <thuth@redhat.com>
|
|
|
b38b0f |
RH-Acked-by: Jens Freimann <jfreimann@redhat.com>
|
|
|
b38b0f |
|
|
|
b38b0f |
From: David Hildenbrand <david@redhat.com>
|
|
|
b38b0f |
|
|
|
b38b0f |
Comit 2c28c490571f ("s390x/pci: let pci devices start in configured mode")
|
|
|
b38b0f |
changed the initial state of zPCI devices from ZPCI_FS_STANDBY to
|
|
|
b38b0f |
ZPCI_FS_DISABLED (a.k.a. configured). However we still only send a
|
|
|
b38b0f |
HP_EVENT_RESERVED_TO_STANDBY event to the guest, indicating a wrong
|
|
|
b38b0f |
state.
|
|
|
b38b0f |
|
|
|
b38b0f |
Let's send a HP_EVENT_TO_CONFIGURED event instead, to match the actual
|
|
|
b38b0f |
state the device is in.
|
|
|
b38b0f |
|
|
|
b38b0f |
This fixes hotplugged devices having to be enabled explicitly in the
|
|
|
b38b0f |
guest e.g. via echo 1 > /sys/bus/pci/slots/00000000/power.
|
|
|
b38b0f |
|
|
|
b38b0f |
On real HW, a PCI device always pops up in the STANDBY state. In QEMU,
|
|
|
b38b0f |
we decided to let it show up directly in the configured state (as
|
|
|
b38b0f |
configuring it is otherwise just an extra burden for the admin). We can
|
|
|
b38b0f |
safely bypass the STANDBY state when hotplugging PCI devices to a guest.
|
|
|
b38b0f |
|
|
|
b38b0f |
Fixes: 2c28c490571f ("s390x/pci: let pci devices start in configured mode")
|
|
|
b38b0f |
Reported-by: Cornelia Huck <cohuck@redhat.com>
|
|
|
b38b0f |
Signed-off-by: David Hildenbrand <david@redhat.com>
|
|
|
b38b0f |
Message-Id: <20190110210358.24035-1-david@redhat.com>
|
|
|
b38b0f |
Tested-by: Cornelia Huck <cohuck@redhat.com>
|
|
|
b38b0f |
Reviewed-by: Pierre Morel <pmorel@linux.ibm.com>
|
|
|
b38b0f |
Reviewed-by: Collin Walling <walling@linux.ibm.com>
|
|
|
b38b0f |
Signed-off-by: Cornelia Huck <cohuck@redhat.com>
|
|
|
b38b0f |
(cherry picked from commit d57d6abc33c770b77732039ebcc96e26cf6ff285)
|
|
|
b38b0f |
Signed-off-by: Cornelia Huck <cohuck@redhat.com>
|
|
|
b38b0f |
Signed-off-by: Danilo C. L. de Paula <ddepaula@redhat.com>
|
|
|
b38b0f |
---
|
|
|
b38b0f |
hw/s390x/s390-pci-bus.c | 2 +-
|
|
|
b38b0f |
1 file changed, 1 insertion(+), 1 deletion(-)
|
|
|
b38b0f |
|
|
|
b38b0f |
diff --git a/hw/s390x/s390-pci-bus.c b/hw/s390x/s390-pci-bus.c
|
|
|
b38b0f |
index 486c4b6..e19e134 100644
|
|
|
b38b0f |
--- a/hw/s390x/s390-pci-bus.c
|
|
|
b38b0f |
+++ b/hw/s390x/s390-pci-bus.c
|
|
|
b38b0f |
@@ -903,7 +903,7 @@ static void s390_pcihost_plug(HotplugHandler *hotplug_dev, DeviceState *dev,
|
|
|
b38b0f |
}
|
|
|
b38b0f |
|
|
|
b38b0f |
if (dev->hotplugged) {
|
|
|
b38b0f |
- s390_pci_generate_plug_event(HP_EVENT_RESERVED_TO_STANDBY,
|
|
|
b38b0f |
+ s390_pci_generate_plug_event(HP_EVENT_TO_CONFIGURED ,
|
|
|
b38b0f |
pbdev->fh, pbdev->fid);
|
|
|
b38b0f |
}
|
|
|
b38b0f |
} else if (object_dynamic_cast(OBJECT(dev), TYPE_S390_PCI_DEVICE)) {
|
|
|
b38b0f |
--
|
|
|
b38b0f |
1.8.3.1
|
|
|
b38b0f |
|