On 08/04/20 00:29, Andy Lutomirski wrote:
I prefer #VE, but I can see how #MC has some appeal. However, #VE has a mechanism to avoid reentrancy, unlike #MC. How would that be better than the current mess with an NMI happening in the first few instructions of the #PF handler?
It has to be an IST vector due to the possibility of hitting a memory failure right after SYSCALL.
Not if syscall clears IF, right?
I think #MC has a mechanism to prevent reentrancy to a limited extent. How does #VE avoid reentrancy?
In hardware, it has a flag word and delivers a vmexit instead of #VE if that word is not zero (see towards the end of 25.5.6.1 Convertible EPT Violations). Here it would be the same except it would just do the page fault synchronously in the host.
Paolo