vmm, hypervisor: introduce and use make_user_memory_region

This removes the last KVM-ism from memory_manager. Also make use of that
method in other places.

Signed-off-by: Wei Liu <liuwe@microsoft.com>
This commit is contained in:
Wei Liu
2020-07-04 11:38:17 +00:00
committed by Samuel Ortiz
parent 8d97d628c3
commit cfa758fbb1
5 changed files with 49 additions and 25 deletions

View File

@@ -588,13 +588,13 @@ impl DeviceRelocation for AddressManager {
if let Some(mut shm_regions) = virtio_dev.get_shm_regions() {
if shm_regions.addr.raw_value() == old_base {
// Remove old region from KVM by passing a size of 0.
let mut mem_region = hypervisor::MemoryRegion {
slot: shm_regions.mem_slot,
guest_phys_addr: old_base,
memory_size: 0,
userspace_addr: shm_regions.host_addr,
flags: 0,
};
let mut mem_region = self.vm.make_user_memory_region(
shm_regions.mem_slot,
old_base,
0,
shm_regions.host_addr,
false,
);
self.vm.set_user_memory_region(mem_region).map_err(|e| {
io::Error::new(