mirror of
https://github.com/cloud-hypervisor/cloud-hypervisor.git
synced 2025-01-30 16:35:31 +00:00
950bd205c6
The goal for cloud-hypervisor is to keep the host safe. With this in mind, we want to emulate as much as possible in userspace instead of in kernel directly. The IOAPIC is a good candidate to move from kernel to userspace, which is why this commit introduces a userspace implementation of the IOAPIC 82093AA based on the documentation: https://pdos.csail.mit.edu/6.828/2016/readings/ia32/ioapic.pdf This code is inspired from the files devices/src/ioapic.rs and devices/src/split_irqchip_common.rs from the crosvm codebase. The reference version used being 6c1e23eee3065b3f3d6fc4fb992ac9884dbabf68. Signed-off-by: Sebastien Boeuf <sebastien.boeuf@intel.com>