diff --git a/Cargo.lock b/Cargo.lock index a4ca864ff..68dc3c457 100644 --- a/Cargo.lock +++ b/Cargo.lock @@ -468,7 +468,7 @@ dependencies = [ [[package]] name = "linux-loader" version = "0.1.0" -source = "git+https://github.com/rust-vmm/linux-loader#bf2e6ea1500e1f92c4d7721b234824a2db8e9a40" +source = "git+https://github.com/rust-vmm/linux-loader#2adddce25b37f68c99ae8e7db1cb7f5853626fdd" dependencies = [ "vm-memory 0.2.0 (registry+https://github.com/rust-lang/crates.io-index)", ] diff --git a/arch/src/x86_64/mod.rs b/arch/src/x86_64/mod.rs index ba6e4dec3..3b3c0878e 100644 --- a/arch/src/x86_64/mod.rs +++ b/arch/src/x86_64/mod.rs @@ -16,7 +16,7 @@ pub mod regs; use crate::InitramfsConfig; use crate::RegionType; use linux_loader::loader::bootparam::{boot_params, setup_header}; -use linux_loader::loader::start_info::{hvm_memmap_table_entry, hvm_start_info}; +use linux_loader::loader::elf::start_info::{hvm_memmap_table_entry, hvm_start_info}; use std::mem; use vm_memory::{ Address, ByteValued, Bytes, GuestAddress, GuestMemory, GuestMemoryMmap, GuestMemoryRegion, diff --git a/vmm/src/vm.rs b/vmm/src/vm.rs index 37ca54048..7061fc224 100755 --- a/vmm/src/vm.rs +++ b/vmm/src/vm.rs @@ -36,6 +36,7 @@ use devices::{ioapic, HotPlugNotificationFlags}; use kvm_bindings::{kvm_enable_cap, kvm_userspace_memory_region, KVM_CAP_SPLIT_IRQCHIP}; use kvm_ioctls::*; use linux_loader::cmdline::Cmdline; +use linux_loader::loader::elf::Error::InvalidElfMagicNumber; use linux_loader::loader::KernelLoader; use signal_hook::{iterator::Signals, SIGINT, SIGTERM, SIGWINCH}; use std::convert::TryInto; @@ -436,15 +437,15 @@ impl Vm { let cmdline_cstring = CString::new(cmdline).map_err(Error::CmdLineCString)?; let guest_memory = self.memory_manager.lock().as_ref().unwrap().guest_memory(); let mem = guest_memory.memory(); - let entry_addr = match linux_loader::loader::Elf::load( + let entry_addr = match linux_loader::loader::elf::Elf::load( mem.deref(), None, &mut self.kernel, Some(arch::layout::HIGH_RAM_START), ) { Ok(entry_addr) => entry_addr, - Err(linux_loader::loader::Error::InvalidElfMagicNumber) => { - linux_loader::loader::BzImage::load( + Err(linux_loader::loader::Error::Elf(InvalidElfMagicNumber)) => { + linux_loader::loader::bzimage::BzImage::load( mem.deref(), None, &mut self.kernel,