commit | b969ded8a5c579394b2c34a3fd920da92534eb1d | [log] [tgz] |
---|---|---|
author | ZhaoLiu <zhao1.liu@intel.corp-partner.google.com> | Tue Apr 05 20:48:12 2022 +0800 |
committer | Chromeos LUCI <chromeos-scoped@luci-project-accounts.iam.gserviceaccount.com> | Mon Apr 25 07:50:55 2022 +0000 |
tree | 1628cbc831e12eb34a7c49080823cd896a94df2b | |
parent | e93b16cefccc3dcd69b9722e2483037586192688 [diff] |
crosvm: Support MSR emulation At present, crosvm can support handle RDMSR in userspace by read MSR of Host directly. This is the RDMSR passthrough in userpace. This patch adds more MSR handler support, including: - WRMSR passthrough: write the corresponding MSR of Host directly in userspace; The control of MSR will work on host; - RDMSR emulation: crosvm uses a dummy MSR value to let Guest reads on. This value can be different with real MSR of Host; - WRMSR emulation: crosvm uses a dummy MSR value to let Guest writes into. This means the control of MSR won't really work (on Host). BUG=b:225375705 TEST=Set `--userspace-msr=0x1a2,type=r,action=pass,from=cpu0` Change-Id: I3276dd651464ef7b695e2ddd433793d59128af9b Reviewed-on: https://chromium-review.googlesource.com/c/chromiumos/platform/crosvm/+/3575508 Reviewed-by: Junichi Uekawa <uekawa@chromium.org> Tested-by: kokoro <noreply+kokoro@google.com> Commit-Queue: Junichi Uekawa <uekawa@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.