No description
Find a file
David Stevens 5b031ce8b0 base: Introduce TimerTrait
Introduce a TimerTrait that is implemented by both Timer and FakeTimer.
This trait can be used to write testable code without needing to
condition use statements on cfg(test).

BUG=None
TEST=CQ

Change-Id: I874ffe19fafe73e5c17fd5bb689e5b571e9f5b12
Reviewed-on: https://chromium-review.googlesource.com/c/crosvm/crosvm/+/4664188
Reviewed-by: Junichi Uekawa <uekawa@chromium.org>
Commit-Queue: David Stevens <stevensd@chromium.org>
Reviewed-by: Keiichi Watanabe <keiichiw@chromium.org>
2023-07-05 01:12:35 +00:00
.cargo clippy: Disallow len_without_is_empty and len_zero 2023-05-22 21:27:21 +00:00
.config Enable test retries in nextest 2023-06-07 17:43:18 +00:00
.devcontainer dev_container: Always run as root inside container 2023-04-25 21:33:42 +00:00
.github Cleanup: Remove old, deprecated and no longer used files 2022-09-20 21:05:57 +00:00
.vscode Document feature flags and introduce new feature sets 2022-10-14 20:31:19 +00:00
aarch64 swap: garbage collect uffds for detached hot plug devices 2023-05-26 01:39:50 +00:00
acpi_tables acpi: aml: make the BufferData public 2023-05-05 22:26:02 +00:00
arch crosvm: Add flag to use legacy console 2023-06-22 15:37:42 +00:00
argh_helpers Update all copyright headers to match new style 2022-09-13 18:41:29 +00:00
audio_util tree-wide: apply nightly rustfmt 2023-03-27 21:30:45 +00:00
base base: Introduce TimerTrait 2023-07-05 01:12:35 +00:00
bit_field bit_field: suppress clippy cast warnings 2023-04-10 23:41:28 +00:00
broker_ipc crash_report: refactor product specific code 2023-06-09 23:10:04 +00:00
common balloon: missing #[repr(C)] 2023-06-13 18:05:33 +00:00
cros_async base: Introduce TimerTrait 2023-07-05 01:12:35 +00:00
cros_fdt crosvm: fdt: Add option to dump generated devicetree blob 2023-03-16 18:16:28 +00:00
cros_tracing devices: replace usb_debug macro with cros_tracing 2023-07-04 04:52:24 +00:00
cros_tracing_types Upstream cros_tracing_types. 2023-05-11 18:08:00 +00:00
crosvm_cli crosvm_cli: reserve new control server exit code. 2023-05-16 23:05:32 +00:00
crosvm_control vm_control: sleep/wake devices when VM gets suspended/resumed 2023-06-27 19:31:41 +00:00
crosvm_plugin base: tube: send/recv for srteam socket to use io::Result 2023-05-23 10:29:53 +00:00
devices base: Introduce TimerTrait 2023-07-05 01:12:35 +00:00
disk cros_async: add MemRegion iterator 2023-06-28 19:45:38 +00:00
docs/book docs: Update network testing docs for sshing 2023-06-30 00:01:27 +00:00
e2e_tests e2e_tests: Fix snapshot/restore tests 2023-06-27 20:27:01 +00:00
fuse clippy fixes for Rust 1.69 2023-05-26 01:52:39 +00:00
fuzz fuzz: improve virtqueue fuzzer coverage 2023-05-23 00:24:32 +00:00
gpu_display clippy: Disallow new_without_default 2023-05-22 21:14:06 +00:00
hypervisor hypervisor: notify all Vcpu types on suspend 2023-06-29 21:25:08 +00:00
infra Roll recipe dependencies (trivial). 2023-07-03 15:35:38 +00:00
io_uring io_uring: update submission metadata after EINTR 2023-06-08 05:42:59 +00:00
jail crosvm: Add vhost scmi support 2023-06-22 23:25:03 +00:00
kernel_cmdline Rust 1.65: Fix clippy derive_partial_eq_without_eq lints 2022-12-01 01:32:30 +00:00
kernel_loader kernel_loader: Use Linux UAPI header for bindings 2023-05-30 12:21:18 +00:00
kvm clippy: Disallow len_without_is_empty and len_zero 2023-05-22 21:27:21 +00:00
kvm_sys kvm_sys: finish KVM_SYSTEM_EVENT_S2IDLE removal 2023-05-09 18:17:17 +00:00
libcras_stub devices: snd: Use PCM device client_type and stream_type for CRAS 2023-03-02 06:22:40 +00:00
linux_input_sys crosvm: Convert DataInit to zerocopy 10/n 2023-03-24 18:12:38 +00:00
logo README: Use PNG logo image 2021-10-29 01:56:23 +00:00
media clippy: Disallow len_without_is_empty and len_zero 2023-05-22 21:27:21 +00:00
metrics metrics: upstream local metrics related changes 2023-06-13 21:57:14 +00:00
net_sys Fix remaining Chrome/Chromium OS instances 2023-01-03 22:14:30 +00:00
net_util base: Introduce TimerTrait 2023-07-05 01:12:35 +00:00
perfetto crosvm: Remove DataInit from windows components 2023-06-15 21:30:12 +00:00
power_monitor Cargo.toml: upgrade protobuf 2.x -> 3.x 2023-04-28 19:32:01 +00:00
prebuilts prebuilds/testvm: Retry downloads 2023-03-09 23:04:20 +00:00
proto_build_tools Cargo.toml: upgrade protobuf 2.x -> 3.x 2023-04-28 19:32:01 +00:00
protos balloon: use protos for registered events 2023-05-22 19:28:45 +00:00
qcow_utils qcow_utils: Enable disk/qcow feature 2023-05-11 16:30:19 +00:00
resources resource: system_allocator: introduce GPE allocator 2023-02-06 22:02:37 +00:00
riscv64 swap: garbage collect uffds for detached hot plug devices 2023-05-26 01:39:50 +00:00
rutabaga_gfx rutabaga_gfx: simplify cross-domain teardown 2023-06-30 10:16:59 -07:00
sandbox vhost-user: snd: Implement Windows broker & device setup 2023-02-28 21:34:01 +00:00
serde_keyvalue serde_keyvalue: add tests for outer-braces in arguments 2023-06-09 04:59:54 +00:00
src base: Introduce TimerTrait 2023-07-05 01:12:35 +00:00
swap swap: reduce logging verbosity 2023-06-22 01:50:47 +00:00
system_api Cargo.toml: upgrade protobuf 2.x -> 3.x 2023-04-28 19:32:01 +00:00
tests Enable parallel execution of plugin and e2e tests 2023-01-26 20:38:57 +00:00
third_party vmm_vhost: Remove MAX_MSG_SIZE 2023-06-26 20:57:29 +00:00
tools e2e_tests: Allow TestVM to run with custom artifacts 2023-06-14 22:22:38 +00:00
tpm2 Add conditional compilation for unix-only crates 2023-01-19 21:21:59 +00:00
tpm2-sys Uprev the libtpm2 to 96017dcdb110 2023-03-07 04:05:49 +00:00
tube_transporter crosvm: Uprev rust toolchain and dev container 2023-02-08 20:26:30 +00:00
usb_sys Fix remaining Chrome/Chromium OS instances 2023-01-03 22:14:30 +00:00
usb_util devices: usb: Handle stall error 2023-05-29 03:27:13 +00:00
vendor crash_report: refactor product specific code 2023-06-09 23:10:04 +00:00
vfio_sys bindgen: update kernel bindings to Linux 6.1 2023-02-23 21:31:44 +00:00
vhost crosvm: Add vhost scmi support 2023-06-22 23:25:03 +00:00
virtio_sys bindgen: update kernel bindings to Linux 6.1 2023-02-23 21:31:44 +00:00
vm_control crosvm: add suspended flag to crosvm run 2023-06-27 19:32:13 +00:00
vm_memory Update bitflags dependency to 2.2.1. 2023-04-27 17:22:36 +00:00
win_audio net_util/win_audio: Do not use cfg conditional compilation in build.rs 2023-05-09 20:27:26 +00:00
win_util metrics: upstream local metrics related changes 2023-06-13 21:57:14 +00:00
x86_64 x86_64: mptable: use zerocopy::AsBytes in checksum 2023-06-13 21:21:30 +00:00
.dockerignore add docker supported builds and tests 2019-05-15 13:36:19 -07:00
.envrc Automatically register tools/ on PATH 2023-03-03 00:33:15 +00:00
.gitignore Automatically register tools/ on PATH 2023-03-03 00:33:15 +00:00
.gitmodules health-check: Add infra checks 2022-08-18 00:17:04 +00:00
.rustfmt.toml rustfmt, win_util: update to 2021 edition 2022-05-31 23:35:02 +00:00
ARCHITECTURE.md docs: book: update architecture docs 2023-06-01 22:37:17 +00:00
Cargo.lock crosvm: Remove DataInit from windows components 2023-06-15 21:30:12 +00:00
Cargo.toml crash_report: refactor product specific code 2023-06-09 23:10:04 +00:00
CONTRIBUTING.md docs: Have style guide as a separate section 2023-05-16 16:03:03 +00:00
DIR_METADATA DIR_METADATA: Add public buganizer component 2022-09-21 17:43:59 +00:00
LICENSE Update all copyright headers to match new style 2022-09-13 18:41:29 +00:00
mypy.ini Add python configs for consistency between IDE and CI 2022-08-16 18:33:23 +00:00
OWNERS OWNERS: Add takayas@ to OWNERS 2023-04-24 11:15:25 +00:00
OWNERS_COUNCIL Require council review for changes to Cargo.lock 2022-12-01 18:50:48 +00:00
PRESUBMIT.cfg Cleanup: Remove old, deprecated and no longer used files 2022-09-20 21:05:57 +00:00
pyproject.toml Add python configs for consistency between IDE and CI 2022-08-16 18:33:23 +00:00
README.chromeos.md crosvm: update book and doc links to crosvm.dev 2022-07-29 22:54:01 +00:00
README.md Fix remaining Chrome/Chromium OS instances 2023-01-03 22:14:30 +00:00
rust-toolchain Upgrade to 1.68.2: Set default version and rebuild container 2023-05-25 18:30:55 +00:00

crosvm - The ChromeOS 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 ChromeOS 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 ChromeOS devices.

Logo