[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)?;