Allow to override AVF debug policy
Bug: 275047565
Test: atest
Change-Id: I1d331341945ee90dcbaa67113e507fb84de8218d
diff --git a/libs/libfdt/src/lib.rs b/libs/libfdt/src/lib.rs
index 7ddf680..61b69f5 100644
--- a/libs/libfdt/src/lib.rs
+++ b/libs/libfdt/src/lib.rs
@@ -606,6 +606,26 @@
Ok(fdt)
}
+ /// Creates an empty Flattened Device Tree with a mutable slice.
+ pub fn create_empty_tree(fdt: &mut [u8]) -> Result<&mut Self> {
+ // SAFETY - fdt_create_empty_tree() only write within the specified length,
+ // and returns error if buffer was insufficient.
+ // There will be no memory write outside of the given fdt.
+ let ret = unsafe {
+ libfdt_bindgen::fdt_create_empty_tree(
+ fdt.as_mut_ptr().cast::<c_void>(),
+ fdt.len() as i32,
+ )
+ };
+ fdt_err_expect_zero(ret)?;
+
+ // SAFETY - The FDT will be validated before it is returned.
+ let fdt = unsafe { Self::unchecked_from_mut_slice(fdt) };
+ fdt.check_full()?;
+
+ Ok(fdt)
+ }
+
/// Wraps a slice containing a Flattened Device Tree.
///
/// # Safety