Skip to contentSkip to conversation

Revert "hw/pci: disable pci-bridge's shpc by default"

PATCH Applied Marcel Apfelbaum 3 participants 4 messages May 11, 2017 – May 17, 2017

lore
Share & tools
lore
#0 lore raw

PATCH v2 1/1 Revert "hw/pci: disable pci-bridge's shpc by default"

This reverts commit dc0ae767700c156894e36fab89a745a2dc4173de.

Disabling the shpc controller has an undesired side effect. The PCI bridge remains with no attached devices at boot time, and the guest operating systems do not allocate any resources for it, leaving the bridge unusable. Note that the behaviour is dictated by the pci bridge specification.

Revert the commit and leave the shpc controller even if is not actually used by any architecture. Slot 0 remains unusable at boot time.

Keep shpc off for QEMU 2.9 machines.

---

V1 -> V2:
- Keep shpc off for QEMU 2.9 machines
- Rebased on Michael's tree to get QEMU 2.10 machine types

Thanks,
Marcel

 hw/pci-bridge/pci_bridge_dev.c | 2 +-
 include/hw/compat.h            | 6 +++++-
 2 files changed, 6 insertions(+), 2 deletions(-)
hw/pci-bridge/pci_bridge_dev.c +1 -1
index 647ad80..5dbd933 100644
@@ -163,7 +163,7 @@ static Property pci_bridge_dev_properties[] = {
     DEFINE_PROP_ON_OFF_AUTO(PCI_BRIDGE_DEV_PROP_MSI, PCIBridgeDev, msi,
                             ON_OFF_AUTO_AUTO),
     DEFINE_PROP_BIT(PCI_BRIDGE_DEV_PROP_SHPC, PCIBridgeDev, flags,
-                    PCI_BRIDGE_DEV_F_SHPC_REQ, false),
+                    PCI_BRIDGE_DEV_F_SHPC_REQ, true),
     DEFINE_PROP_END_OF_LIST(),
 };
 
include/hw/compat.h +5 -1
index 846b90e..55b1765 100644
@@ -2,7 +2,11 @@
 #define HW_COMPAT_H
 
 #define HW_COMPAT_2_9 \
-    /* empty */
+    {\
+        .driver   = "pci-bridge",\
+        .property = "shpc",\
+        .value    = "off",\
+    },
 
 #define HW_COMPAT_2_8 \
     {\
Signature · 1 line
2.9.3
#1 lore raw

----- Original Message -----

Quoted 17 lines

From: "Marcel Apfelbaum" <[email protected]>
To: [email protected]
Cc: [email protected], [email protected], [email protected], [email protected], [email protected]
Sent: Thursday, May 11, 2017 1:25:29 PM
Subject: [Qemu-devel] [PATCH V2] Revert "hw/pci: disable pci-bridge's shpc by default"

This reverts commit dc0ae767700c156894e36fab89a745a2dc4173de.

Disabling the shpc controller has an undesired side effect. The PCI bridge remains with no attached devices at boot time, and the guest operating systems do not allocate any resources for it, leaving the bridge unusable. Note that the behaviour is dictated by the pci bridge specification.

Revert the commit and leave the shpc controller even if is not actually used by any architecture. Slot 0 remains unusable at boot time.

Quoted 7 lines

Keep shpc off for QEMU 2.9 machines.

---

V1 -> V2:
- Keep shpc off for QEMU 2.9 machines

Forgot to mentioned the above was Paolo's review, thanks Palo! Marcel

Quoted 43 lines

- Rebased on Michael's tree to get QEMU 2.10 machine types

Thanks,
Marcel

 hw/pci-bridge/pci_bridge_dev.c | 2 +-
 include/hw/compat.h            | 6 +++++-
 2 files changed, 6 insertions(+), 2 deletions(-)
hw/pci-bridge/pci_bridge_dev.c +1 -1
index 647ad80..5dbd933 100644
@@ -163,7 +163,7 @@ static Property pci_bridge_dev_properties[] = {
     DEFINE_PROP_ON_OFF_AUTO(PCI_BRIDGE_DEV_PROP_MSI, PCIBridgeDev, msi,
                             ON_OFF_AUTO_AUTO),
     DEFINE_PROP_BIT(PCI_BRIDGE_DEV_PROP_SHPC, PCIBridgeDev, flags,
-                    PCI_BRIDGE_DEV_F_SHPC_REQ, false),
+                    PCI_BRIDGE_DEV_F_SHPC_REQ, true),
     DEFINE_PROP_END_OF_LIST(),
 };
 
include/hw/compat.h +5 -2
index 846b90e..55b1765 100644
@@ -2,7 +2,11 @@
 #define HW_COMPAT_H
 
 #define HW_COMPAT_2_9 \
-    /* empty */
+    {\
+        .driver   = "pci-bridge",\
+        .property = "shpc",\
+        .value    = "off",\
+    },
 
 #define HW_COMPAT_2_8 \
     {\
--

2.9.3

Reviewed-by on v2 1/1
#2 lore raw
In reply to Marcel Apfelbaum
Quoted 48 lines · Marcel Apfelbaum

This reverts commit dc0ae767700c156894e36fab89a745a2dc4173de.

Disabling the shpc controller has an undesired side effect. The PCI bridge remains with no attached devices at boot time, and the guest operating systems do not allocate any resources for it, leaving the bridge unusable. Note that the behaviour is dictated by the pci bridge specification.

Revert the commit and leave the shpc controller even if is not actually used by any architecture. Slot 0 remains unusable at boot time.

Keep shpc off for QEMU 2.9 machines.

---

V1 -> V2:
- Keep shpc off for QEMU 2.9 machines
- Rebased on Michael's tree to get QEMU 2.10 machine types

Thanks,
Marcel

 hw/pci-bridge/pci_bridge_dev.c | 2 +-
 include/hw/compat.h            | 6 +++++-
 2 files changed, 6 insertions(+), 2 deletions(-)
hw/pci-bridge/pci_bridge_dev.c +1 -1
index 647ad80..5dbd933 100644
@@ -163,7 +163,7 @@ static Property pci_bridge_dev_properties[] = {
     DEFINE_PROP_ON_OFF_AUTO(PCI_BRIDGE_DEV_PROP_MSI, PCIBridgeDev, msi,
                             ON_OFF_AUTO_AUTO),
     DEFINE_PROP_BIT(PCI_BRIDGE_DEV_PROP_SHPC, PCIBridgeDev, flags,
-                    PCI_BRIDGE_DEV_F_SHPC_REQ, false),
+                    PCI_BRIDGE_DEV_F_SHPC_REQ, true),
     DEFINE_PROP_END_OF_LIST(),
 };
 
include/hw/compat.h +0 -0
index 846b90e..55b1765 100644
@@ -2,7 +2,11 @@
 #define HW_COMPAT_H
 

include/hw/compat.h line 12

Quoted 10 lines
include/hw/compat.h +5 -1
 #define HW_COMPAT_2_9 \
-    /* empty */
+    {\
+        .driver   = "pci-bridge",\
+        .property = "shpc",\
+        .value    = "off",\
+    },
 
 #define HW_COMPAT_2_8 \
     {\
#3 lore raw
In reply to Marcel Apfelbaum
Quoted 8 lines · Marcel Apfelbaum

This reverts commit dc0ae767700c156894e36fab89a745a2dc4173de.

Disabling the shpc controller has an undesired side effect. The PCI bridge remains with no attached devices at boot time, and the guest operating systems do not allocate any resources for it, leaving the bridge unusable. Note that the behaviour is dictated by the pci bridge specification.

Quoted 6 lines

Revert the commit and leave the shpc controller even if is not actually used by any architecture. Slot 0 remains unusable at boot time.

Keep shpc off for QEMU 2.9 machines.

Applied, thanks!

Quoted 45 lines

---

V1 -> V2:
- Keep shpc off for QEMU 2.9 machines
- Rebased on Michael's tree to get QEMU 2.10 machine types

Thanks,
Marcel

 hw/pci-bridge/pci_bridge_dev.c | 2 +-
 include/hw/compat.h            | 6 +++++-
 2 files changed, 6 insertions(+), 2 deletions(-)
hw/pci-bridge/pci_bridge_dev.c +1 -1
index 647ad80..5dbd933 100644
@@ -163,7 +163,7 @@ static Property pci_bridge_dev_properties[] = {
     DEFINE_PROP_ON_OFF_AUTO(PCI_BRIDGE_DEV_PROP_MSI, PCIBridgeDev, msi,
                             ON_OFF_AUTO_AUTO),
     DEFINE_PROP_BIT(PCI_BRIDGE_DEV_PROP_SHPC, PCIBridgeDev, flags,
-                    PCI_BRIDGE_DEV_F_SHPC_REQ, false),
+                    PCI_BRIDGE_DEV_F_SHPC_REQ, true),
     DEFINE_PROP_END_OF_LIST(),
 };
 
include/hw/compat.h +5 -1
index 846b90e..55b1765 100644
@@ -2,7 +2,11 @@
 #define HW_COMPAT_H
 
 #define HW_COMPAT_2_9 \
-    /* empty */
+    {\
+        .driver   = "pci-bridge",\
+        .property = "shpc",\
+        .value    = "off",\
+    },
 
 #define HW_COMPAT_2_8 \
     {\
Signature · 1 line
2.9.3