Question about VM_EXIT_ACK_INTR_ON_EXIT
wbenny opened this issue · 5 comments
Hi,
is setting VM_EXIT_ACK_INTR_ON_EXIT flag really necessary, if PIN_BASED_EXT_INTR is not set? I hope it's not super stupid question, but if I understand Intel Manual correctly, you shouldn't get any VMEXITs for external interrupts when PIN_BASED_EXT_INTR is not set - and if this is the case, the VM_EXIT_ACK_INTR_ON_EXIT is unnecessary.
I'm quite confused by this - I've been stuck on the VM_EXIT_ACK_INTR_ON_EXIT flag for too long in the Intel Manual, and when I thought I understand what it does, I realised many "simple opensource hypervisors" unneccessarily set it (SimpleVisor, ksm, HyperPlatform, ...).
So now I'm wondering, if either my understanding is correct OR if everyone just blatantly copy-pasted this practice from somewhere :)
If I'm completely wrong, I would be glad if you corrected me.
It's not needed. In Bareflank, we don't set it in the base hypervisor.
https://github.com/Bareflank/hypervisor/blob/master/bfvmm/src/hve/arch/intel_x64/exit_handler/exit_handler.cpp#L574
Nice, thanks Rian!
If testing inside of the VMWare is enough, I'll gladly provide pull request later today. :)