Provide deterministic virtio interrupt fixtures
Open
@ppenna is already working on this.
Since Sep 15, 2026.
- Dominant language
- Rust
- Stars
- 1.9k
- Forks
- 238
- Avg merge
- 1d 15h
- Merged PRs (30d)
- 100
Description
Tracking issue: MicroVM support and private snapshot restore.
Motivation
A fixed-MMIO machine and persistent virtio devices need precise tests for interrupt
delivery. Fixtures that expose interrupt transitions deterministically allow
transport, chipset, and restore changes to be tested without relying on a running
VM or host scheduling to observe an interrupt.
Proposed Scope
- Provide reusable test fixtures that record and expose relevant interrupt
transitions through the existing virtio interrupt interfaces. - Let tests control observation and reset explicitly while preserving the
interrupt semantics expected by each interface. - Use the fixtures in focused transport tests as a baseline for later chipset and
persistence work. - Keep these fixtures independent of transport performance optimizations.
Acceptance Criteria
- Tests can deterministically observe interrupt assertion, deassertion, or
notification as appropriate to the interface under test. - Repeated notifications and fixture reset do not leak state between tests.
- The fixtures work without a live hypervisor and pass on supported test hosts.
- Existing virtio behavior remains unchanged, and the tests can detect a
deliberately missing or unexpected interrupt transition. - Fixtures test interrupt semantics without requiring an accelerated transport
path.
Dependencies
No feature prerequisites.
Non-Goals
This issue does not change the device transport, introduce a new interrupt
optimization, or implement snapshot persistence.
Contributor guide
No contributing guide indexed for this repository
First steps
- Read the whole issue, then the project's contributing guide.
- Comment on the issue to say you are picking it up — it saves two people doing the same work.
- Fork the repository and make your change on a branch.
- Open a pull request that references the issue number.
Assessment
This issue has not been assessed yet.