| 196 | } |
| 197 | |
| 198 | fn create_chosen_node( |
| 199 | fdt: &mut FdtWriter, |
| 200 | cmdline: &str, |
| 201 | initrd: &Option<InitramfsConfig>, |
| 202 | ) -> FdtWriterResult<()> { |
| 203 | let chosen_node = fdt.begin_node("chosen")?; |
| 204 | fdt.property_string("bootargs", cmdline)?; |
| 205 | |
| 206 | if let Some(initrd_config) = initrd { |
| 207 | let initrd_start = initrd_config.address.raw_value(); |
| 208 | let initrd_end = initrd_config.address.raw_value() + initrd_config.size as u64; |
| 209 | fdt.property_u64("linux,initrd-start", initrd_start)?; |
| 210 | fdt.property_u64("linux,initrd-end", initrd_end)?; |
| 211 | } |
| 212 | |
| 213 | fdt.end_node(chosen_node)?; |
| 214 | |
| 215 | Ok(()) |
| 216 | } |
| 217 | |
| 218 | fn create_aia_node(fdt: &mut FdtWriter, aia_device: &Arc<Mutex<dyn Vaia>>) -> FdtWriterResult<()> { |
| 219 | // IMSIC |