Skip to content

Conversation

@glitzflitz
Copy link

Intel VMX rejects setting VM_REG_GUEST_INTR_SHADOW to non-zero values while AMD SVM accepts any value. As per [1], the interrupt shadow is transient state, cleared after one instruction.

Ignore EINVAL when attempting to set intr_shadow=true on Intel, as the state loss is benign. In the worst case an interrupt arrives one instruction early. This fixes #1013

[1]: Intel SDM Volume 3C, Section 26.6.1 and 27.7.1 around
"Interruptibility State"
https://cdrdv2-public.intel.com/825750/326019-sdm-vol-3c.pdf

Intel VMX rejects setting VM_REG_GUEST_INTR_SHADOW to non-zero values
while AMD SVM accepts any value. As per [1], the interrupt shadow is
transient state, cleared after one instruction.

Ignore EINVAL when attempting to set intr_shadow=true on Intel, as the
state loss is benign. In the worst case an interrupt arrives one
instruction early. This fixes oxidecomputer#1013

[1]: Intel SDM Volume 3C, Section 26.6.1 and 27.7.1 around
     "Interruptibility State"
     https://cdrdv2-public.intel.com/825750/326019-sdm-vol-3c.pdf

Signed-off-by: Amey Narkhede <ameynarkhede03@gmail.com>
@glitzflitz glitzflitz marked this pull request as ready for review January 9, 2026 21:39
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

Snapshot restore fails on Intel hosts when intr_shadow is set

1 participant