From: Cornelia Huck <cohuck@redhat.com>
To: Peter Maydell <peter.maydell@linaro.org>
Cc: qemu-s390x@nongnu.org, qemu-devel@nongnu.org,
David Hildenbrand <david@redhat.com>,
Cornelia Huck <cohuck@redhat.com>
Subject: [Qemu-devel] [PULL 05/11] s390x/pci: Send correct event on hotplug
Date: Fri, 18 Jan 2019 13:19:19 +0100 [thread overview]
Message-ID: <20190118121925.24468-6-cohuck@redhat.com> (raw)
In-Reply-To: <20190118121925.24468-1-cohuck@redhat.com>
From: David Hildenbrand <david@redhat.com>
Comit 2c28c490571f ("s390x/pci: let pci devices start in configured mode")
changed the initial state of zPCI devices from ZPCI_FS_STANDBY to
ZPCI_FS_DISABLED (a.k.a. configured). However we still only send a
HP_EVENT_RESERVED_TO_STANDBY event to the guest, indicating a wrong
state.
Let's send a HP_EVENT_TO_CONFIGURED event instead, to match the actual
state the device is in.
This fixes hotplugged devices having to be enabled explicitly in the
guest e.g. via echo 1 > /sys/bus/pci/slots/00000000/power.
On real HW, a PCI device always pops up in the STANDBY state. In QEMU,
we decided to let it show up directly in the configured state (as
configuring it is otherwise just an extra burden for the admin). We can
safely bypass the STANDBY state when hotplugging PCI devices to a guest.
Fixes: 2c28c490571f ("s390x/pci: let pci devices start in configured mode")
Reported-by: Cornelia Huck <cohuck@redhat.com>
Signed-off-by: David Hildenbrand <david@redhat.com>
Message-Id: <20190110210358.24035-1-david@redhat.com>
Tested-by: Cornelia Huck <cohuck@redhat.com>
Reviewed-by: Pierre Morel <pmorel@linux.ibm.com>
Reviewed-by: Collin Walling <walling@linux.ibm.com>
Signed-off-by: Cornelia Huck <cohuck@redhat.com>
---
hw/s390x/s390-pci-bus.c | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/hw/s390x/s390-pci-bus.c b/hw/s390x/s390-pci-bus.c
index a94700a78c..1579989213 100644
--- a/hw/s390x/s390-pci-bus.c
+++ b/hw/s390x/s390-pci-bus.c
@@ -899,7 +899,7 @@ static void s390_pcihost_plug(HotplugHandler *hotplug_dev, DeviceState *dev,
}
if (dev->hotplugged) {
- s390_pci_generate_plug_event(HP_EVENT_RESERVED_TO_STANDBY,
+ s390_pci_generate_plug_event(HP_EVENT_TO_CONFIGURED ,
pbdev->fh, pbdev->fid);
}
} else if (object_dynamic_cast(OBJECT(dev), TYPE_S390_PCI_DEVICE)) {
--
2.17.2
next prev parent reply other threads:[~2019-01-18 12:19 UTC|newest]
Thread overview: 13+ messages / expand[flat|nested] mbox.gz Atom feed top
2019-01-18 12:19 [Qemu-devel] [PULL 00/11] s390x updates Cornelia Huck
2019-01-18 12:19 ` [Qemu-devel] [PULL 01/11] s390: avoid potential null dereference in s390_pcihost_unplug() Cornelia Huck
2019-01-18 12:19 ` [Qemu-devel] [PULL 02/11] pc-bios/s390-ccw: Use proper register names for Clang Cornelia Huck
2019-01-18 12:19 ` [Qemu-devel] [PULL 03/11] s390x: Return specification exception for unimplemented diag 308 subcodes Cornelia Huck
2019-01-18 12:19 ` [Qemu-devel] [PULL 04/11] configure: Only build the s390-ccw bios if the compiler supports -march=z900 Cornelia Huck
2019-01-18 12:19 ` Cornelia Huck [this message]
2019-01-18 12:19 ` [Qemu-devel] [PULL 06/11] s390x/pci: Set the iommu region size mpcifc request Cornelia Huck
2019-01-18 12:19 ` [Qemu-devel] [PULL 07/11] s390x/pci: Use hotplug_dev instead of looking up the host bridge Cornelia Huck
2019-01-18 12:19 ` [Qemu-devel] [PULL 08/11] s390x/pci: Move some hotplug checks to the pre_plug handler Cornelia Huck
2019-01-18 12:19 ` [Qemu-devel] [PULL 09/11] s390x/pci: Always delete and free the release_timer Cornelia Huck
2019-01-18 12:19 ` [Qemu-devel] [PULL 10/11] s390x/pci: Ignore the unplug call if we already have a release_timer Cornelia Huck
2019-01-18 12:19 ` [Qemu-devel] [PULL 11/11] s390x/pci: add common function measurement block Cornelia Huck
2019-01-18 18:54 ` [Qemu-devel] [PULL 00/11] s390x updates Peter Maydell
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=20190118121925.24468-6-cohuck@redhat.com \
--to=cohuck@redhat.com \
--cc=david@redhat.com \
--cc=peter.maydell@linaro.org \
--cc=qemu-devel@nongnu.org \
--cc=qemu-s390x@nongnu.org \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).