commit | a48485090fab19bd4e05b1a8b2cee1d479e7a152 | [log] [tgz] |
---|---|---|
author | Daniel Verkamp <dverkamp@chromium.org> | Tue Jan 18 09:54:51 2022 -0800 |
committer | Commit Bot <commit-bot@chromium.org> | Tue Jan 18 21:30:32 2022 +0000 |
tree | 88d6691e47841b485a41104139a2516533ebe641 | |
parent | 33e509a53b35d9d6d232b57e7839a0ecea09607b [diff] |
aarch64: do not accept 0 as a valid address size The newly-added KVM_CHECK_EXTENSION call to retrieve KVM_CAP_ARM_VM_IPA_SIZE was checking for errors by looking for return values less than 0, but KVM_CHECK_EXTENSION returns 0 for unknown extensions (e.g. on older kernels before this extension was introduced). Treat 0 as unsupported as well so the default 40-bit size is returned in this case. BUG=b:215174283 BUG=b:210727578 TEST=Boot crosvm on kevin (arm device with 4.4 host kernel) Fixes: 891ea3e88aa3 ("aarch64: limit high MMIO addresses to VM phys addr range") Change-Id: I19a3ae00862882c030c1e776cb3ca10edeffd339 Reviewed-on: https://chromium-review.googlesource.com/c/chromiumos/platform/crosvm/+/3399344 Reviewed-by: Dennis Kempin <denniskempin@google.com> Tested-by: kokoro <noreply+kokoro@google.com> Commit-Queue: Daniel Verkamp <dverkamp@chromium.org>
crosvm is a virtual machine monitor (VMM) based on Linux’s KVM hypervisor, with a focus on simplicity, security, and speed. crosvm is intended to run Linux guests, originally as a security boundary for running native applications on the Chrome OS platform. Compared to QEMU, crosvm doesn’t emulate architectures or real hardware, instead concentrating on paravirtualized devices, such as the virtio standard.
crosvm is currently used to run Linux/Android guests on Chrome OS devices.