summary refs log tree commit diff
path: root/src/linux.rs
diff options
context:
space:
mode:
authorSonny Rao <sonnyrao@chromium.org>2018-03-27 16:30:51 -0700
committerchrome-bot <chrome-bot@chromium.org>2018-04-03 12:50:39 -0700
commita7fae252b05b617fd27f58b9bba8122d18154ccb (patch)
treedda93c135a6df228f813e02003925b839a0be87c /src/linux.rs
parent2ffa0cbe5bb41beea81fd2d14a7f781747bb955e (diff)
downloadcrosvm-a7fae252b05b617fd27f58b9bba8122d18154ccb.tar
crosvm-a7fae252b05b617fd27f58b9bba8122d18154ccb.tar.gz
crosvm-a7fae252b05b617fd27f58b9bba8122d18154ccb.tar.bz2
crosvm-a7fae252b05b617fd27f58b9bba8122d18154ccb.tar.lz
crosvm-a7fae252b05b617fd27f58b9bba8122d18154ccb.tar.xz
crosvm-a7fae252b05b617fd27f58b9bba8122d18154ccb.tar.zst
crosvm-a7fae252b05b617fd27f58b9bba8122d18154ccb.zip
crosvm: aarch64: get kernel's preferred target type for vcpus
This fixes an issue on kevin where if we start on a little core, the
kernel doesn't like the generic ARMv8 target cpu type for some reason.  To
fix this we must query the preferred type from the vm device first and
supply that to the vcpu init ioctl.

We need to change the signature of the configure_vcpu method to pass
in the vm object even though we aren't using it on x86.

BUG=chromium:797868
TEST=./build_test passes on all architectures
TEST=crosvm runs on kevin

Change-Id: I460cb9db62a8805bb88f838956aa4f1c69183961
Reviewed-on: https://chromium-review.googlesource.com/982996
Commit-Ready: Sonny Rao <sonnyrao@chromium.org>
Tested-by: Sonny Rao <sonnyrao@chromium.org>
Reviewed-by: Zach Reizner <zachr@chromium.org>
Diffstat (limited to 'src/linux.rs')
-rw-r--r--src/linux.rs2
1 files changed, 1 insertions, 1 deletions
diff --git a/src/linux.rs b/src/linux.rs
index f4cc5a6..1911899 100644
--- a/src/linux.rs
+++ b/src/linux.rs
@@ -409,7 +409,7 @@ fn setup_vcpu(kvm: &Kvm,
               -> Result<Vcpu> {
     let vcpu = Vcpu::new(cpu_id as libc::c_ulong, &kvm, &vm)
         .map_err(Error::CreateVcpu)?;
-    Arch::configure_vcpu(vm.get_memory(), &kvm, &vcpu, cpu_id as u64, vcpu_count as u64).
+    Arch::configure_vcpu(vm.get_memory(), &kvm, &vm, &vcpu, cpu_id as u64, vcpu_count as u64).
         map_err(Error::ConfigureVcpu)?;
     Ok(vcpu)
 }