Revert "hw/pci: disable pci-bridge's shpc by default"
PATCH 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 all 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.
--- hw/pci-bridge/pci_bridge_dev.c | 2 +- include/hw/compat.h | 4 ---- 2 files changed, 1 insertion(+), 5 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 -4
@@ -18,10 +18,6 @@ .property = "old-multiple-chip-handling",\ .value = "on",\ },{\ - .driver = "pci-bridge",\ - .property = "shpc",\ - .value = "on",\ - },{\ .driver = TYPE_PCI_DEVICE,\ .property = "x-pcie-extcap-init",\ .value = "off",\
Signature · 1 line
2.9.3
Quoted 15 lines · Marcel Apfelbaum
+++
b/hw/pci-bridge/pci_bridge_dev.chw/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
include/hw/compat.h line 24
Quoted 7 lines
include/hw/compat.h +0
-4@@ -18,10 +18,6 @@ .property = "old-multiple-chip-handling",\ .value = "on",\ },{\ - .driver = "pci-bridge",\ - .property = "shpc",\ - .value = "on",\ - },{\
Unless we make a conscious decision to break PCI bridge backwards compatibility, you now have to disable it for 2.9 and leave this HW_COMPAT_2_8 hunk intact. Peter Xu has a patch to add the 2.10 machine types.
Paolo
Quoted 4 lines
include/hw/compat.h +0
-1.driver = TYPE_PCI_DEVICE,\ .property = "x-pcie-extcap-init",\ .value = "off",\ -- 2.9.3
----- Original Message -----
Quoted 19 lines
From: "Paolo Bonzini" <[email protected]>
To: "Marcel Apfelbaum" <[email protected]>, [email protected]
Cc: [email protected], [email protected]
Sent: Wednesday, May 10, 2017 6:38:45 PM
Subject: Re: [Qemu-devel] [PATCH] Revert "hw/pci: disable pci-bridge's shpc by default"Quoted 10 lines · Marcel Apfelbaum
+++
b/hw/pci-bridge/pci_bridge_dev.chw/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(), };
Quoted 13 lines
include/hw/compat.h line 24
Quoted 12 lines
include/hw/compat.h +0
-4@@ -18,10 +18,6 @@ .property = "old-multiple-chip-handling",\ .value = "on",\ },{\ - .driver = "pci-bridge",\ - .property = "shpc",\ - .value = "on",\ - },{\
Hi Paolo,
Quoted 5 lines
Unless we make a conscious decision to break PCI bridge backwards compatibility, you now have to disable it for 2.9 and leave this
HW_COMPAT_2_8hunk intact. Peter Xu has a patch to add the 2.10 machine types.
I thought is not an interesting enough scenario to keep it "broken" for 2.9, but I'll do that, sure, I'll add it on top of Peter's patch.
Thanks,
Marcel
Quoted 7 lines
Paolo
Quoted 4 lines
include/hw/compat.h +0
-1.driver = TYPE_PCI_DEVICE,\ .property = "x-pcie-extcap-init",\ .value = "off",\ -- 2.9.3
Quoted 31 lines · Paolo Bonzini
Quoted 15 lines · Marcel Apfelbaum
+++
b/hw/pci-bridge/pci_bridge_dev.chw/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
-0include/hw/compat.h line 24
Quoted 7 lines
include/hw/compat.h +0
-4@@ -18,10 +18,6 @@ .property = "old-multiple-chip-handling",\ .value = "on",\ },{\ - .driver = "pci-bridge",\ - .property = "shpc",\ - .value = "on",\ - },{\Unless we make a conscious decision to break PCI bridge backwards compatibility, you now have to disable it for 2.9 and leave this
HW_COMPAT_2_8hunk intact. Peter Xu has a patch to add the 2.10 machine types.
Quoted 6 lines
Paolo
Quoted 4 lines
include/hw/compat.h +0
-1.driver = TYPE_PCI_DEVICE,\ .property = "x-pcie-extcap-init",\ .value = "off",\ -- 2.9.3
It's going upstream now, I just need to rebase.
Signature · 1 line
MST