(&mut self, guest_mem: &GuestMemoryMmap)
| 1452 | } |
| 1453 | |
| 1454 | fn load_initramfs(&mut self, guest_mem: &GuestMemoryMmap) -> Result<arch::InitramfsConfig> { |
| 1455 | let initramfs = self.initramfs.as_mut().unwrap(); |
| 1456 | let size: usize = initramfs |
| 1457 | .seek(SeekFrom::End(0)) |
| 1458 | .map_err(Error::InitramfsLoad)? |
| 1459 | .try_into() |
| 1460 | .unwrap(); |
| 1461 | initramfs.rewind().map_err(Error::InitramfsLoad)?; |
| 1462 | |
| 1463 | let address = |
| 1464 | arch::initramfs_load_addr(guest_mem, size).map_err(Error::InitramfsAddress)?; |
| 1465 | let address = GuestAddress(address); |
| 1466 | |
| 1467 | guest_mem |
| 1468 | .read_volatile_from(address, initramfs, size) |
| 1469 | .map_err(Error::InitramfsRead)?; |
| 1470 | |
| 1471 | info!("Initramfs loaded: address = 0x{:x}", address.0); |
| 1472 | Ok(arch::InitramfsConfig { address, size }) |
| 1473 | } |
| 1474 | |
| 1475 | pub fn generate_cmdline( |
| 1476 | payload: &PayloadConfig, |
no test coverage detected