No description
Find a file
Daniel Verkamp 96e50eb795 base: return SmallVec directly from platform wait impls
On Windows, this changes the EventContext::wait() return type from Vec
to SmallVec; this removes an extra conversion step, since the only
caller, WaitContext::wait(), constructed a SmallVec from the return
value anyway.

On Linux, this lets us get rid of the PollEventsOwned structure, since
the SmallVec contains the events and does not need to point back at a
separate type for storage.

BUG=b:213153157
TEST=tools/dev_container tools/presubmit --all

Change-Id: I7857a306ad71be020af309d4186d9e3e651fcc05
Reviewed-on: https://chromium-review.googlesource.com/c/chromiumos/platform/crosvm/+/3633110
Reviewed-by: Noah Gold <nkgold@google.com>
Tested-by: kokoro <noreply+kokoro@google.com>
Reviewed-by: Keiichi Watanabe <keiichiw@chromium.org>
Commit-Queue: Daniel Verkamp <dverkamp@chromium.org>
2022-05-12 20:37:30 +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: return SmallVec directly from platform wait impls 2022-05-12 20:37:30 +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: Upstream Windows vhost-user block vmm code 2022-05-12 18:28:18 +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
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 Revert "metrics: Add metrics crate." 2022-05-12 16:31:51 +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