Skip to content

Hyper-V Synthetic Timers and AutoEOI - #855

Open
Teknomancer wants to merge 7 commits into
VirtualBox:mainfrom
Teknomancer:hyperv-stimer
Open

Hyper-V Synthetic Timers and AutoEOI#855
Teknomancer wants to merge 7 commits into
VirtualBox:mainfrom
Teknomancer:hyperv-stimer

Conversation

@Teknomancer

Copy link
Copy Markdown
Contributor

Base work for Hyper-V synthetic timers (VP assist page) and AutoEOI.

SMP VMs are still a todo (will R3 release assert).

Work-in-progress. Currently Windows 11 uses them, doesn't use direct mode yet,
but since Hyper-V EOI assist is not implemented results in significantly more EOIs than when using SVM AVIC.
…r and fix fMsgPending even when SINT is masked.

Also SIMP enabled and SINT masking doesn't apply in direct-mode.
Timer message delivery is busted on SMP VMs because timers always fire on last EMT.
Also, we should consider MMIO2 mapping of the SIM page after checking large-page issue bugref:7532.
@oracle-contributor-agreement oracle-contributor-agreement Bot added the OCA Verified All contributors have signed the Oracle Contributor Agreement. label Sep 7, 2026
@Teknomancer

Copy link
Copy Markdown
Contributor Author

There is a race between apicPostInterrupt and apicUpdatePendingInterrupts/apicGetInterrupt in the above changes.

Working on fixing that with the current lockfree approach. It requires extending the PIB to hold one more bit per vector for the AutoEOI status but this is more work than initially anticipated and also touches the regular APIC interrupt path more.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

OCA Verified All contributors have signed the Oracle Contributor Agreement.

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant