[pvmfw] Refactor MMIO range check in pvmfw
This cl refactors the MMIO range check and moves the
pvmfw-specific memory region constants out of MemoryTracker. This
simplifies the task of moving MemoryTracker to vmbase later.
Bug: 284462758
Test: m pvmfw_img
Change-Id: Ifb563215c59d7bb9dd4fae28bba68054b48b30d2
diff --git a/pvmfw/src/entry.rs b/pvmfw/src/entry.rs
index 19ba9c3..66e994b 100644
--- a/pvmfw/src/entry.rs
+++ b/pvmfw/src/entry.rs
@@ -33,7 +33,9 @@
use log::LevelFilter;
use vmbase::util::RangeExt as _;
use vmbase::{
- console, layout, logger, main,
+ console,
+ layout::{self, crosvm},
+ logger, main,
memory::{min_dcache_line_size, SIZE_2MB, SIZE_4KB},
power::reboot,
};
@@ -223,7 +225,11 @@
let (bcc_slice, debug_policy) = appended.get_entries();
// Up to this point, we were using the built-in static (from .rodata) page tables.
- MEMORY.lock().replace(MemoryTracker::new(page_table));
+ MEMORY.lock().replace(MemoryTracker::new(
+ page_table,
+ crosvm::MEM_START..memory::MAX_ADDR,
+ crosvm::MMIO_START..crosvm::MMIO_END,
+ ));
let slices = MemorySlices::new(fdt, payload, payload_size)?;