I'm attempting to implement a scheme where interrupts cause exits to vmxroot and then I inject them back into a guest domain. However I believe it would only be appropriate to inject an interrupt to the guest if RFLAGS.IF = 1. As such I've implemented a local APIC state machine. However to deliver pending interrupts to the guest I need an exit when RFLAGS.IF transitions from 0 to 1. From the documentation I've been led to believe that the 'Interrupt-window exiting' primary proc vm control bit would provide this exit. However, I don't seem to be getting exit conditions when I set this in my VMCS and resume the guest.
Do I mis-understand the purpose of this exit condition? Am I barking up the wrong tree with detecting RFLAGS.IF transitions? Thanks!



