• Pawel Moll's avatar
    virtio-mmio: Update the device to OASIS spec version · 1862ee22
    Pawel Moll authored
    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: default avatarPawel Moll <pawel.moll@arm.com>
    Acked-by: default avatarMichael S. Tsirkin <mst@redhat.com>
    Signed-off-by: default avatarRusty Russell <rusty@rustcorp.com.au>
    1862ee22
virtio_mmio.c 17.5 KB