[SLOF] [PATCH v3 00/22] Generic virtio 1.0 with block and network support

Nikunj A Dadhania nikunj at linux.vnet.ibm.com
Fri Jan 22 21:54:43 AEDT 2016


Following patch series enables virtio 1.0 support in SLOF.
Currently, two drivers are supported virtio-blk and virtio-net.

Patches are organised in following order:

    01-12: Generic fixes, code improvements and re-organization
    13-19: Enables generic virtio 1.0 functionality
    20-21: Converts virtio-blk and virtio-net drivers to 1.0
       22: Enables modern devices (device ids > 1041)

Changelog:
v2:
* split patch 08 to different patches
* Set local-mac-address only once
* rename virtio_{read,write}64 to virtio_pci_{read,write}64
* Remove q_size magic
* Introduce cpu_to_modern{16,32,64} and vice versa
* Use cpu_to_le32 in place of bswap32
* Consistently use int type and 0/-1 as return
* Not required to set running = 0 in error case

v1:
* Patch re-organisation as suggested by alexey
* Separated out coding style changes and code re-organization
* Feature negotiation now sets and checks FEATURES_OK bit
* Added virtio_get_status for feature negotiation
* Added missing notify_off_mul in SLOF virtio_device structure
* virtio-net - net_hdr_size was missing at one place
* squashed all the api conversion to one single patch
* Introduced and enabled virtio_parse_capabilities in 
  one single patch. Also, disabled is_modern until the 
  driver is ready.

ToDo:
* Convert virtio-scsi and virtio-9p drivers

Nikunj A Dadhania (22):
  virtio: fix gcc warnings (-Wextra)
  pci: add byte read/write helper routines
  fix code style in byteorder.h
  virtio: fix code style/design issues.
  virtio: introduce helper for initializing virt queue
  virtio-{blk,9p}: enable resetting the device
  virtio-blk: add helpers for filling descriptors
  virtio-{net,blk,scsi,9p}: use status variable
  virtio-net: use virtio_fill_desc
  virtio-net: replace vq array with vq_{tx,rx}
  virtio-net: make net_hdr_size a variable
  virtio-net: move setup-mac to the open routine
  virtio: add virtio 1.0 related struct and defines
  virtio: add 64-bit virtio helpers for 1.0
  virtio: make all virtio apis 1.0 aware
  virtio: 1.0 features set/get register accessor
  virtio: 1.0 guest features negotiation
  virtio: add and enable 1.0 capability parsing
  virtio: 1.0 helper to read 16/32/64 bit value
  virtio-blk: enable virtio 1.0
  virtio-net: enable virtio 1.0
  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 |   9 -
 board-qemu/slof/virtio-net.fs           |  23 +-
 board-qemu/slof/virtio.fs               |  18 ++
 include/byteorder.h                     |  22 +-
 include/helpers.h                       |   2 +
 lib/libvirtio/virtio-9p.c               |  33 ++-
 lib/libvirtio/virtio-blk.c              | 113 ++++---
 lib/libvirtio/virtio-net.c              | 191 ++++++------
 lib/libvirtio/virtio-net.h              |  12 -
 lib/libvirtio/virtio-scsi.c             | 163 ++++++-----
 lib/libvirtio/virtio.c                  | 503 ++++++++++++++++++++++++++++----
 lib/libvirtio/virtio.code               |   6 +
 lib/libvirtio/virtio.h                  |  61 +++-
 lib/libvirtio/virtio.in                 |   2 +
 slof/fs/pci-device.fs                   |   8 +-
 slof/helpers.c                          |  14 +
 17 files changed, 851 insertions(+), 338 deletions(-)

-- 
2.5.0



More information about the SLOF mailing list