On Wed, 2018-01-03 at 22:06 +0000, Richard W.M. Jones wrote: > On Thu, Jan 04, 2018 at 10:50:06AM +1300, Michael Clark wrote: > > > (2) I'm worried that this patch starts off using virtio-mmio instead > > > of virtio-pci. virtio-pci is better in every respect than > > > virtio-mmio, and while it may be a good interim solution I think we > > > need to have a plan to get rid of it eventually, and should make it > > > clear that virtio-mmio is not a permanent ABI so we don't get into the > > > same situation that we did with -M virt on ARM. > > > > I've noted in [PATCH v1 00/00] that we have a goal to add GPEX to the > > SiFive RISC-V virt board. The idea with the initial version of the virt > > board is to provide enough infrastructure so that distro builders can use > > RISC-V QEMU. Prior to the work to implement PLIC, device-tree and VirtIO, > > there was no network and block device support so it was not possible to use > > QEMU for distro bring up. Now RISC-V QEMU is usable. Data point: the arm > > 'virt' board still supports VirtIO MMIO. I don't think this should be a > > blocking issue. > > I don't think it should be blocking either, but I also think (from > experience with ARM mach_virt) that we should make it clear that we're > going to have a flag day down the road where we just remove > virtio-mmio and everyone will be required to recompile their kernel, > rather than keep supporting virtio-mmio long term. However that's > just my opinion, would like to hear what others say.
Having jumped through many of the same hoops with aarch64/virt as Rich, although on the libvirt side, I agree with both of you that virtio-pci should not be a requirement for inclusion: virtio-mmio is perfectly fine as long as it's very explicitly presented as an interim solution; the improvements virtio-pci brings to the table should be plenty to convince people to quickly switch to it, too. -- Andrea Bolognani / Red Hat / Virtualization