For some machines it is impossible to plug devices into a particular PCI bus
slot, e.g. for a real Ultra 5 there are 2 PCI bridges attached to the root
bus behind which all devices must be plugged. Ignoring this rule will cause
problems with interrupt routing since the interrupt numbers are calculated
based upon PCI bridge id and secondary PCI bus slot id.
This patchset adds a new dev_reserved_mask property to PCIBus which is a
bitmask used to indicate whether PCI bus slots are reserved, i.e. they cannot
be used for hot or cold plugging on a particular PCI bus.
Signed-off-by: Mark Cave-Ayland <mark.cave-ayland@ilande.co.uk>
Mark Cave-Ayland (3):
pci: move check for existing devfn into new pci_bus_devfn_available()
helper
pci: add dev_reserved_mask property to PCIBus
pci: add reserved slot check to do_pci_register_device()
hw/pci/pci.c | 34 ++++++++++++++++++++++++++++++----
include/hw/pci/pci_bus.h | 1 +
2 files changed, 31 insertions(+), 4 deletions(-)
--
1.7.10.4
On Fri, Jul 07, 2017 at 08:43:59AM +0100, Mark Cave-Ayland wrote: > For some machines it is impossible to plug devices into a particular PCI bus > slot, e.g. for a real Ultra 5 there are 2 PCI bridges attached to the root > bus behind which all devices must be plugged. Ignoring this rule will cause > problems with interrupt routing since the interrupt numbers are calculated > based upon PCI bridge id and secondary PCI bus slot id. > > This patchset adds a new dev_reserved_mask property to PCIBus which is a > bitmask used to indicate whether PCI bus slots are reserved, i.e. they cannot > be used for hot or cold plugging on a particular PCI bus. > > Signed-off-by: Mark Cave-Ayland <mark.cave-ayland@ilande.co.uk> Could you please point me at series making use of this functionality? Thanks! > > Mark Cave-Ayland (3): > pci: move check for existing devfn into new pci_bus_devfn_available() > helper > pci: add dev_reserved_mask property to PCIBus > pci: add reserved slot check to do_pci_register_device() > > hw/pci/pci.c | 34 ++++++++++++++++++++++++++++++---- > include/hw/pci/pci_bus.h | 1 + > 2 files changed, 31 insertions(+), 4 deletions(-) > > -- > 1.7.10.4
On 11/07/2017 18:31, Michael S. Tsirkin wrote: > On Fri, Jul 07, 2017 at 08:43:59AM +0100, Mark Cave-Ayland wrote: >> For some machines it is impossible to plug devices into a particular PCI bus >> slot, e.g. for a real Ultra 5 there are 2 PCI bridges attached to the root >> bus behind which all devices must be plugged. Ignoring this rule will cause >> problems with interrupt routing since the interrupt numbers are calculated >> based upon PCI bridge id and secondary PCI bus slot id. >> >> This patchset adds a new dev_reserved_mask property to PCIBus which is a >> bitmask used to indicate whether PCI bus slots are reserved, i.e. they cannot >> be used for hot or cold plugging on a particular PCI bus. >> >> Signed-off-by: Mark Cave-Ayland <mark.cave-ayland@ilande.co.uk> > Hi Michael, > Could you please point me at series making use of this > functionality? There is a discussion upstream, I am not aware of patches yet. https://lists.gnu.org/archive/html/qemu-devel/2017-07/msg00771.html Thanks, Marcel > Thanks! > >> >> Mark Cave-Ayland (3): >> pci: move check for existing devfn into new pci_bus_devfn_available() >> helper >> pci: add dev_reserved_mask property to PCIBus >> pci: add reserved slot check to do_pci_register_device() >> >> hw/pci/pci.c | 34 ++++++++++++++++++++++++++++++---- >> include/hw/pci/pci_bus.h | 1 + >> 2 files changed, 31 insertions(+), 4 deletions(-) >> >> -- >> 1.7.10.4
On Tue, Jul 11, 2017 at 06:51:50PM +0300, Marcel Apfelbaum wrote: > On 11/07/2017 18:31, Michael S. Tsirkin wrote: > > On Fri, Jul 07, 2017 at 08:43:59AM +0100, Mark Cave-Ayland wrote: > > > For some machines it is impossible to plug devices into a particular PCI bus > > > slot, e.g. for a real Ultra 5 there are 2 PCI bridges attached to the root > > > bus behind which all devices must be plugged. Ignoring this rule will cause > > > problems with interrupt routing since the interrupt numbers are calculated > > > based upon PCI bridge id and secondary PCI bus slot id. > > > > > > This patchset adds a new dev_reserved_mask property to PCIBus which is a > > > bitmask used to indicate whether PCI bus slots are reserved, i.e. they cannot > > > be used for hot or cold plugging on a particular PCI bus. > > > > > > Signed-off-by: Mark Cave-Ayland <mark.cave-ayland@ilande.co.uk> > > > > Hi Michael, > > > Could you please point me at series making use of this > > functionality? > > There is a discussion upstream, I am not aware of patches yet. > > https://lists.gnu.org/archive/html/qemu-devel/2017-07/msg00771.html > > Thanks, > Marcel It is probably a good idea to defer merging this patchset until there's an agreement on how it will be used. > > > Thanks! > > > > > > > > Mark Cave-Ayland (3): > > > pci: move check for existing devfn into new pci_bus_devfn_available() > > > helper > > > pci: add dev_reserved_mask property to PCIBus > > > pci: add reserved slot check to do_pci_register_device() > > > > > > hw/pci/pci.c | 34 ++++++++++++++++++++++++++++++---- > > > include/hw/pci/pci_bus.h | 1 + > > > 2 files changed, 31 insertions(+), 4 deletions(-) > > > > > > -- > > > 1.7.10.4
On 11/07/17 16:57, Michael S. Tsirkin wrote: > On Tue, Jul 11, 2017 at 06:51:50PM +0300, Marcel Apfelbaum wrote: >> On 11/07/2017 18:31, Michael S. Tsirkin wrote: >>> On Fri, Jul 07, 2017 at 08:43:59AM +0100, Mark Cave-Ayland wrote: >>>> For some machines it is impossible to plug devices into a particular PCI bus >>>> slot, e.g. for a real Ultra 5 there are 2 PCI bridges attached to the root >>>> bus behind which all devices must be plugged. Ignoring this rule will cause >>>> problems with interrupt routing since the interrupt numbers are calculated >>>> based upon PCI bridge id and secondary PCI bus slot id. >>>> >>>> This patchset adds a new dev_reserved_mask property to PCIBus which is a >>>> bitmask used to indicate whether PCI bus slots are reserved, i.e. they cannot >>>> be used for hot or cold plugging on a particular PCI bus. >>>> >>>> Signed-off-by: Mark Cave-Ayland <mark.cave-ayland@ilande.co.uk> >>> >> >> Hi Michael, >> >>> Could you please point me at series making use of this >>> functionality? >> >> There is a discussion upstream, I am not aware of patches yet. >> >> https://lists.gnu.org/archive/html/qemu-devel/2017-07/msg00771.html >> >> Thanks, >> Marcel > > It is probably a good idea to defer merging this patchset > until there's an agreement on how it will be used. I have a local patchset that uses it, but it has been held up by the on-going issues with the fw_cfg patchset upon which it is also dependent. I will try and find some time this evening to rebase the patchset and send it out as I am aware that freeze is coming up soon. ATB, Mark.
On 11/07/17 18:59, Mark Cave-Ayland wrote: > On 11/07/17 16:57, Michael S. Tsirkin wrote: > >> On Tue, Jul 11, 2017 at 06:51:50PM +0300, Marcel Apfelbaum wrote: >>> On 11/07/2017 18:31, Michael S. Tsirkin wrote: >>>> On Fri, Jul 07, 2017 at 08:43:59AM +0100, Mark Cave-Ayland wrote: >>>>> For some machines it is impossible to plug devices into a particular PCI bus >>>>> slot, e.g. for a real Ultra 5 there are 2 PCI bridges attached to the root >>>>> bus behind which all devices must be plugged. Ignoring this rule will cause >>>>> problems with interrupt routing since the interrupt numbers are calculated >>>>> based upon PCI bridge id and secondary PCI bus slot id. >>>>> >>>>> This patchset adds a new dev_reserved_mask property to PCIBus which is a >>>>> bitmask used to indicate whether PCI bus slots are reserved, i.e. they cannot >>>>> be used for hot or cold plugging on a particular PCI bus. >>>>> >>>>> Signed-off-by: Mark Cave-Ayland <mark.cave-ayland@ilande.co.uk> >>>> >>> >>> Hi Michael, >>> >>>> Could you please point me at series making use of this >>>> functionality? >>> >>> There is a discussion upstream, I am not aware of patches yet. >>> >>> https://lists.gnu.org/archive/html/qemu-devel/2017-07/msg00771.html >>> >>> Thanks, >>> Marcel >> >> It is probably a good idea to defer merging this patchset >> until there's an agreement on how it will be used. > > I have a local patchset that uses it, but it has been held up by the > on-going issues with the fw_cfg patchset upon which it is also dependent. > > I will try and find some time this evening to rebase the patchset and > send it out as I am aware that freeze is coming up soon. You can see the use of this feature in patch 8 of my sun4u patchset here: https://lists.nongnu.org/archive/html/qemu-devel/2017-07/msg03041.html. ATB, Mark.
© 2016 - 2025 Red Hat, Inc.