On Thu, Mar 14, 2019 at 2:00 PM Michael S. Tsirkin <m...@redhat.com> wrote: > > On Thu, Mar 14, 2019 at 01:53:48PM +0100, Andrea Bolognani wrote: > > On Mon, 2019-03-04 at 19:19 +0100, Paolo Bonzini wrote: > > > Instead of including the same list of devices for each target, > > > set CONFIG_PCI to true, and make the devices default to present > > > whenever PCI is available. However, s390x does not want all the > > > PCI devices, so there is a separate symbol to enable them. > > [...] > > > +++ b/default-configs/riscv32-softmmu.mak > > > @@ -1,8 +1,8 @@ > > > # Default configuration for riscv-softmmu > > > > > > -include pci.mak > > > include usb.mak > > > - > > > +CONFIG_PCI=y > > > +CONFIG_PCI_DEVICES=y > > > CONFIG_SERIAL=y > > > CONFIG_VIRTIO_MMIO=y > > > > I *think* this might have caused some unwanted changes for RISC-V. > > > > pcie-root-port is built into qemu-system-riscv64 by default as of > > dbbc277510aa (along with ioh3420!), but if you actually try to use it > > you'll get: > > > > $ ./riscv64-softmmu/qemu-system-riscv64 \ > > -M virt \ > > -device pcie-root-port > > qemu-system-riscv64: -device pcie-root-port: MSI-X is not > > supported by interrupt controller > > > > This is a limitation we have been aware of, and the plan was to > > enable the device in QEMU once it had been addressed: from the > > libvirt side, the availability of the device would have meant that it > > was safe to use it, but if the device is enabled in QEMU before it > > can actually be used, then that makes detection on the libvirt side > > problematic. > > > > I haven't spent time digging further - and I'm not familiar enough > > with the QEMU build system anyway O:-) - but I wouldn't be surprised > > if the same happened for other architectures, too. > > I'd say just disable it at build time by default. > How about a dependency on BROKEN? Developers can > enable it temporarily. Paolo?
Would it be enough to modify ./default-configs/riscv32-softmmu.mak by adding: CONFIG_PCIE_PORT=n ? > > > -- > > Andrea Bolognani / Red Hat / Virtualization