Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Question about VM_EXIT_ACK_INTR_ON_EXIT #31

Closed
wbenny opened this issue Jul 31, 2018 · 5 comments
Closed

Question about VM_EXIT_ACK_INTR_ON_EXIT #31

wbenny opened this issue Jul 31, 2018 · 5 comments

Comments

@wbenny
Copy link
Contributor

wbenny commented Jul 31, 2018

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.

@rianquinn
Copy link

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

@wbenny
Copy link
Contributor Author

wbenny commented Aug 1, 2018

Nice, thanks Rian!

@ionescu007
Copy link
Owner

ionescu007 commented Aug 2, 2018 via email

@wbenny
Copy link
Contributor Author

wbenny commented Aug 2, 2018

If testing inside of the VMWare is enough, I'll gladly provide pull request later today. :)

@ionescu007
Copy link
Owner

ionescu007 commented Aug 2, 2018 via email

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

No branches or pull requests

3 participants