diff options
author | Sonny Rao <sonnyrao@chromium.org> | 2018-01-31 17:49:07 -0800 |
---|---|---|
committer | chrome-bot <chrome-bot@chromium.org> | 2018-02-01 18:08:55 -0800 |
commit | 29cd40a1d61c0d558768e0d32f07f7b7ad84ca63 (patch) | |
tree | b384a0e5d29db74de61ee5c9c17355af332bf30a /src/linux.rs | |
parent | ad2391528f93e696807060f4fa6fb43faebced92 (diff) | |
download | crosvm-29cd40a1d61c0d558768e0d32f07f7b7ad84ca63.tar crosvm-29cd40a1d61c0d558768e0d32f07f7b7ad84ca63.tar.gz crosvm-29cd40a1d61c0d558768e0d32f07f7b7ad84ca63.tar.bz2 crosvm-29cd40a1d61c0d558768e0d32f07f7b7ad84ca63.tar.lz crosvm-29cd40a1d61c0d558768e0d32f07f7b7ad84ca63.tar.xz crosvm-29cd40a1d61c0d558768e0d32f07f7b7ad84ca63.tar.zst crosvm-29cd40a1d61c0d558768e0d32f07f7b7ad84ca63.zip |
crosvm: change GuestAddress to always be a u64
We want to be able to run 64-bit ARM kernels using a 32-bit version of crosvm, to make it more consistent use a u64 to represent GuestAddress. BUG=chromium:797868 TEST=./build_test passes on all architectures TEST=crosvm runs on caroline Change-Id: I43bf993592caf46891e3e5e05258ab70b6bf3045 Signed-off-by: Sonny Rao <sonnyrao@chromium.org> Reviewed-on: https://chromium-review.googlesource.com/896398 Reviewed-by: Dylan Reid <dgreid@chromium.org>
Diffstat (limited to 'src/linux.rs')
-rw-r--r-- | src/linux.rs | 12 |
1 files changed, 6 insertions, 6 deletions
diff --git a/src/linux.rs b/src/linux.rs index b22c043..abf39f9 100644 --- a/src/linux.rs +++ b/src/linux.rs @@ -175,9 +175,9 @@ impl Drop for UnlinkUnixDatagram { } } -const KERNEL_START_OFFSET: usize = 0x200000; -const CMDLINE_OFFSET: usize = 0x20000; -const CMDLINE_MAX_SIZE: usize = KERNEL_START_OFFSET - CMDLINE_OFFSET; +const KERNEL_START_OFFSET: u64 = 0x200000; +const CMDLINE_OFFSET: u64 = 0x20000; +const CMDLINE_MAX_SIZE: u64 = KERNEL_START_OFFSET - CMDLINE_OFFSET; const BASE_DEV_MEMORY_PFN: u64 = 1u64 << 26; fn create_base_minijail(root: &Path, seccomp_policy: &Path) -> Result<Minijail> { @@ -211,9 +211,9 @@ fn create_base_minijail(root: &Path, seccomp_policy: &Path) -> Result<Minijail> fn setup_memory(memory: Option<usize>) -> Result<GuestMemory> { let mem_size = memory.unwrap_or(256) << 20; #[cfg(not(any(target_arch = "x86", target_arch = "x86_64")))] - let arch_mem_regions = vec![(GuestAddress(0), mem_size)]; + let arch_mem_regions = vec![(GuestAddress(0), mem_size as u64)]; #[cfg(any(target_arch = "x86", target_arch = "x86_64"))] - let arch_mem_regions = x86_64::arch_memory_regions(mem_size); + let arch_mem_regions = x86_64::arch_memory_regions(mem_size as u64); GuestMemory::new(&arch_mem_regions).map_err(Error::CreateGuestMemory) } @@ -725,7 +725,7 @@ pub fn run_config(cfg: Config) -> Result<()> { let kvm = Kvm::new().map_err(Error::CreateKvm)?; let mut vm = setup_vm(&kvm, mem.clone())?; - let mut cmdline = kernel_cmdline::Cmdline::new(CMDLINE_MAX_SIZE); + let mut cmdline = kernel_cmdline::Cmdline::new(CMDLINE_MAX_SIZE as usize); cmdline .insert_str("console=ttyS0 noacpi reboot=k panic=1 pci=off") .unwrap(); |