[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