# HG changeset patch
# User kaf24@xxxxxxxxxxxxxxxxxxxx
# Node ID 3c09a6b27b14ce537555bc533e3022fadf32e7d7
# Parent 2966233d180de05f98afacf1437003aa11fbc1c8
[HVM][SVM] Clean up double-fault handling.
Signed-off-by: Tom Woller <thomas.woller@xxxxxxx>
---
xen/arch/x86/hvm/svm/svm.c | 10 +++++-----
1 files changed, 5 insertions(+), 5 deletions(-)
diff -r 2966233d180d -r 3c09a6b27b14 xen/arch/x86/hvm/svm/svm.c
--- a/xen/arch/x86/hvm/svm/svm.c Wed Jun 28 10:02:27 2006 +0100
+++ b/xen/arch/x86/hvm/svm/svm.c Wed Jun 28 10:03:24 2006 +0100
@@ -47,7 +47,6 @@
#include <asm/shadow_64.h>
#endif
#include <public/sched.h>
-#include <public/hvm/ioreq.h>
#define SVM_EXTRA_DEBUG
@@ -66,8 +65,6 @@ extern int svm_instrlen(struct cpu_user_
extern int svm_instrlen(struct cpu_user_regs *regs, int mode);
extern void svm_dump_inst(unsigned long eip);
extern int svm_dbg_on;
-void svm_manual_event_injection32(struct vcpu *v, struct cpu_user_regs *regs,
- int vector, int has_code);
void svm_dump_regs(const char *from, struct cpu_user_regs *regs);
static void svm_relinquish_guest_resources(struct domain *d);
@@ -2804,8 +2801,11 @@ asmlinkage void svm_vmexit_handler(struc
}
case VMEXIT_EXCEPTION_DF:
- printk("Guest double fault");
- BUG();
+ /* Debug info to hopefully help debug WHY the guest double-faulted. */
+ svm_dump_vmcb(__func__, vmcb);
+ svm_dump_regs(__func__, ®s);
+ svm_dump_inst(svm_rip2pointer(vmcb));
+ svm_inject_exception(v, TRAP_double_fault, 1, 0);
break;
case VMEXIT_INTR:
_______________________________________________
Xen-changelog mailing list
Xen-changelog@xxxxxxxxxxxxxxxxxxx
http://lists.xensource.com/xen-changelog
|