virtio: core support for config generation
authorMichael S. Tsirkin <mst@redhat.com>
Sun, 14 Dec 2014 14:55:44 +0000 (16:55 +0200)
committerMichael S. Tsirkin <mst@redhat.com>
Sun, 14 Dec 2014 16:21:31 +0000 (18:21 +0200)
commitd71de9ec6ba806104439d3a669befda84757b5af
tree9584862eef22a09b0299a3e5e4a975ddc67e1de9
parent0dce3771fdd1db03c6f498594a34bba5a6d1f870
virtio: core support for config generation

virtio 1.0 spec says:

Drivers MUST NOT assume reads from fields greater than 32 bits wide are
atomic, nor are reads from multiple fields: drivers SHOULD read device
configuration space fields like so:
u32 before, after;
do {
before = get_config_generation(device);
// read config entry/entries.
after = get_config_generation(device);
} while (after != before);

Do exactly this, for transports that support it.

Signed-off-by: Michael S. Tsirkin <mst@redhat.com>
include/linux/virtio_config.h