On 14/07/17 11:25, Marcel Apfelbaum wrote: > On 14/07/2017 12:59, Mark Cave-Ayland wrote: >> On 11/07/17 22:44, 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 slot_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-ayl...@ilande.co.uk> >>> >>> v2: >>> - Rename dev_reserved_mask to slot_reserved_mask as suggested by Marcel >>> - Squash patches 2 and 3 together >>> >>> >>> Mark Cave-Ayland (2): >>> pci: move check for existing devfn into new pci_bus_devfn_available() >>> helper >>> 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(-) >> >> Ping? Any further feedback on the v2 version? My latest set of sun4u >> patches is dependent upon this patchset and it's freeze coming up next >> week! >> > > Hi, > > As in prev version, other than the minor comment > on replacing "if (...) return true; else return false" > with the actual value, I am OK with it.
Okay great! So change pci_bus_devfn_available() to something like this? static bool pci_bus_devfn_available(PCIBus *bus, int devfn) { return !(bus->devices[devfn]); } > I believe Michael asked to see the series using this feature, > can you add a link to it, or post it with the dependency on this one? Sure, I posted the link earlier in the week: https://lists.nongnu.org/archive/html/qemu-devel/2017-07/msg03045.html. Or more specifically: https://lists.nongnu.org/archive/html/qemu-devel/2017-07/msg03041.html ATB, Mark.