No description
Find a file
Takaya Saeki a150978ca0 devices: virtio: video: make Worker async friendly
Update `Worker` of the video device to make it easier to add async run
method; separate the interrupt into two `SignalableInterrupt`s for the
command/event queues, and move `Event`s to outside `Worker`. These are
changes preparing for introducing `run_async` method to `Worker`.
`run_async` will need separate Interrupts for the command queue and the
event queue, and will not need `Event`s inside `Worker`.

BUG=b:179756087
TEST=simple_decoder test script (see the crosvm book) worked with and
without -p "pci=nomsi" guest kernel parameter, which triggers interrupt
resample by disabling MSI-X interrupt.

Change-Id: Ia169e11bb5ecf992f768ab65cfb19a7a9f8fc9f0
Reviewed-on: https://chromium-review.googlesource.com/c/crosvm/crosvm/+/3850019
Commit-Queue: Takaya Saeki <takayas@chromium.org>
Reviewed-by: Keiichi Watanabe <keiichiw@chromium.org>
2022-09-26 03:26:37 +00:00
.cargo health-check: Add check for newline at ends of files 2022-08-18 00:17:04 +00:00
.devcontainer dev_container: Fix vscode integration 2022-09-14 00:16:38 +00:00
.github Cleanup: Remove old, deprecated and no longer used files 2022-09-20 21:05:57 +00:00
.vscode Add rust-analyzer config to .vscode/settings.json 2022-08-16 23:08:35 +00:00
aarch64 Update all copyright headers to match new style 2022-09-13 18:41:29 +00:00
acpi_tables Update all copyright headers to match new style 2022-09-13 18:41:29 +00:00
anti_tamper Update all copyright headers to match new style 2022-09-13 18:41:29 +00:00
arch Update all copyright headers to match new style 2022-09-13 18:41:29 +00:00
argh_helpers Update all copyright headers to match new style 2022-09-13 18:41:29 +00:00
base base: don't export platform specific Event types 2022-09-21 21:35:48 +00:00
bit_field Update all copyright headers to match new style 2022-09-13 18:41:29 +00:00
broker_ipc Update all copyright headers to match new style 2022-09-13 18:41:29 +00:00
common base: don't export platform specific Event types 2022-09-21 21:35:48 +00:00
cros_async Update all copyright headers to match new style 2022-09-13 18:41:29 +00:00
crosvm-fuzz Update all copyright headers to match new style 2022-09-13 18:41:29 +00:00
crosvm_control Update all copyright headers to match new style 2022-09-13 18:41:29 +00:00
crosvm_plugin Update all copyright headers to match new style 2022-09-13 18:41:29 +00:00
devices devices: virtio: video: make Worker async friendly 2022-09-26 03:26:37 +00:00
disk devices: virtio: block: impl DiskOption::open for Windows 2022-09-20 03:42:20 +00:00
docs/book crosvm: Embed seccomp filters into binary 2022-09-08 21:12:55 +00:00
fuse Update all copyright headers to match new style 2022-09-13 18:41:29 +00:00
gpu_display gpu_display: upstream Windows implementation 2022-09-16 17:36:57 +00:00
hypervisor aarch64: Expose MTE to guests 2022-09-13 21:05:15 +00:00
infra Roll recipe dependencies (trivial). 2022-09-21 17:59:58 +00:00
integration_tests health-check: enforce blank line after copyright 2022-09-13 22:24:35 +00:00
io_uring bindgen: update bindings to Linux 5.15 2022-09-14 22:09:30 +00:00
kernel_cmdline Update all copyright headers to match new style 2022-09-13 18:41:29 +00:00
kernel_loader health-check: enforce blank line after copyright 2022-09-13 22:24:35 +00:00
kvm aarch64: Expose MTE to guests 2022-09-13 21:05:15 +00:00
kvm_sys bindgen: update bindings to Linux 5.15 2022-09-14 22:09:30 +00:00
libcras_stub libcras_stub: Stub implementation 2022-09-21 23:36:06 +00:00
linux_input_sys Update all copyright headers to match new style 2022-09-13 18:41:29 +00:00
logo
media media: libva: Also export VASurfaceID 2022-09-21 03:03:57 +00:00
metrics crosvm: move enum ProcessType to win_util. 2022-09-21 19:28:49 +00:00
net_sys health-check: enforce blank line after copyright 2022-09-13 22:24:35 +00:00
net_util health-check: enforce blank line after copyright 2022-09-13 22:24:35 +00:00
power_monitor power_monitor: Enable feature in all-linux 2022-09-20 21:06:47 +00:00
protos Update all copyright headers to match new style 2022-09-13 18:41:29 +00:00
qcow_utils Update all copyright headers to match new style 2022-09-13 18:41:29 +00:00
resources Update all copyright headers to match new style 2022-09-13 18:41:29 +00:00
rutabaga_gfx rutabaga_gfx: make non-sandboxed opaque fd mapping explicit 2022-09-22 21:43:19 +00:00
seccomp dev_container: Upgrade to debian bookworm 2022-09-14 22:32:36 +00:00
serde_keyvalue serde_keyvalue: fix error reporting offset 2022-09-21 16:50:09 +00:00
src devices: add feature flags to render_server_fd. 2022-09-22 20:21:59 +00:00
system_api_stub health-check: enforce blank line after copyright 2022-09-13 22:24:35 +00:00
tests Update all copyright headers to match new style 2022-09-13 18:41:29 +00:00
third_party devices: Implement MasterReqHandler for Windows 2022-09-12 16:09:34 +00:00
tools handle new CV run ended message 2022-09-23 16:58:44 +00:00
tpm2 Update all copyright headers to match new style 2022-09-13 18:41:29 +00:00
tpm2-sys Update all copyright headers to match new style 2022-09-13 18:41:29 +00:00
tracing Update all copyright headers to match new style 2022-09-13 18:41:29 +00:00
tube_transporter Update all copyright headers to match new style 2022-09-13 18:41:29 +00:00
usb_sys Update all copyright headers to match new style 2022-09-13 18:41:29 +00:00
usb_util Update all copyright headers to match new style 2022-09-13 18:41:29 +00:00
vfio_sys bindgen: update bindings to Linux 5.15 2022-09-14 22:09:30 +00:00
vhost Update all copyright headers to match new style 2022-09-13 18:41:29 +00:00
virtio_sys bindgen: update bindings to Linux 5.15 2022-09-14 22:09:30 +00:00
vm_control rutabaga_gfx: unmap from gpu thread for virglrenderer 2022-09-16 17:29:37 +00:00
vm_memory vm_memory: create udmabuf stub for Windows. 2022-09-15 19:03:49 +00:00
win_audio Update all copyright headers to match new style 2022-09-13 18:41:29 +00:00
win_util crosvm: move enum ProcessType to win_util. 2022-09-21 19:28:49 +00:00
x86_64 x86: cpuid: clear FSRM bit 2022-09-22 21:42:39 +00:00
.dockerignore
.gitignore Add python configs for consistency between IDE and CI 2022-08-16 18:33:23 +00:00
.gitmodules health-check: Add infra checks 2022-08-18 00:17:04 +00:00
.rustfmt.toml
ARCHITECTURE.md arch: allocate reserved PCI addresses first 2022-08-01 18:57:44 +00:00
build.rs Update all copyright headers to match new style 2022-09-13 18:41:29 +00:00
Cargo.lock libcras_stub: Stub implementation 2022-09-21 23:36:06 +00:00
Cargo.toml devices: add feature flags to render_server_fd. 2022-09-22 20:21:59 +00:00
CONTRIBUTING.md CONTRIBUTING.md: Add unit testing guidelines 2022-09-19 23:16:00 +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 Add rizhang@ to OWNERS 2022-08-17 01:14:13 +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 crosvm: update book and doc links to crosvm.dev 2022-07-29 22:54:01 +00:00
rust-toolchain dev_container: Upgrade to debian bookworm 2022-09-14 22:32:36 +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