Event

Event
10:50
-
11:25
Day 2
Making the NOVA microhypervisor fit for thousands of devices and interrupts
K.4.201
English
<p><a href="https://github.com/udosteinberg/NOVA">NOVA</a> is a modern open-source (GPLv2) microhypervisor that can host and harden unmodified guest operating systems. NOVA is typically accompanied by a component-based OS that runs deprivileged and implements additional functionality, such as platform services and user-mode device drivers.</p> <p>Over the years, the interrupt subsystem of modern client and server platforms has evolved significantly, by (1) scaling up from only a few pin-based to thousands of message-signaled interrupts and (2) scaling out the delivery of those interrupts across dozens or hundreds of CPU cores. </p> <p>Architectural differences between ARMv8-A and x86_64, such as</p> <ul> <li>Interrupt types: PIN/MSI (x86) vs. (E)SPI/(E)PPI/LPI (Arm)</li> <li>CPU-local vectors (x86) vs. global INTIDs (Arm)</li> <li>Interrupt remapping by IOMMU (x86) vs. interrupt translation by GIC ITS (Arm)</li> <li>Source identifier as bus/device/function (x86) vs. device/stream ID (Arm)</li> </ul> <p>pose a challenge to the design of a uniform API for managing interrupts and devices and motivated the introduction of a new type of kernel object in NOVA: Device Contexts</p> <p>After a brief discussion of NOVA features added recently, the majority of the talk will focus on NOVA's new interfaces for managing hardware devices and interrupts.</p> <p>Links:</p> <ul> <li><a href="https://github.com/udosteinberg/NOVA">NOVA Source Code</a></li> <li><a href="https://gitlab.com/bluerocksec/NOVA/-/tree/proof/ver">NOVA Formal Specification</a></li> <li><a href="https://hypervisor.org/">Additional Information</a></li> <li><a href="https://archive.fosdem.org/2025/schedule/event/fosdem-2025-5083-a-formal-specification-of-the-nova-microhypervisor/">FOSDEM 2025 Talk</a> - focused on Formal Verification</li> <li><a href="https://archive.fosdem.org/2024/schedule/event/fosdem-2024-3227-using-the-nova-microhypervisor-for-trusted-computing-at-scale/">FOSDEM 2024 Talk</a> - focused on Trusted Computing</li> <li><a href="https://archive.fosdem.org/2023/schedule/event/nova">FOSDEM 2023 Talk</a> - focused on Advanced Features</li> <li><a href="https://archive.fosdem.org/2020/schedule/event/uk_nova">FOSDEM 2020 Talk</a> - focused on ARMv8-A</li> </ul>