[U-Boot] [PATCH 25/27] virtio: pci: Support non-legacy PCI transport device

Bin Meng bmeng.cn at gmail.com
Thu Oct 11 13:41:52 UTC 2018


Hi Simon,

On Thu, Sep 27, 2018 at 9:43 PM Simon Glass <sjg at chromium.org> wrote:
>
> On 23 September 2018 at 06:42, Bin Meng <bmeng.cn at gmail.com> wrote:
> > By default QEMU creates legacy PCI transport devices, but we can
> > ask QEMU to create non-legacy one if we pass additional device
> > property/value pairs in the command line:
> >
> >   -device virtio-blk-pci,disable-legacy=true,disable-modern=false
> >
> > This adds a new driver driver to support non-legacy (modern) device
> > mode. Previous driver/file name is changed accordingly.
> >
> > Signed-off-by: Bin Meng <bmeng.cn at gmail.com>
> > ---
> >
> >  drivers/virtio/Makefile                            |   2 +-
> >  .../virtio/{virtio_pci.c => virtio_pci_legacy.c}   |   6 +-
> >  drivers/virtio/virtio_pci_modern.c                 | 612 +++++++++++++++++++++
> >  3 files changed, 616 insertions(+), 4 deletions(-)
> >  rename drivers/virtio/{virtio_pci.c => virtio_pci_legacy.c} (98%)
> >  create mode 100644 drivers/virtio/virtio_pci_modern.c
>
> Reviewed-by: Simon Glass <sjg at chromium.org>
>
> Isn't there some common code between the two?

Unfortunately the legacy and modern PCI devices are quite different,
so we have to use 2 drivers which is how Linux does. For the
virtio-mmio driver, the difference are not that big so we can use one
driver to support both.

Regards,
Bin


More information about the U-Boot mailing list