Revert "hw/pci: disable pci-bridge's shpc by default"
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
@@ -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
@@ -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
----- 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.
Signed-off-by Marcel Apfelbaum <[email protected]>---
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,
Marcelhw/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@@ -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@@ -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
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.
Signed-off-by Marcel Apfelbaum <[email protected]>---
V1 -> V2:
- Keep shpc off for QEMU 2.9 machines
- Rebased on Michael's tree to get QEMU 2.10 machine typesThanks,
Marcelhw/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@@ -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@@ -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 \ {\
Michael S. Tsirkin
AppliedQuoted 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.
Signed-off-by Marcel Apfelbaum <[email protected]>
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 typesThanks,
Marcelhw/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@@ -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@@ -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