MCPcopy Create free account
hub / github.com/cloud-hypervisor/cloud-hypervisor / load_firmware

Method load_firmware

vmm/src/vm.rs:1495–1510  ·  view source on GitHub ↗
(
        mut firmware: &File,
        memory_manager: Arc<Mutex<MemoryManager>>,
    )

Source from the content-addressed store, hash-verified

1493 #[allow(clippy::needless_pass_by_value)]
1494 #[cfg(any(target_arch = "aarch64", target_arch = "riscv64"))]
1495 fn load_firmware(
1496 mut firmware: &File,
1497 memory_manager: Arc<Mutex<MemoryManager>>,
1498 ) -> Result<EntryPoint> {
1499 let mut memory_manager = memory_manager.lock().unwrap();
1500 memory_manager
1501 .add_uefi_flash()
1502 .map_err(Error::MemoryManager)?;
1503 let uefi_flash = memory_manager.uefi_flash();
1504 let mem = uefi_flash.memory();
1505 arch::uefi::load_uefi(mem.deref(), arch::layout::UEFI_START, &mut firmware)
1506 .map_err(Error::UefiLoad)?;
1507 Ok(EntryPoint {
1508 entry_addr: arch::layout::UEFI_START,
1509 })
1510 }
1511
1512 #[allow(clippy::needless_pass_by_value)]
1513 #[cfg(any(target_arch = "aarch64", target_arch = "riscv64"))]

Callers

nothing calls this directly

Calls 5

add_uefi_flashMethod · 0.80
uefi_flashMethod · 0.80
memoryMethod · 0.80
load_uefiFunction · 0.50
derefMethod · 0.45

Tested by

no test coverage detected