On Mon, 15 Jul 2019 12:48:55 +0200 Thomas Huth <th...@redhat.com> wrote:
> On 15/07/2019 12.19, Peter Maydell wrote: > > On Mon, 15 Jul 2019 at 11:15, Thomas Huth <th...@redhat.com> wrote: > >> > >> On 15/07/2019 11.55, Philippe Mathieu-Daudé wrote: > >>> If a controller device provides a PCI bus, we can plug any PCI > >>> daughter card on it. > >>> > >>> Signed-off-by: Philippe Mathieu-Daudé <phi...@redhat.com> > >>> --- > > > >>> diff --git a/hw/pci/Kconfig b/hw/pci/Kconfig > >>> index 77f8b005ff..0f7267db35 100644 > >>> --- a/hw/pci/Kconfig > >>> +++ b/hw/pci/Kconfig > >>> @@ -1,5 +1,6 @@ > >>> config PCI > >>> bool > >>> + imply PCI_DEVICES > >> > >> No, please don't change this. This was done on purpose, since almost all > >> PCI_DEVICES do not work on s390x (so s390x does *not* imply PCI_DEVICES). > > > > But that means that every board that provides PCI has to have an > > "imply PCI_DEVICES" line, which is pretty clunky just to work > > around an s390x limitation. > > > > Is there some way in the Kconfig syntax for s390x to say > > "no PCI_DEVICES" so we can have the corner-case be handled > > by the s390x Kconfig in one place rather than in 20 places > > affecting everywhere except s390x? > > IIRC the problem on s390x are the legacy IRQs. s390x has only MSIs. So I > guess the correct way to fix this would be to introduce some > PCI_LEGACY_IRQ switch and let all old devices that do not work with MSI > depend on it. s/MSI/MSI-X/, IIRC. Not sure how far 'legacy' would stretch. cc:ing Collin in case there's something else.