commit | 2404c5ed44a0715937e02c2b25a4e0dfa7d710f1 | [log] [tgz] |
---|---|---|
author | Maciek Swiech <drmasquatch@google.com> | Tue Feb 21 11:09:01 2023 -0700 |
committer | crosvm LUCI <crosvm-scoped@luci-project-accounts.iam.gserviceaccount.com> | Thu Mar 02 20:50:18 2023 +0000 |
tree | 28221c667cc021ddfe7f2ad500919ecb1538f250 | |
parent | 60a517f6bf62fa9e9c9efde9f5201e3afd88d64a [diff] |
balloon: add event registration mechanism for sidecar processes. this patch introduces a mechanism for so-called 'sidecar processes' to register as event listeners, consuming events that are generated in various parts of crosvm. in this patch we focus on events that enable roziere cooperative ballooning, but lay the groundwork for a more general framework. the general idea is that a sidecar process would open a listening socket and register the path with crosvm for a specific event. crosvm will pass along a handle to a registered event tube to the appropriate device (or other internal component) which would then be responsible for passing along events. once events arrive back in the crosvm control loop, an attempt is made to dispatch the events to any registered sockets. BUG=b:269609274 TEST=sidecar program that performs registration and receives events Change-Id: Iaff41aad8f862ed99a104c75623caaabc53e9e88 Reviewed-on: https://chromium-review.googlesource.com/c/crosvm/crosvm/+/4237140 Commit-Queue: Maciek Swiech <drmasquatch@google.com> Reviewed-by: Daniel Verkamp <dverkamp@chromium.org>
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 ChromeOS 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 ChromeOS devices.