[vmbase] Update return type of layout functions to VirtualAddress

Test: atest vmbase_example.integration_test rialto_test
Test: m pvmfw_img
Change-Id: If33b0cc0bfffbe408908c382d0c077c92f3c197b
diff --git a/vmbase/src/layout/mod.rs b/vmbase/src/layout/mod.rs
index ffa29e7..f7e8170 100644
--- a/vmbase/src/layout/mod.rs
+++ b/vmbase/src/layout/mod.rs
@@ -31,7 +31,8 @@
     ($symbol:ident) => {{
         // SAFETY: We're just getting the address of an extern static symbol provided by the linker,
         // not dereferencing it.
-        unsafe { addr_of!($crate::linker::$symbol) as usize }
+        let addr = unsafe { addr_of!($crate::linker::$symbol) as usize };
+        VirtualAddress(addr)
     }};
 }
 
@@ -42,7 +43,7 @@
         let start = linker_addr!($begin);
         let end = linker_addr!($end);
 
-        VirtualAddress(start)..VirtualAddress(end)
+        start..end
     }};
 }
 
@@ -74,10 +75,10 @@
 /// Writable data region for the stack.
 pub fn stack_range(stack_size: usize) -> Range<VirtualAddress> {
     let end = linker_addr!(init_stack_pointer);
-    let start = end.checked_sub(stack_size).unwrap();
+    let start = VirtualAddress(end.0.checked_sub(stack_size).unwrap());
     assert!(start >= linker_addr!(stack_limit));
 
-    VirtualAddress(start)..VirtualAddress(end)
+    start..end
 }
 
 /// All writable sections, excluding the stack.
@@ -93,12 +94,12 @@
 }
 
 /// Read-write data (original).
-pub fn data_load_address() -> usize {
+pub fn data_load_address() -> VirtualAddress {
     linker_addr!(data_lma)
 }
 
 /// End of the binary image.
-pub fn binary_end() -> usize {
+pub fn binary_end() -> VirtualAddress {
     linker_addr!(bin_end)
 }