vhost: use MemoryListener filtering to only monitor RAM address space

Instead of checking manually, let the listener filter for us.  This prepares
us for DMA address spaces.

Signed-off-by: Avi Kivity <avi@redhat.com>
This commit is contained in:
Avi Kivity 2012-09-30 22:02:53 +02:00
parent 7762c2c1e0
commit 0fada67420

View File

@ -434,8 +434,7 @@ static void vhost_set_memory(MemoryListener *listener,
static bool vhost_section(MemoryRegionSection *section) static bool vhost_section(MemoryRegionSection *section)
{ {
return section->address_space == get_system_memory() return memory_region_is_ram(section->mr);
&& memory_region_is_ram(section->mr);
} }
static void vhost_begin(MemoryListener *listener) static void vhost_begin(MemoryListener *listener)
@ -793,7 +792,7 @@ int vhost_dev_init(struct vhost_dev *hdev, int devfd, const char *devpath,
hdev->log_size = 0; hdev->log_size = 0;
hdev->log_enabled = false; hdev->log_enabled = false;
hdev->started = false; hdev->started = false;
memory_listener_register(&hdev->memory_listener, NULL); memory_listener_register(&hdev->memory_listener, get_system_memory());
hdev->force = force; hdev->force = force;
return 0; return 0;
fail: fail: