[fdt] Add function to get the first range in /memory node of fdt
and test it. This function will be reused later in both pvmfw and
rialto.
Test: atest liblibfdt.integration_test
Test: atest vmbase_example.integration_test
Test: m pvmfw_img
Bug: 284462758
Change-Id: Ic547530f911281c2db14b9a59b7e2470be10361f
diff --git a/pvmfw/src/fdt.rs b/pvmfw/src/fdt.rs
index 216ac9c..ab851a1 100644
--- a/pvmfw/src/fdt.rs
+++ b/pvmfw/src/fdt.rs
@@ -106,11 +106,6 @@
node.setprop(cstr!("bootargs"), bootargs.to_bytes_with_nul())
}
-/// Read the first range in /memory node in DT
-fn read_memory_range_from(fdt: &Fdt) -> libfdt::Result<Range<usize>> {
- fdt.memory()?.ok_or(FdtError::NotFound)?.next().ok_or(FdtError::NotFound)
-}
-
/// Check if memory range is ok
fn validate_memory_range(range: &Range<usize>) -> Result<(), RebootReason> {
let base = range.start;
@@ -613,7 +608,7 @@
RebootReason::InvalidFdt
})?;
- let memory_range = read_memory_range_from(fdt).map_err(|e| {
+ let memory_range = fdt.first_memory_range().map_err(|e| {
error!("Failed to read memory range from DT: {e}");
RebootReason::InvalidFdt
})?;