summary refs log tree commit diff
path: root/arch
diff options
context:
space:
mode:
authorAlyssa Ross <hi@alyssa.is>2020-05-22 01:18:42 +0000
committerAlyssa Ross <hi@alyssa.is>2020-05-22 01:18:42 +0000
commit460406d10bbfaa890d56d616b4610813da63a312 (patch)
tree889af76de40dfca7228a22a38f6b65b9562946f9 /arch
parenteb223862bd19827cc15d74b8af75b8c45a79b4d0 (diff)
parent56520c27224579640da9d3e8e4964b0f27dc9bdc (diff)
downloadcrosvm-460406d10bbfaa890d56d616b4610813da63a312.tar
crosvm-460406d10bbfaa890d56d616b4610813da63a312.tar.gz
crosvm-460406d10bbfaa890d56d616b4610813da63a312.tar.bz2
crosvm-460406d10bbfaa890d56d616b4610813da63a312.tar.lz
crosvm-460406d10bbfaa890d56d616b4610813da63a312.tar.xz
crosvm-460406d10bbfaa890d56d616b4610813da63a312.tar.zst
crosvm-460406d10bbfaa890d56d616b4610813da63a312.zip
Merge remote-tracking branch 'origin/master'
Diffstat (limited to 'arch')
-rw-r--r--arch/src/android.rs10
1 files changed, 9 insertions, 1 deletions
diff --git a/arch/src/android.rs b/arch/src/android.rs
index 3d459d4..5311d3f 100644
--- a/arch/src/android.rs
+++ b/arch/src/android.rs
@@ -31,9 +31,17 @@ pub fn create_android_fdt(fdt: &mut Vec<u8>, fstab: File) -> Result<()> {
     begin_node(fdt, "firmware")?;
     begin_node(fdt, "android")?;
     property_string(fdt, "compatible", "android,firmware")?;
+
+    let (dtprop, fstab): (_, Vec<_>) = vecs.into_iter().partition(|x| x[0] == "#dt-vendor");
+    begin_node(fdt, "vendor")?;
+    for vec in dtprop {
+        let content = std::fs::read_to_string(&vec[2]).map_err(Error::FdtIoError)?;
+        property_string(fdt, &vec[1], &content);
+    }
+    end_node(fdt)?; // vendor
     begin_node(fdt, "fstab")?;
     property_string(fdt, "compatible", "android,fstab")?;
-    for vec in vecs {
+    for vec in fstab {
         let partition = &vec[1][1..];
         begin_node(fdt, partition)?;
         property_string(fdt, "compatible", &("android,".to_owned() + partition))?;