-
Notifications
You must be signed in to change notification settings - Fork 163
feat: add hardware interrupt support #1272
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Merged
jsturtevant
merged 37 commits into
hyperlight-dev:main
from
nanvix:danbugs/hw-interrupts
Mar 19, 2026
Merged
Changes from all commits
Commits
Show all changes
37 commits
Select commit
Hold shift + click to select a range
b944983
feat: add PIC emulation, OutBAction variants, and guest halt mechanism
danbugs 64184b0
feat(kvm): add hardware interrupt support with in-kernel IRQ chip
danbugs 7f5d0bc
feat(mshv): add hardware interrupt support with SynIC timer
danbugs e0a2dfe
feat(whp): add hardware interrupt support with software timer
danbugs 128e94d
test: add hardware interrupt unit and integration tests
danbugs 9b4ed3a
ci: add hw-interrupts test step to CI and Justfile
danbugs 7a0da22
fix: add halt port IO write and restore hw_timer_interrupts test
danbugs 4b10e06
experiment: replace in-kernel PIT with irqfd + host timer thread
danbugs f6e86a9
experiment: MSHV — replace SynIC timer with request_virtual_interrupt…
danbugs 4a58433
experiment: eliminate PIC state machine — hardcode vector 0x20, no-op…
danbugs 94806b7
fix: delete unused pic.rs file
danbugs 5135b89
style: rustfmt fixes in kvm.rs
danbugs 1bc420b
refactor: address PR 1272 review feedback
danbugs fd5f295
fix: reset timer_stop flag before spawning timer thread
danbugs ff96cec
Address copilot review feedback
danbugs 329dee2
Fix formatting (rustfmt nightly)
danbugs b954562
Fix clippy collapsible-if in KVM timer config
danbugs 9127f9d
fix: remove disallowed assert! macros from LAPIC helpers
danbugs 6dbf3e7
refactor: extract hw-interrupts and default vCPU run into separate me…
danbugs 6be5f5d
fix: preserve RAX across halt sequence in init and dispatch
danbugs b7dab7c
refactor: split OutBAction into OutBAction + VmAction, move hw_interr…
danbugs d9d6eda
fix: address PR 1272 review feedback (round 2)
danbugs 32f6ec0
refactor: extract TimerThread struct into shared hw_interrupts module
danbugs 38b6665
refactor: deduplicate WhpVm::new(), use #[cfg] for test exclusion
danbugs ad16579
style: fix rustfmt in KVM trace macro
danbugs f0bd850
style: fix rustfmt import ordering for TimerThread
danbugs a8cc679
fix: revert test exclusion to runtime ignore for hw-interrupts compat…
danbugs 1bd2869
refactor: extract shared PvTimerConfig handler and fix timer reconfig…
danbugs 1cfa527
refactor: extract hw-interrupts setup from constructors
danbugs 746f294
fix(kvm): return error on unexpected VcpuExit::Hlt in hw-interrupts loop
danbugs 2bb83cd
refactor: use shared constant for halt port in guest assembly
danbugs a834801
style: rustfmt
danbugs 836cb91
fix(kvm): copy IO data before calling handle_pv_timer_config
danbugs fcbd2b8
style: fix rustfmt import grouping in error.rs
danbugs 7ccb80d
fix(whp): use WHvX64LocalApicEmulationModeXApic constant
danbugs a105ff5
fix: resolve clippy expect_used and rustfmt rebase artifacts
danbugs 32eaebf
fix(kvm): remove UnexpectedExit, let catch-all handle unexpected HLT
danbugs File filter
Filter by extension
Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
Some comments aren't visible on the classic Files Changed page.
There are no files selected for viewing
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Oops, something went wrong.
Oops, something went wrong.
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
Uh oh!
There was an error while loading. Please reload this page.