vmbase: Explicitly map valid memory ranges

The new version of aarch64-paging crate introduces a breaking change in
'Mapping::map_range' API. Unless 'Attributes::VALID' is explicitly
passed to 'map_range', the VALID bit is no longer set in leaf page table
entries (blocks and pages).

This change explicitly sets the VALID bit in all places where `map_range`
is called.

Bug: 245267332
Test: atest MicrodroidTestApp
Change-Id: Ide81433f2b719f35cdf7a80b7694b63e79a0275e
diff --git a/vmbase/example/src/main.rs b/vmbase/example/src/main.rs
index 3bf850c..90a0ec2 100644
--- a/vmbase/example/src/main.rs
+++ b/vmbase/example/src/main.rs
@@ -82,17 +82,23 @@
     check_alloc();
 
     let mut idmap = IdMap::new(ASID, ROOT_LEVEL);
-    idmap.map_range(&DEVICE_REGION, Attributes::DEVICE_NGNRE | Attributes::EXECUTE_NEVER).unwrap();
+    idmap
+        .map_range(
+            &DEVICE_REGION,
+            Attributes::VALID | Attributes::DEVICE_NGNRE | Attributes::EXECUTE_NEVER,
+        )
+        .unwrap();
     idmap
         .map_range(
             &text_range().into(),
-            Attributes::NORMAL | Attributes::NON_GLOBAL | Attributes::READ_ONLY,
+            Attributes::VALID | Attributes::NORMAL | Attributes::NON_GLOBAL | Attributes::READ_ONLY,
         )
         .unwrap();
     idmap
         .map_range(
             &rodata_range().into(),
-            Attributes::NORMAL
+            Attributes::VALID
+                | Attributes::NORMAL
                 | Attributes::NON_GLOBAL
                 | Attributes::READ_ONLY
                 | Attributes::EXECUTE_NEVER,
@@ -101,26 +107,36 @@
     idmap
         .map_range(
             &scratch_range().into(),
-            Attributes::NORMAL | Attributes::NON_GLOBAL | Attributes::EXECUTE_NEVER,
+            Attributes::VALID
+                | Attributes::NORMAL
+                | Attributes::NON_GLOBAL
+                | Attributes::EXECUTE_NEVER,
         )
         .unwrap();
     idmap
         .map_range(
             &boot_stack_range().into(),
-            Attributes::NORMAL | Attributes::NON_GLOBAL | Attributes::EXECUTE_NEVER,
+            Attributes::VALID
+                | Attributes::NORMAL
+                | Attributes::NON_GLOBAL
+                | Attributes::EXECUTE_NEVER,
         )
         .unwrap();
     idmap
         .map_range(
             &dtb_range().into(),
-            Attributes::NORMAL
+            Attributes::VALID
+                | Attributes::NORMAL
                 | Attributes::NON_GLOBAL
                 | Attributes::READ_ONLY
                 | Attributes::EXECUTE_NEVER,
         )
         .unwrap();
     idmap
-        .map_range(&get_bar_region(&pci_info), Attributes::DEVICE_NGNRE | Attributes::EXECUTE_NEVER)
+        .map_range(
+            &get_bar_region(&pci_info),
+            Attributes::VALID | Attributes::DEVICE_NGNRE | Attributes::EXECUTE_NEVER,
+        )
         .unwrap();
 
     info!("Activating IdMap...");