mirror of
https://chromium.googlesource.com/crosvm/crosvm
synced 2024-11-24 20:48:55 +00:00
No description
121e33246b
In order to allow handling physical GPE in the guest, implement physical SCI interrupts forwarding from the host to the guest. It uses an eventfd based mechanism similar to how we normaly do forwarding of other level-triggered interrupts. The difference is that SCI trigger events from kernel are not injected directly to irqchip. In order to support injecting both physical and virtual SCI interrupts (so that some GPEs can be handled as physical while other GPEs can be emulated), SCI trigger event is intercepted by ACPIPMResource which injects it to irqchip via another eventfd - the same eventfd which is used for injecting virtual SCI interrupts. Similarly, resample event for physical forwarded SCI is received via the same eventfd as for virtual SCI, then forwarded back to kernel. BUG=b:205072342 TEST=see CL:3492224 Change-Id: I480a3000d69305aabc777e193d3453c476d2dbbd Reviewed-on: https://chromium-review.googlesource.com/c/chromiumos/platform/crosvm/+/3492221 Tested-by: kokoro <noreply+kokoro@google.com> Reviewed-by: Dmytro Maluka <dmy@semihalf.com> Reviewed-by: Dmitry Torokhov <dtor@chromium.org> Commit-Queue: Tomasz Nowicki <tnowicki@google.com> |
||
---|---|---|
.cargo | ||
.devcontainer | ||
.github | ||
aarch64 | ||
acpi_tables | ||
arch | ||
base | ||
bin | ||
bit_field | ||
ci/kokoro | ||
common | ||
crosvm-fuzz | ||
crosvm_control | ||
crosvm_plugin | ||
devices | ||
disk | ||
docs/book | ||
fuse | ||
gpu_display | ||
hypervisor | ||
infra/config | ||
integration_tests | ||
kernel_cmdline | ||
kernel_loader | ||
kvm | ||
kvm_sys | ||
libcras_stub | ||
libvda | ||
linux_input_sys | ||
logo | ||
net_sys | ||
net_util | ||
power_monitor | ||
protos | ||
qcow_utils | ||
resources | ||
rutabaga_gfx | ||
seccomp | ||
src | ||
system_api_stub | ||
tests | ||
third_party | ||
tools | ||
tpm2 | ||
tpm2-sys | ||
usb_sys | ||
usb_util | ||
vfio_sys | ||
vhost | ||
virtio_sys | ||
vm_control | ||
vm_memory | ||
x86_64 | ||
.dockerignore | ||
.gitignore | ||
.gitmodules | ||
.rustfmt.toml | ||
ARCHITECTURE.md | ||
Cargo.toml | ||
CONTRIBUTING.md | ||
LICENSE | ||
navbar.md | ||
OWNERS | ||
README.chromeos.md | ||
README.md | ||
run_tests | ||
rust-toolchain | ||
setup_cros_cargo.sh | ||
test_all | ||
unblocked_terms.txt |
crosvm - The Chrome OS Virtual Machine Monitor
crosvm is a virtual machine monitor (VMM) based on Linux’s 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 doesn’t 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.
- Documentation
- Source code
- API doc, useful for searching API.
- For contribution, see the contributor guide. Mirror repository is available at GitHub for your convenience, but we don't accept bug reports or pull requests there.
- Issue tracker