diff options
author | Gurchetan Singh <gurchetansingh@chromium.org> | 2020-05-21 18:05:06 -0700 |
---|---|---|
committer | Commit Bot <commit-bot@chromium.org> | 2020-06-12 05:00:37 +0000 |
commit | 173fe62df2b82f4d09a36066200f0a1727bd1d22 (patch) | |
tree | c3c0588afebd0b43811b3631c1d94168ba72c420 /hypervisor | |
parent | 4ffb3d06bdadcfcb79ee2b7bf445ac09da34c218 (diff) | |
download | crosvm-173fe62df2b82f4d09a36066200f0a1727bd1d22.tar crosvm-173fe62df2b82f4d09a36066200f0a1727bd1d22.tar.gz crosvm-173fe62df2b82f4d09a36066200f0a1727bd1d22.tar.bz2 crosvm-173fe62df2b82f4d09a36066200f0a1727bd1d22.tar.lz crosvm-173fe62df2b82f4d09a36066200f0a1727bd1d22.tar.xz crosvm-173fe62df2b82f4d09a36066200f0a1727bd1d22.tar.zst crosvm-173fe62df2b82f4d09a36066200f0a1727bd1d22.zip |
kvm: use MappedRegion trait
- Reduces code duplication between MMIO and mmap arenas - Makes adding future types easier - Makes upcoming deprecation of kvm crate easier - Use BTreeMap instead of HashMap since it's more efficient BUG=chromium:924405 TEST=compile and test Change-Id: I520abed0926489e64aac046e0dc0cfeb72fae7b2 Reviewed-on: https://chromium-review.googlesource.com/c/chromiumos/platform/crosvm/+/2216446 Tested-by: Gurchetan Singh <gurchetansingh@chromium.org> Tested-by: kokoro <noreply+kokoro@google.com> Commit-Queue: Gurchetan Singh <gurchetansingh@chromium.org> Reviewed-by: Steven Richman <srichman@google.com> Reviewed-by: Daniel Verkamp <dverkamp@chromium.org> Auto-Submit: Gurchetan Singh <gurchetansingh@chromium.org>
Diffstat (limited to 'hypervisor')
-rw-r--r-- | hypervisor/src/kvm/mod.rs | 6 |
1 files changed, 3 insertions, 3 deletions
diff --git a/hypervisor/src/kvm/mod.rs b/hypervisor/src/kvm/mod.rs index abffdd5..c738cfa 100644 --- a/hypervisor/src/kvm/mod.rs +++ b/hypervisor/src/kvm/mod.rs @@ -8,7 +8,7 @@ mod aarch64; mod x86_64; use std::cmp::Ordering; -use std::collections::{BinaryHeap, HashMap}; +use std::collections::{BTreeMap, BinaryHeap}; use std::convert::TryFrom; use std::ops::{Deref, DerefMut}; use std::os::raw::{c_char, c_ulong}; @@ -128,7 +128,7 @@ impl PartialOrd for MemSlot { pub struct KvmVm { vm: SafeDescriptor, guest_mem: GuestMemory, - mem_regions: Arc<Mutex<HashMap<u32, Box<dyn MappedRegion>>>>, + mem_regions: Arc<Mutex<BTreeMap<u32, Box<dyn MappedRegion>>>>, mem_slot_gaps: Arc<Mutex<BinaryHeap<MemSlot>>>, } @@ -161,7 +161,7 @@ impl KvmVm { Ok(KvmVm { vm: vm_descriptor, guest_mem, - mem_regions: Arc::new(Mutex::new(HashMap::new())), + mem_regions: Arc::new(Mutex::new(BTreeMap::new())), mem_slot_gaps: Arc::new(Mutex::new(BinaryHeap::new())), }) } |