Hello All, This series implement VIRTIO-CCW transport and a VIRTIO-CCW data transfer test. The first patch is for allowing different architectures to use the existing VIRTIO framework used by ARM. We then need a callback in the CSS enumeration to select a device, and bind it with the VIRTIO transport, patches 2 and 3. We need to be able to disable IRQ on the processor to protect part of the code until we are ready to receive an IRQ, and we need to have the registration and handling of IRQ at the VIRTIO level, this is patch 4. To be able to receive data we extend the comon VIRTIO code with an input routine, patch 5. Patch 6 and 7 are the two tests patches to implement simple VIRTIO initialization, very few tests of integrity now which can be expend later, and a data transfer test to check various alignement and sizes of buffers and to check the data integrity with a simple checksum. To test the last part you will need the associated QEMU device published in another series on the QEMU mailing list. Regards, Pierre Pierre Morel (7): arm: virtio: move VIRTIO transport initialization inside virtio-mmio s390x: css: add callback for emnumeration s390x: virtio: CCW transport implementation s390x: css: registering IRQ virtio: implement the virtio_add_inbuf routine s390x: virtio tests setup s390x: virtio data transfer lib/s390x/css.h | 24 ++- lib/s390x/css_lib.c | 31 +++- lib/s390x/virtio-ccw.c | 374 +++++++++++++++++++++++++++++++++++++++++ lib/s390x/virtio-ccw.h | 111 ++++++++++++ lib/virtio-config.h | 30 ++++ lib/virtio-mmio.c | 2 +- lib/virtio-mmio.h | 2 - lib/virtio.c | 37 +++- lib/virtio.h | 2 + s390x/Makefile | 3 + s390x/css.c | 2 +- s390x/unittests.cfg | 4 + s390x/virtio_pong.c | 315 ++++++++++++++++++++++++++++++++++ 13 files changed, 924 insertions(+), 13 deletions(-) create mode 100644 lib/s390x/virtio-ccw.c create mode 100644 lib/s390x/virtio-ccw.h create mode 100644 lib/virtio-config.h create mode 100644 s390x/virtio_pong.c -- 2.25.1