Skip to content

VMMR0/target-x86: hmR0SvmEvaluatePendingEvent fixes - #866

Open
Teknomancer wants to merge 1 commit into
VirtualBox:mainfrom
Teknomancer:svm-evaluate-pending-event
Open

Teknomancer wants to merge 1 commit into
VirtualBox:mainfrom
Teknomancer:svm-evaluate-pending-event

Conversation

@Teknomancer

Copy link
Copy Markdown
Contributor

VMMR0/target-x86: Fix hmR0SvmEvaluatePendingEvent so that we always clear interrupt-window after injecting NMI.

This also fixes the cases where we might try to inject an PIC interrupt after injecting an NMI (would result in a debug assertion).

There is a very slight optimization in that if an interrupt is pending while injecting an NMI, we immediately set the interrupt-window pending so we get a #VMEXIT earlier rather than evaluating in the next arbitrary #VMEXIT opportunity.

The overall logic now incidentally also matches the VMX code's counterpart but adapted to AMD-V specifics.

…lear interrupt-window after injecting NMI.

This also fixes the cases where we might try to inject an PIC interrupt after injecting an NMI (would result in
a debug assertion).
There is a very slight optimization in that if an interrupt is pending while injecting an NMI, we immediately
set the interrupt-window pending so we get a VMEXIT earlier rather than evaluating in the next arbitrary VMEXIT
opportunity.
The overall logic now incidentally also matches the VMX code's counterpart but adapted to AMD-V specifics.
@oracle-contributor-agreement oracle-contributor-agreement Bot added the OCA Verified All contributors have signed the Oracle Contributor Agreement. label Sep 15, 2026
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