Dear KVM experts, I am trying to create a VM exit whenever the guest OS executes a IRET instruction. I am using a Intel i5,3.3Ghz,VT-x/EPT processor and KVM version 3.10.1. I tried several combinations of the following settings but with little success. 1) Set/Unset Virtual NMIs which is bit 5 in pin based vm execution control 2) Set/Unset bit 3 in guest interruptibility state (Blocking by NMI) 3) Set/Unset "NMI-blocking" which is bit 3 in pin based NMI exiting 4) Set/Unset "NMI-window exiting" which is bit 22 in primary processor based VM execution control. The intel manual says the following about creating vm exits when IRET is executed : "NMI-window exiting. If the “virtual NMIs” VM-execution is set, the processor tracks virtual-NMI blocking. The “NMI-window exiting” VM-execution control (Section 24.6.2) causes VM exits when there is no virtual-NMI blocking. For example, after execution of the IRET instruction, a VM exit occurs if the “NMI-window exiting” VMexecution control is 1. This feature allows a VMM to queue a virtual NMI to a guest when the guest is not ready to receive NMIs. The VMM can set the “NMI-window exiting” VM-execution control for the guest and depend on a VM exit to know when the guest becomes ready for NMIs (and, therefore, when it can inject a virtual NMI). The VMM can detect such VM exits by checking for the basic exit reason “NMI window” (value = 8). If this feature is not used, the VMM will need to poll and check the interruptibility state of the guest to deliver virtual NMIs." I will be very thankful for any help from you to allow intercepting (cause VM exits) when guest executes IRET. Thanks!