|
|
|
|
|
|
|
|
|
|
xen-changelog
[Xen-changelog] [xen-unstable] [HVM][VMX] More descriptive failed vmentr
# HG changeset patch
# User kfraser@xxxxxxxxxxxxxxxxxxxxx
# Node ID d6363854fb35e8b6f6b6271d770b996ea6806111
# Parent bbea54da02b552ace34e502c5d8f803ea585741c
[HVM][VMX] More descriptive failed vmentry.
Signed-off-by: Xin Li <xin.b.li@xxxxxxxxx>
---
xen/arch/x86/hvm/vmx/vmx.c | 22 ++++++++++++++++++++--
xen/include/asm-x86/hvm/vmx/vmx.h | 5 +++++
2 files changed, 25 insertions(+), 2 deletions(-)
diff -r bbea54da02b5 -r d6363854fb35 xen/arch/x86/hvm/vmx/vmx.c
--- a/xen/arch/x86/hvm/vmx/vmx.c Wed Jul 05 14:29:57 2006 +0100
+++ b/xen/arch/x86/hvm/vmx/vmx.c Wed Jul 05 14:31:22 2006 +0100
@@ -2093,8 +2093,26 @@ asmlinkage void vmx_vmexit_handler(struc
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();
diff -r bbea54da02b5 -r d6363854fb35 xen/include/asm-x86/hvm/vmx/vmx.h
--- a/xen/include/asm-x86/hvm/vmx/vmx.h Wed Jul 05 14:29:57 2006 +0100
+++ b/xen/include/asm-x86/hvm/vmx/vmx.h Wed Jul 05 14:31:22 2006 +0100
@@ -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
*/
_______________________________________________
Xen-changelog mailing list
Xen-changelog@xxxxxxxxxxxxxxxxxxx
http://lists.xensource.com/xen-changelog
|
<Prev in Thread] |
Current Thread |
[Next in Thread> |
- [Xen-changelog] [xen-unstable] [HVM][VMX] More descriptive failed vmentry.,
Xen patchbot-unstable <=
|
|
|
|
|