commit | 6b20ade26a049570709f707718e467aafbf00a7c | [log] [tgz] |
---|---|---|
author | Daniel Verkamp <dverkamp@chromium.org> | Thu Aug 11 17:00:58 2022 -0700 |
committer | crosvm LUCI <crosvm-scoped@luci-project-accounts.iam.gserviceaccount.com> | Thu Sep 08 23:10:56 2022 +0000 |
tree | 85e7049066dd1c2fbc368c7b35b836042f882f0b | |
parent | bedd2989dd913df8622fd2db2168cf488039cd97 [diff] |
hypervisor: haxm: replace MemoryMapping with raw ptrs The haxm vcpu code abused MemoryMapping to hold what is effectively a raw pointer, not something created by mmap()/MapViewOfFile(). Additionally, the MemoryMapping was converted into a pointer and then into a Rust &ref, which is inappropriate for memory that can be aliased by the hypervisor. Use raw pointers instead of unsoundly casting into a reference and add unsafe blocks as appropriate. Change-Id: I218093d512419beb1d9f23df9a45c7413c0f83c0 Reviewed-on: https://chromium-review.googlesource.com/c/crosvm/crosvm/+/3827178 Reviewed-by: Vaibhav Nagarnaik <vnagarnaik@google.com> Reviewed-by: Dennis Kempin <denniskempin@google.com> Commit-Queue: Dennis Kempin <denniskempin@google.com>
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.