]> 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)
commit60fb33ee311c69ebb56ff6c58a1d6f915fc6cac8
treef28c2d0aae6d7e9bde82b269d09da72d727f8522
parentc8a7e45aa211f34b8d35a03900c9583b67c49b06
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