I discovered that the real question is: how can I determines if the exception was caused by VMM or by guest software itself?
Hi, I came across an updated version of the IA manual whichhas more details onVM topics across multiple chapters. Maybe theIA Manual"Chapter 30: Virtual-Machine Monitor Programming Considerations" can provide some additional hints for your question. You can try the links below to get to the manual (Release March 2012): http://download.intel.com/products/processor/manual/325384.pdfhttps://www-ssl.intel.com/content/www/us/en/processors/architectures-software-developer-manuals.html?-Thai
Hello Thai and thanks for your reply
as a matter of fact my question was not a very interesting question.
I can discover who caused the exception watching who is running when the exception is raised.
But what is the difference between the method suggested by Intel manual (discover who caused the exception and then inject or relfect it), and the switch-case for any other kind of exception as Xen does?
with the first method (intel one) I've a kind of
if (GuestException) //Reflect
else if (VMMException) //Handle and resume
in the second way I've
switch (ExitReason)case EXCEPTION_NMI:
so where is the difference?