mirror of
https://github.com/xen-project/xen.git
synced 2026-10-30 03:00:05 +01:00
[HVM][VMX] More descriptive failed vmentry.
Signed-off-by: Xin Li <xin.b.li@intel.com>
This commit is contained in:
1 parent
cbffd93cad
commit
2965c96535
2 files changed
+25
-2
No files matched your search
@@ -2093,8 +2093,26 @@ asmlinkage void vmx_vmexit_handler(struct cpu_user_regs regs)
|
||||
|
||||
if ( unlikely(exit_reason & VMX_EXIT_REASONS_FAILED_VMENTRY) )
|
||||
{
|
||||
printk("Failed vm entry (reason 0x%x)\n", exit_reason);
|
||||
printk("*********** VMCS Area **************\n");
|
||||
unsigned int failed_vmentry_reason = exit_reason & 0xFFFF;
|
||||
|
||||
__vmread(EXIT_QUALIFICATION, &exit_qualification);
|
||||
printk("Failed vm entry (exit reason 0x%x) ", exit_reason);
|
||||
switch ( failed_vmentry_reason ) {
|
||||
case EXIT_REASON_INVALID_GUEST_STATE:
|
||||
printk("caused by invalid guest state (%ld).\n", exit_qualification);
|
||||
break;
|
||||
case EXIT_REASON_MSR_LOADING:
|
||||
printk("caused by MSR entry %ld loading.\n", exit_qualification);
|
||||
break;
|
||||
case EXIT_REASON_MACHINE_CHECK:
|
||||
printk("caused by machine check.\n");
|
||||
break;
|
||||
default:
|
||||
printk("reason not known yet!");
|
||||
break;
|
||||
}
|
||||
|
||||
printk("************* VMCS Area **************\n");
|
||||
vmcs_dump_vcpu();
|
||||
printk("**************************************\n");
|
||||
domain_crash_synchronous();
|
||||
|
||||
@@ -133,6 +133,11 @@ extern unsigned int cpu_rev;
|
||||
#define EXIT_REASON_MSR_WRITE 32
|
||||
#define EXIT_REASON_MWAIT_INSTRUCTION 36
|
||||
|
||||
#define EXIT_REASON_INVALID_GUEST_STATE 33
|
||||
#define EXIT_REASON_MSR_LOADING 34
|
||||
#define EXIT_REASON_MACHINE_CHECK 41
|
||||
|
||||
|
||||
/*
|
||||
* Interruption-information format
|
||||
*/
|
||||
|
||||