Compared to v1, I have improved error recovery (thanks to Stefan for the great review!). Patch 3 is pretty much rewritten, making patch 4 also much easier to review hopefully.
Paolo Paolo Bonzini (8): virtio: make virtio_should_notify static virtio: add virtio_*_phys_cached virtio: use address_space_map/unmap to access descriptors exec: make address_space_cache_destroy idempotent virtio: use MemoryRegionCache to access descriptors virtio: add MemoryListener to cache ring translations virtio: use VRingMemoryRegionCaches for descriptor ring virtio: use VRingMemoryRegionCaches for avail and used rings exec.c | 1 + hw/net/virtio-net.c | 14 +- hw/virtio/virtio.c | 321 ++++++++++++++++++++++++++++++-------- include/exec/memory.h | 2 + include/hw/virtio/virtio-access.h | 52 ++++++ include/hw/virtio/virtio.h | 2 +- 6 files changed, 323 insertions(+), 69 deletions(-) -- 2.9.3