[SLOF] [PATCH v1 00/27] Generic virtio 1.0 with block and network enabled

Alexey Kardashevskiy aik at ozlabs.ru
Fri Jan 15 16:47:22 AEDT 2016


On 01/13/2016 10:16 PM, Nikunj A Dadhania wrote:
> This is the first shot at enabling virtio 1.0 driver support in the SLOF.
> Enables virtio-blk and virtio-net drivers for 1.0.
>
> The patchset is divided in following categories:
>
> patch 01-05: Generic fixes and prepartion for 1.0
> patch 06-20: Virtio 1.0 generic layer updates
> patch 21: Virtio-blk enablement
> patch 22-25: Preparation for virtio-net
> patch 26: virtio-net 1.0 enablement
> patch 27: Enables modern devices (device ids 1041)


I'd suggest the following sequence:

- fix code design issues - tabs/spaces; (optionally) do here replacing "if 
(dev->type == VIRTIO_TYPE_PCI)" with "if (dev->type != VIRTIO_TYPE_PCI)", 
etc to make the following patches look simpler

- add helpers like  SLOF_pci_config_read8()

- fix virtio_set_qaddr()

- add fill_blk_hdr(), virtio_queue_init_vq() and change virtio-blk/net to 
use these

and only then start doing things like "1.0 aware" or adding 
virtio-setup-device.

Otherwise jumping back and forth in the series is really exhausting :)


>
> Nikunj A Dadhania (27):
>    virtio: use virtio-set-qaddr api
>    pci: add byte read/write helper routines
>    virtio-blk: add helpers for filling descriptors
>    virtio: introduce helper for initializing virt queue
>    virtio-blk: use virt queue init and reset init
>    virtio: add virtio 1.0 related struct and defines
>    virtio: add virtio 1.0 capability parsing
>    virtio: make virtio_get_qsize 1.0 aware
>    virtio: add 64-bit virtio helpers for 1.0
>    virtio: make virtio_vring_desc 1.0 aware
>    virtio: make virtio_get_vring_avail 1.0 aware
>    virtio: make virtio_get_vring_used 1.0 aware
>    virtio: make virtio_set_status 1.0 aware
>    virtio: make virtio_queue_notify 1.0 aware
>    virtio: make virtio_set_qaddr 1.0 aware
>    virtio 1.0 64bit features set/get reg accessor
>    virtio: make virtio_{get,read}_config 1.0 aware
>    virtio: enable 1.0 device setup
>    virtio 1.0: helper for guest features negotiation
>    virtio: make virtio_fill_desc 1.0 aware
>    virtio-blk: enable virtio 1.0
>    virtio: change signature of virtio_set_qaddr
>    virtio-net: simplify and modularize driver
>    virtio-net: make net_hdr_size a variable
>    virtio-net: move setup-mac to the open routine
>    virtio-net: make driver virtio 1.0 compatible
>    virtio: support virtio 1.0 only device ids
>
>   board-qemu/slof/pci-device_1af4_1001.fs |   9 -
>   board-qemu/slof/pci-device_1af4_1009.fs |   8 +-
>   board-qemu/slof/virtio-net.fs           |  22 +-
>   board-qemu/slof/virtio.fs               |  15 ++
>   include/helpers.h                       |   2 +
>   lib/libvirtio/virtio-blk.c              | 130 +++++++---
>   lib/libvirtio/virtio-net.c              | 236 +++++++++--------
>   lib/libvirtio/virtio-net.h              |  12 -
>   lib/libvirtio/virtio.c                  | 436 ++++++++++++++++++++++++++++----
>   lib/libvirtio/virtio.code               |   7 +
>   lib/libvirtio/virtio.h                  |  54 +++-
>   lib/libvirtio/virtio.in                 |   2 +
>   slof/fs/pci-device.fs                   |   9 +-
>   slof/helpers.c                          |  14 +
>   14 files changed, 716 insertions(+), 240 deletions(-)
>


-- 
Alexey


More information about the SLOF mailing list