Skip to content

Commit 6fdb2b0

Browse files
ShadowCurseroypat
authored andcommitted
refactor: remove getter for guest memory from Vmm
Some places were accessing `guest_memory` directly while others were using getter. Remove getter to make accesses consistent. Signed-off-by: Egor Lazarchuk <[email protected]>
1 parent 8379fcd commit 6fdb2b0

File tree

8 files changed

+16
-21
lines changed

8 files changed

+16
-21
lines changed

src/vmm/src/arch/aarch64/mod.rs

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -112,7 +112,7 @@ pub fn configure_system_for_boot(
112112
for vcpu in vcpus.iter_mut() {
113113
vcpu.kvm_vcpu
114114
.configure(
115-
vmm.guest_memory(),
115+
&vmm.guest_memory,
116116
entry_point,
117117
&vcpu_config,
118118
&optional_capabilities,

src/vmm/src/arch/x86_64/mod.rs

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -175,7 +175,7 @@ pub fn configure_system_for_boot(
175175
// Configure vCPUs with normalizing and setting the generated CPU configuration.
176176
for vcpu in vcpus.iter_mut() {
177177
vcpu.kvm_vcpu
178-
.configure(vmm.guest_memory(), entry_point, &vcpu_config)?;
178+
.configure(&vmm.guest_memory, entry_point, &vcpu_config)?;
179179
}
180180

181181
// Write the kernel command line to guest memory. This is x86_64 specific, since on
@@ -186,7 +186,7 @@ pub fn configure_system_for_boot(
186186
.expect("Cannot create cstring from cmdline string");
187187

188188
load_cmdline(
189-
vmm.guest_memory(),
189+
&vmm.guest_memory,
190190
GuestAddress(crate::arch::x86_64::layout::CMDLINE_START),
191191
&boot_cmdline,
192192
)

src/vmm/src/builder.rs

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -596,7 +596,7 @@ fn attach_virtio_device<T: 'static + VirtioDevice + MutEventSubscriber + Debug>(
596596
event_manager.add_subscriber(device.clone());
597597

598598
// The device mutex mustn't be locked here otherwise it will deadlock.
599-
let device = MmioTransport::new(vmm.guest_memory().clone(), device, is_vhost_user);
599+
let device = MmioTransport::new(vmm.guest_memory.clone(), device, is_vhost_user);
600600
vmm.mmio_device_manager
601601
.register_mmio_virtio_for_boot(
602602
vmm.vm.fd(),

src/vmm/src/device_manager/persist.rs

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -805,7 +805,7 @@ mod tests {
805805
let device_states: DeviceStates = Snapshot::deserialize(&mut buf.as_slice()).unwrap();
806806
let vm_resources = &mut VmResources::default();
807807
let restore_args = MMIODevManagerConstructorArgs {
808-
mem: vmm.guest_memory(),
808+
mem: &vmm.guest_memory,
809809
vm: vmm.vm.fd(),
810810
event_manager: &mut event_manager,
811811
resource_allocator: &mut resource_allocator,

src/vmm/src/gdb/arch/aarch64.rs

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -63,7 +63,7 @@ const PTE_ADDRESS_MASK: u64 = !0b111u64;
6363
/// Read a u64 value from a guest memory address
6464
fn read_address(vmm: &Vmm, address: u64) -> Result<u64, GdbTargetError> {
6565
let mut buf = [0; 8];
66-
vmm.guest_memory().read(&mut buf, GuestAddress(address))?;
66+
vmm.guest_memory.read(&mut buf, GuestAddress(address))?;
6767

6868
Ok(u64::from_le_bytes(buf))
6969
}

src/vmm/src/gdb/target.rs

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -399,7 +399,7 @@ impl MultiThreadBase for FirecrackerTarget {
399399
GUEST_PAGE_SIZE - (u64_to_usize(gpa) & (GUEST_PAGE_SIZE - 1)),
400400
);
401401

402-
vmm.guest_memory()
402+
vmm.guest_memory
403403
.read(&mut data[..read_len], GuestAddress(gpa as u64))
404404
.map_err(|e| {
405405
error!("Error reading memory {e:?} gpa is {gpa}");
@@ -433,7 +433,7 @@ impl MultiThreadBase for FirecrackerTarget {
433433
GUEST_PAGE_SIZE - (u64_to_usize(gpa) & (GUEST_PAGE_SIZE - 1)),
434434
);
435435

436-
vmm.guest_memory()
436+
vmm.guest_memory
437437
.write(&data[..write_len], GuestAddress(gpa))
438438
.map_err(|e| {
439439
error!("Error {e:?} writing memory at {gpa:#X}");

src/vmm/src/lib.rs

Lines changed: 2 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -444,11 +444,6 @@ impl Vmm {
444444
Ok(())
445445
}
446446

447-
/// Returns a reference to the inner `GuestMemoryMmap` object.
448-
pub fn guest_memory(&self) -> &GuestMemoryMmap {
449-
&self.guest_memory
450-
}
451-
452447
/// Sets RDA bit in serial console
453448
pub fn emulate_serial_init(&self) -> Result<(), EmulateSerialInitError> {
454449
// When restoring from a previously saved state, there is no serial
@@ -526,7 +521,7 @@ impl Vmm {
526521
};
527522
let device_states = self.mmio_device_manager.save();
528523

529-
let memory_state = self.guest_memory().describe();
524+
let memory_state = self.guest_memory.describe();
530525
let acpi_dev_state = self.acpi_device_manager.save();
531526

532527
Ok(MicrovmState {
@@ -741,7 +736,7 @@ impl Vmm {
741736
pub fn update_balloon_config(&mut self, amount_mib: u32) -> Result<(), BalloonError> {
742737
// The balloon cannot have a target size greater than the size of
743738
// the guest memory.
744-
if u64::from(amount_mib) > mem_size_mib(self.guest_memory()) {
739+
if u64::from(amount_mib) > mem_size_mib(&self.guest_memory) {
745740
return Err(BalloonError::TooManyPagesRequested);
746741
}
747742

src/vmm/src/persist.rs

Lines changed: 6 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -219,7 +219,7 @@ fn snapshot_memory_to_file(
219219
.map_err(|err| MemoryBackingFile("open", err))?;
220220

221221
// Determine what size our total memory area is.
222-
let mem_size_mib = mem_size_mib(vmm.guest_memory());
222+
let mem_size_mib = mem_size_mib(&vmm.guest_memory);
223223
let expected_size = mem_size_mib * 1024 * 1024;
224224

225225
if file_existed {
@@ -248,15 +248,15 @@ fn snapshot_memory_to_file(
248248
match snapshot_type {
249249
SnapshotType::Diff => {
250250
let dirty_bitmap = vmm.get_dirty_bitmap().map_err(DirtyBitmap)?;
251-
vmm.guest_memory()
251+
vmm.guest_memory
252252
.dump_dirty(&mut file, &dirty_bitmap)
253253
.map_err(Memory)
254254
}
255255
SnapshotType::Full => {
256-
let dump_res = vmm.guest_memory().dump(&mut file).map_err(Memory);
256+
let dump_res = vmm.guest_memory.dump(&mut file).map_err(Memory);
257257
if dump_res.is_ok() {
258258
vmm.reset_dirty_bitmap();
259-
vmm.guest_memory().reset_dirty();
259+
vmm.guest_memory.reset_dirty();
260260
}
261261

262262
dump_res
@@ -272,7 +272,7 @@ fn snapshot_memory_to_file(
272272
.for_each_virtio_device(|_, _, _, dev| {
273273
let d = dev.lock().unwrap();
274274
if d.is_activated() {
275-
d.mark_queue_memory_dirty(vmm.guest_memory())
275+
d.mark_queue_memory_dirty(&vmm.guest_memory)
276276
} else {
277277
Ok(())
278278
}
@@ -747,7 +747,7 @@ mod tests {
747747
assert!(states.vsock_device.is_some());
748748
assert!(states.balloon_device.is_some());
749749

750-
let memory_state = vmm.guest_memory().describe();
750+
let memory_state = vmm.guest_memory.describe();
751751
let vcpu_states = vec![VcpuState::default()];
752752
#[cfg(target_arch = "aarch64")]
753753
let mpidrs = construct_kvm_mpidrs(&vcpu_states);

0 commit comments

Comments
 (0)