Re: [PATCH] virtio-pci: Use PCI MMIO instead of PIO when available

Rusty Russell
2011-10-13T00:50:24Z

On Wed, 12 Oct 2011 14:39:06 +1100, Alexey Kardashevskiy <aik@ozlabs.ru> wrote:
> Currently virtio-pci is specced so that configuration of the device is
> done through a PCI IO space (via BAR 0 of the virtual PCI device).
> However, use of PCI IO space (aka PIO) is long deprecated, and can be
> awkward to use on some systems (for example IBM pSeries machines
> typically have many PCI domains, and not all firmware/hypervisor
> versions necessarily support PCI PIO access on all domains).
>
> Therefore, it would be preferable for the virtio virtual PCI device to
> advertise a PCI memory space (aka MMIO) BAR and have configuration
> done through this interface instead. This can be done backwards
> compatibly by advertising the MMIO BAR in addition to the existing PIO
> BAR so that the guest driver can choose whichever interface.
>
> In anticipation of adding such an MMIO BAR to virtio host-side
> implementations (e.g. qemu), this patch updates the Linux virtio-pci
> driver to attempt to use BAR 2 (which will be MMIO) in preference to
> the existing PIO BAR 0.

Applied. Had to convert spaces to tabs though...

Thanks,
Rusty.