[pvmfw][rialto] Refactor and reuse console_uart_range()
This cl:
- Extracts console_uart_range() into a function and moves it to vmbase.
There is no behavior change for pvmfw.
- Allocates device memory for UART range in rialto.
Bug: 284462758
Test: m pvmfw_img && atest rialto_test
Change-Id: I7f38e7c91869692ed535d00d62713f5be6b8f8ab
diff --git a/vmbase/src/layout.rs b/vmbase/src/layout.rs
index ead4f8e..43bcb2c 100644
--- a/vmbase/src/layout.rs
+++ b/vmbase/src/layout.rs
@@ -14,6 +14,7 @@
//! Memory layout.
+use crate::console::BASE_ADDRESS;
use core::ops::Range;
use core::ptr::addr_of;
@@ -75,6 +76,13 @@
linker_region!(eh_stack_limit, bss_end)
}
+/// UART console range.
+pub fn console_uart_range() -> Range<usize> {
+ const CONSOLE_LEN: usize = 1; // `uart::Uart` only uses one u8 register.
+
+ BASE_ADDRESS..(BASE_ADDRESS + CONSOLE_LEN)
+}
+
/// Read-write data (original).
pub fn data_load_address() -> usize {
linker_addr!(data_lma)