From af60314291af3cabda18d27f928b0e0ff899cc76 Mon Sep 17 00:00:00 2001 From: Nicholas Bellinger Date: Wed, 3 Apr 2013 09:15:11 +0000 Subject: vhost: Add vhost_commit callback for SeaBIOS ROM region re-mapping This patch follows MST's recommendation to move checks for vhost_verify_ring_mappings() -> cpu_physical_memory_map() operations from MemoryListener->region_[add,del]() -> vhost_set_memory() into final MemoryListener->commit() -> vhost_commit() callback. It addresses the case where virtio-scsi vq ioport RAM re-mapping to read-only SeaBIOS ROM triggers a cpu_physical_memory_map() NIL MemoryRegionSection pointer failure. Also save vhost_dev->mem_changed_[start,end]_addr values in vhost_set_memory() for final ranges_overlap checks. (Thanks Paolo!) Cc: Michael S. Tsirkin Cc: Paolo Bonzini Cc: Asias He Signed-off-by: Nicholas Bellinger Acked-by: Michael S. Tsirkin Signed-off-by: Paolo Bonzini --- include/hw/virtio/vhost.h | 3 +++ 1 file changed, 3 insertions(+) (limited to 'include') diff --git a/include/hw/virtio/vhost.h b/include/hw/virtio/vhost.h index b373be0387..de24746c7e 100644 --- a/include/hw/virtio/vhost.h +++ b/include/hw/virtio/vhost.h @@ -45,6 +45,9 @@ struct vhost_dev { vhost_log_chunk_t *log; unsigned long long log_size; bool force; + bool memory_changed; + hwaddr mem_changed_start_addr; + hwaddr mem_changed_end_addr; }; int vhost_dev_init(struct vhost_dev *hdev, int devfd, const char *devpath, -- cgit v1.2.3-55-g7522