34 lines
1.2 KiB
Diff
34 lines
1.2 KiB
Diff
|
# HG changeset patch
|
||
|
# User kfraser@localhost.localdomain
|
||
|
# Date Fri Oct 20 10:11:45 2006 +0100
|
||
|
# Node ID 899836e04387bec0fc9f7c080e03ca9c4b9b11fd
|
||
|
# parent: c436ab500c9988f3a295f66b690ad7a98c16b54f
|
||
|
[HVM][SVM] Avoid double-execution of NMI handler.
|
||
|
|
||
|
Remove the do_nmi() call from the vmexit logic, as the NMI is held
|
||
|
pending and will be handled in the context of the host when the STGI
|
||
|
instruction is executed.
|
||
|
|
||
|
Signed-off-by: Tom Woller <thomas.woller@amd.com>
|
||
|
|
||
|
Index: xen-3.0.3-testing/xen/arch/x86/hvm/svm/svm.c
|
||
|
===================================================================
|
||
|
--- xen-3.0.3-testing.orig/xen/arch/x86/hvm/svm/svm.c
|
||
|
+++ xen-3.0.3-testing/xen/arch/x86/hvm/svm/svm.c
|
||
|
@@ -54,7 +54,6 @@
|
||
|
|
||
|
/* External functions. We should move these to some suitable header file(s) */
|
||
|
|
||
|
-extern void do_nmi(struct cpu_user_regs *, unsigned long);
|
||
|
extern int inst_copy_from_guest(unsigned char *buf, unsigned long guest_eip,
|
||
|
int inst_len);
|
||
|
extern uint32_t vlapic_update_ppr(struct vlapic *vlapic);
|
||
|
@@ -2730,7 +2729,6 @@ asmlinkage void svm_vmexit_handler(struc
|
||
|
break;
|
||
|
|
||
|
case VMEXIT_NMI:
|
||
|
- do_nmi(regs, 0);
|
||
|
break;
|
||
|
|
||
|
case VMEXIT_SMI:
|