]> git.baikalelectronics.ru Git - kernel.git/commit
virtio-mmio: Update the device to OASIS spec version
authorPawel Moll <pawel.moll@arm.com>
Fri, 23 Jan 2015 04:15:55 +0000 (14:45 +1030)
committerRusty Russell <rusty@rustcorp.com.au>
Fri, 23 Jan 2015 04:27:10 +0000 (14:57 +1030)
commit2f96109da3653d23fb9d52c980089a1de378e1ba
treef28c2d0aae6d7e9bde82b269d09da72d727f8522
parentddd316ad1ce5bc5aa3502110ae9412554e314277
virtio-mmio: Update the device to OASIS spec version

This patch add a support for second version of the virtio-mmio device,
which follows OASIS "Virtual I/O Device (VIRTIO) Version 1.0"
specification.

Main changes:

1. The control register symbolic names use the new device/driver
   nomenclature rather than the old guest/host one.

2. The driver detect the device version (version 1 is the pre-OASIS
   spec, version 2 is compatible with fist revision of the OASIS spec)
   and drives the device accordingly.

3. New version uses direct addressing (64 bit address split into two
   low/high register) instead of the guest page size based one,
   and addresses each part of the queue (descriptors, available, used)
   separately.

4. The device activity is now explicitly triggered by writing to the
   "queue ready" register.

5. Whole 64 bit features are properly handled now (both ways).

Signed-off-by: Pawel Moll <pawel.moll@arm.com>
Acked-by: Michael S. Tsirkin <mst@redhat.com>
Signed-off-by: Rusty Russell <rusty@rustcorp.com.au>
drivers/virtio/virtio_mmio.c
include/linux/virtio_mmio.h