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 /vhost | |
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 'vhost')
-rw-r--r-- | vhost/src/lib.rs | 8 |
1 files changed, 4 insertions, 4 deletions
diff --git a/vhost/src/lib.rs b/vhost/src/lib.rs index 4a103a2..dc1bf81 100644 --- a/vhost/src/lib.rs +++ b/vhost/src/lib.rs @@ -98,7 +98,7 @@ pub trait Vhost: AsRawFd + std::marker::Sized { /// Set the guest memory mappings for vhost to use. fn set_mem_table(&self) -> Result<()> { - let num_regions = self.mem().num_regions(); + let num_regions = self.mem().num_regions() as usize; let vec_size_bytes = mem::size_of::<virtio_sys::vhost_memory>() + (num_regions * mem::size_of::<virtio_sys::vhost_memory_region>()); let mut bytes: Vec<u8> = vec![0; vec_size_bytes]; @@ -175,15 +175,15 @@ pub trait Vhost: AsRawFd + std::marker::Sized { (queue_size & (queue_size - 1)) != 0 { false } else if desc_addr - .checked_add(desc_table_size) + .checked_add(desc_table_size as u64) .map_or(true, |v| !self.mem().address_in_range(v)) { false } else if avail_addr - .checked_add(avail_ring_size) + .checked_add(avail_ring_size as u64) .map_or(true, |v| !self.mem().address_in_range(v)) { false } else if used_addr - .checked_add(used_ring_size) + .checked_add(used_ring_size as u64) .map_or(true, |v| !self.mem().address_in_range(v)) { false } else { |