No description
Find a file
Daniel Verkamp 659252d103 devices: pci: propagate PciRoot add_device errors
Rather than just printing an error and continuing, this makes the errors
fatal when adding a PCI device with invalid configuration (e.g. an
address on the wrong bus) at startup time. Hotplug errors are still
considered non-fatal and execution continues in that case.

BUG=None
TEST=crosvm run --stub-pci-device 2:00.0,...

Change-Id: Ia831cc1fc1ca1f04ad7e45dba5978671157a51b4
Reviewed-on: https://chromium-review.googlesource.com/c/crosvm/crosvm/+/4583465
Reviewed-by: Keiichi Watanabe <keiichiw@chromium.org>
Reviewed-by: Ningyuan Wang <ningyuan@google.com>
Commit-Queue: Daniel Verkamp <dverkamp@chromium.org>
2023-06-13 18:31:36 +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 devices: pci: propagate PciRoot add_device errors 2023-06-13 18:31:36 +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: unify TubeError::Send & TubeError::SendIo. 2023-06-09 17:16:05 +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 cros_async: add TaskHandle docs and TaskHandle::cancel method 2023-05-31 00:47:23 +00:00
cros_fdt crosvm: fdt: Add option to dump generated devicetree blob 2023-03-16 18:16:28 +00:00
cros_tracing devices: Add trace point for virtio-net 2023-05-30 02:14:52 +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 balloon: missing #[repr(C)] 2023-06-13 18:05:33 +00:00
crosvm_plugin base: tube: send/recv for srteam socket to use io::Result 2023-05-23 10:29:53 +00:00
devices devices: pci: propagate PciRoot add_device errors 2023-06-13 18:31:36 +00:00
disk devices: virtio: block: use fdatasync for FLUSH 2023-05-12 18:15:54 +00:00
docs/book docs: book: update system requirements 2023-06-01 22:42:22 +00:00
e2e_tests virtio_pci_device: Implement snapshot 2023-06-07 19:01:37 +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 balloon: add event for allocation target reached 2023-06-09 21:45:08 +00:00
infra Roll recipe dependencies (trivial). 2023-06-13 00:45:03 +00:00
io_uring io_uring: update submission metadata after EINTR 2023-06-08 05:42:59 +00:00
jail crosvm: add network device support to the 'devices' command 2023-06-09 03:42:56 +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 Upgrade to 1.68.2: Fix clippy nits 2023-05-25 18:28:14 +00:00
net_sys Fix remaining Chrome/Chromium OS instances 2023-01-03 22:14:30 +00:00
net_util e2e_tests: snapshot vhost user tests 2023-05-15 21:11:42 +00:00
perfetto perfetto: minor build fixes. 2023-05-16 22:30:45 +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: use pkg-config for gfxstream, link statically when possible 2023-06-07 23:34:05 +00: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 devices: pci: propagate PciRoot add_device errors 2023-06-13 18:31:36 +00:00
swap swap: add tests for UffdList 2023-05-26 01:56:34 +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 vhost_user: Implement wake and utilize Suspendable trait 2023-06-05 21:20:50 +00:00
tools tools/examples: remove remaining instances of --tap-name 2023-06-09 14:57:45 +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 tree-wide: remove unnecessary casts 2023-04-17 23:43:59 +00:00
virtio_sys bindgen: update kernel bindings to Linux 6.1 2023-02-23 21:31:44 +00:00
vm_control balloon: missing #[repr(C)] 2023-06-13 18:05:33 +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 win_util: move SYSTEM_INFO helpers to base 2023-05-17 19:25:32 +00:00
x86_64 x86_64: remove --features=direct memory layout 2023-05-31 22:30:46 +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 vm_control: refactor product specific code 2023-06-09 23:09:47 +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