mirror of
https://github.com/cloud-hypervisor/cloud-hypervisor.git
synced 2024-12-23 14:15:19 +00:00
vmm: memory_manager: Add file_offset to GuestRamMapping
This will help restoring the region with the correct file offset for the memory mapping. Signed-off-by: Sebastien Boeuf <sebastien.boeuf@intel.com>
This commit is contained in:
parent
01420f5195
commit
0d573ae86c
@ -129,6 +129,8 @@ struct GuestRamMapping {
|
|||||||
zone_id: String,
|
zone_id: String,
|
||||||
#[allow(dead_code)]
|
#[allow(dead_code)]
|
||||||
virtio_mem: bool,
|
virtio_mem: bool,
|
||||||
|
#[allow(dead_code)]
|
||||||
|
file_offset: u64,
|
||||||
}
|
}
|
||||||
|
|
||||||
pub struct MemoryManager {
|
pub struct MemoryManager {
|
||||||
@ -703,12 +705,20 @@ impl MemoryManager {
|
|||||||
false,
|
false,
|
||||||
self.log_dirty,
|
self.log_dirty,
|
||||||
)?;
|
)?;
|
||||||
|
|
||||||
|
let file_offset = if let Some(file_offset) = region.file_offset() {
|
||||||
|
file_offset.start()
|
||||||
|
} else {
|
||||||
|
0
|
||||||
|
};
|
||||||
|
|
||||||
self.guest_ram_mappings.push(GuestRamMapping {
|
self.guest_ram_mappings.push(GuestRamMapping {
|
||||||
gpa: region.start_addr().raw_value(),
|
gpa: region.start_addr().raw_value(),
|
||||||
size: region.len(),
|
size: region.len(),
|
||||||
slot,
|
slot,
|
||||||
zone_id: zone_id.clone(),
|
zone_id: zone_id.clone(),
|
||||||
virtio_mem,
|
virtio_mem,
|
||||||
|
file_offset,
|
||||||
});
|
});
|
||||||
self.allocator
|
self.allocator
|
||||||
.lock()
|
.lock()
|
||||||
@ -1188,6 +1198,7 @@ impl MemoryManager {
|
|||||||
slot,
|
slot,
|
||||||
zone_id: DEFAULT_MEMORY_ZONE.to_string(),
|
zone_id: DEFAULT_MEMORY_ZONE.to_string(),
|
||||||
virtio_mem: false,
|
virtio_mem: false,
|
||||||
|
file_offset: 0,
|
||||||
});
|
});
|
||||||
|
|
||||||
self.add_region(Arc::clone(®ion))?;
|
self.add_region(Arc::clone(®ion))?;
|
||||||
|
Loading…
Reference in New Issue
Block a user