No description
Find a file
Zhao Liu 34d958f581 crosvm: Add MSR handler after setting CPU affinity
For MSR handlers with "from running CPU" configuration, they will open
and store the MSR file descriptior immediately while their creation.

So move their creation after crosvm sets CPU affinity for each vCPU
thread can avoid storing redundant MSR file fds.

BUG=b:225375705
TEST=Set `--userspace-msr=0x1a2,type=r,action=pass,from=cpu0`

Change-Id: Iaa7bf804595ef45eec150e826be87c86ffeeef24
Reviewed-on: https://chromium-review.googlesource.com/c/chromiumos/platform/crosvm/+/3641478
Tested-by: kokoro <noreply+kokoro@google.com>
Reviewed-by: Junichi Uekawa <uekawa@chromium.org>
Commit-Queue: Junichi Uekawa <uekawa@chromium.org>
2022-05-12 04:54:11 +00:00
.cargo Run some win64 tests with wine as part of presubmit 2022-04-06 19:45:49 +00:00
.devcontainer Make vscode devcontainer usable 2022-01-25 21:30:49 +00:00
.github Reland "github: Minimize dependencies for document generation" 2022-04-12 22:30:10 +00:00
aarch64 crosvm: Keep one MsrFileType per vcpu. 2022-05-09 08:11:40 +00:00
acpi_tables doc: add a top-level comment to all crates 2022-05-06 20:46:57 +00:00
arch x86_64: Deprecate old userspace-msr cmd format 2022-05-10 03:13:52 +00:00
base base: catch-up with downstream windows changes 2022-05-12 00:21:59 +00:00
bin Deprecate old dev tooling scripts 2021-11-02 22:23:03 +00:00
bit_field crosvm: migrate to Rust 2021 edition 2022-03-09 01:16:03 +00:00
ci/kokoro build-chromeos.sh: Clean up cros repo after build 2022-04-28 18:01:47 +00:00
common Make the mod not-arm only 2022-04-29 17:45:59 +00:00
cros_async Fix rustdoc bare URL warnings 2022-05-06 20:46:55 +00:00
crosvm-fuzz devices: virtio: convert Interrupt to use IrqLevelEvent 2022-04-06 18:54:41 +00:00
crosvm_control crosvm_control: Add make_rt API 2022-05-10 01:29:17 +00:00
crosvm_plugin Rust 1.60 clippy fixes 2022-04-11 20:40:36 +00:00
devices devices: vvu: Make driver exit when a sibling closes connection 2022-05-11 22:40:49 +00:00
disk doc: add a top-level comment to all crates 2022-05-06 20:46:57 +00:00
docs/book Move PVTIME down below MMIO_BASE. 2022-05-06 13:01:31 +00:00
fuse doc: add a top-level comment to all crates 2022-05-06 20:46:57 +00:00
gpu_display Reland "github: Minimize dependencies for document generation" 2022-04-12 22:30:10 +00:00
hypervisor kvm: Fix assert check 2022-05-10 20:45:34 +00:00
infra [luci] turn off builders in Luci temporarily 2022-05-09 22:17:41 +00:00
integration_tests crosvm: migrate to Rust 2021 edition 2022-03-09 01:16:03 +00:00
io_uring doc: add a top-level comment to all crates 2022-05-06 20:46:57 +00:00
kernel_cmdline crosvm: migrate to Rust 2021 edition 2022-03-09 01:16:03 +00:00
kernel_loader doc: add a top-level comment to all crates 2022-05-06 20:46:57 +00:00
kvm doc: add a top-level comment to all crates 2022-05-06 20:46:57 +00:00
kvm_sys doc: add a top-level comment to all crates 2022-05-06 20:46:57 +00:00
libcras_stub crosvm: migrate to Rust 2021 edition 2022-03-09 01:16:03 +00:00
linux_input_sys doc: add a top-level comment to all crates 2022-05-06 20:46:57 +00:00
logo README: Use PNG logo image 2021-10-29 01:56:23 +00:00
media/libvda doc: add a top-level comment to all crates 2022-05-06 20:46:57 +00:00
metrics metrics: Add metrics crate. 2022-05-10 03:52:13 +00:00
net_sys doc: add a top-level comment to all crates 2022-05-06 20:46:57 +00:00
net_util doc: add a top-level comment to all crates 2022-05-06 20:46:57 +00:00
power_monitor doc: add a top-level comment to all crates 2022-05-06 20:46:57 +00:00
protos doc: add a top-level comment to all crates 2022-05-06 20:46:57 +00:00
qcow_utils doc: add a top-level comment to all crates 2022-05-06 20:46:57 +00:00
resources resource: Add reserve_mmio() function 2022-05-12 01:17:33 +00:00
rutabaga_gfx gfxstream: add support for per-context fencing 2022-05-11 19:44:15 +00:00
seccomp seccomp: Add io_uring_setup / io_uring_enter to gpu_common.policy 2022-05-06 22:09:01 +00:00
serde_keyvalue add serde_keyvalue crate 2022-03-24 01:33:21 +00:00
src crosvm: Add MSR handler after setting CPU affinity 2022-05-12 04:54:11 +00:00
system_api_stub crosvm: migrate to Rust 2021 edition 2022-03-09 01:16:03 +00:00
tests net_util: refactor unix for cross platforming. 2022-04-22 01:37:58 +00:00
third_party third_party/minijail: update to latest 2022-05-06 23:09:20 +00:00
tools crosvm: add example rust baremetal app that can be booted with crosvm 2022-05-10 23:36:47 +00:00
tpm2 doc: add a top-level comment to all crates 2022-05-06 20:46:57 +00:00
tpm2-sys doc: add a top-level comment to all crates 2022-05-06 20:46:57 +00:00
tube_transporter tube_transporter: Upstream this Window's specific crate 2022-04-20 01:24:35 +00:00
usb_sys doc: add a top-level comment to all crates 2022-05-06 20:46:57 +00:00
usb_util doc: add a top-level comment to all crates 2022-05-06 20:46:57 +00:00
vfio_sys doc: add a top-level comment to all crates 2022-05-06 20:46:57 +00:00
vhost virtio-sys: add virtio_config and clean up imports 2022-05-09 21:20:27 +00:00
virtio_sys virtio: create a DeviceType wrapper enum 2022-05-10 21:00:07 +00:00
vm_control pcie: hotplug in interrupt for mutli devices 2022-05-06 20:33:15 +00:00
vm_memory doc: add a top-level comment to all crates 2022-05-06 20:46:57 +00:00
win_util Refactoring: Move win_(sys_)util 2022-03-22 22:23:41 +00:00
x86_64 x86_64: Change guest memroy layout from constant to variables 2022-05-12 01:17:36 +00:00
.dockerignore add docker supported builds and tests 2019-05-15 13:36:19 -07:00
.gitignore Add test runner ./tools/run_tests 2021-10-15 22:12:03 +00:00
.gitmodules Switch to submodules based workflow 2021-08-05 18:32:32 +00:00
.rustfmt.toml rustfmt.toml: Use 2018 edition 2021-02-10 11:54:06 +00:00
ARCHITECTURE.md Document memory layout. 2022-05-06 12:09:40 +00:00
Cargo.toml crosvm: add example rust baremetal app that can be booted with crosvm 2022-05-10 23:36:47 +00:00
CONTRIBUTING.md Add documentation for ChromeOS workflows 2022-04-18 19:05:49 +00:00
LICENSE add LICENSE and README 2017-04-17 14:06:21 -07:00
navbar.md docs: Use mdformat to format markdown files 2022-01-27 21:29:11 +00:00
OWNERS Add recipe-mega-autoroller to OWNERS 2022-04-28 21:57:30 +00:00
README.chromeos.md Add documentation for ChromeOS workflows 2022-04-18 19:05:49 +00:00
README.md README: Update link to contributor guide 2022-05-11 13:21:04 +00:00
run_tests Deprecate old dev tooling scripts 2021-11-02 22:23:03 +00:00
rust-toolchain Upgrade rust toolchain version to 1.58.1 2022-02-04 02:20:36 +00:00
setup_cros_cargo.sh Deprecate old dev tooling scripts 2021-11-02 22:23:03 +00:00
test_all Deprecate old dev tooling scripts 2021-11-02 22:23:03 +00:00
unblocked_terms.txt unblocked_terms.txt: clean up trivial cases 2021-04-26 20:32:38 +00:00

crosvm - The Chrome OS Virtual Machine Monitor

crosvm is a virtual machine monitor (VMM) based on Linuxs 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 doesnt 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.

Logo