crosvm/x86_64/Cargo.toml
ZhaoLiu b969ded8a5 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>
2022-04-25 07:50:55 +00:00

30 lines
806 B
TOML

[package]
name = "x86_64"
version = "0.1.0"
authors = ["The Chromium OS Authors"]
edition = "2021"
[features]
gdb = ["gdbstub_arch", "arch/gdb"]
direct = []
[dependencies]
arch = { path = "../arch" }
anyhow = "*"
assertions = { path = "../common/assertions" }
data_model = { path = "../common/data_model" }
devices = { path = "../devices" }
gdbstub_arch = { version = "0.2.2", optional = true }
hypervisor = { path = "../hypervisor" }
kernel_cmdline = { path = "../kernel_cmdline" }
kernel_loader = { path = "../kernel_loader" }
libc = "*"
minijail = "*"
remain = "*"
resources = { path = "../resources" }
sync = { path = "../common/sync" }
thiserror = "*"
base = { path = "../base" }
acpi_tables = {path = "../acpi_tables" }
vm_control = { path = "../vm_control" }
vm_memory = { path = "../vm_memory" }