9fd34708c1
guest 21971-pod-accounting.patch - bnc#584204 - xm usb-list broken usb-list.patch - bnc#625520 - TP-L3: NMI cannot be triggered for xen kernel 21926-x86-pv-NMI-inject.patch - bnc#613529 - TP-L3: kdump kernel hangs when crash was initiated from xen kernel 21886-kexec-shutdown.patch - Upstream Intel patches to improve X2APIC handling. 21716-iommu-alloc.patch 21717-ir-qi.patch 21718-x2apic-logic.patch 21933-vtd-ioapic-write.patch 21953-msi-enable.patch OBS-URL: https://build.opensuse.org/package/show/Virtualization/xen?expand=0&rev=71
44 lines
1.4 KiB
Diff
44 lines
1.4 KiB
Diff
# HG changeset patch
|
|
# User Keir Fraser <keir.fraser@citrix.com>
|
|
# Date 1281015674 -3600
|
|
# Node ID 6f07d9ac1e7cd145fb2770bb11655ac1161b58da
|
|
# Parent 8992134dcfd0b9e1e86f4111e68a8aa48bd33c3c
|
|
x86: Fix NMI injection to PV guests
|
|
References: bnc#625520
|
|
|
|
Signed-off-by: Juergen Gross <juergen.gross@ts.fujitsu.com>
|
|
|
|
--- a/xen/arch/x86/x86_32/entry.S
|
|
+++ b/xen/arch/x86/x86_32/entry.S
|
|
@@ -275,7 +275,7 @@ process_mce:
|
|
ALIGN
|
|
/* %ebx: struct vcpu */
|
|
process_nmi:
|
|
- cmpw $1 << VCPU_TRAP_NMI,VCPU_async_exception_mask(%ebx)
|
|
+ testb $1 << VCPU_TRAP_NMI,VCPU_async_exception_mask(%ebx)
|
|
jnz test_guest_events
|
|
sti
|
|
movb $0,VCPU_nmi_pending(%ebx)
|
|
--- a/xen/arch/x86/x86_64/compat/entry.S
|
|
+++ b/xen/arch/x86/x86_64/compat/entry.S
|
|
@@ -148,7 +148,7 @@ compat_process_mce:
|
|
ALIGN
|
|
/* %rbx: struct vcpu */
|
|
compat_process_nmi:
|
|
- cmpw $1 << VCPU_TRAP_NMI,VCPU_async_exception_mask(%rbx)
|
|
+ testb $1 << VCPU_TRAP_NMI,VCPU_async_exception_mask(%rbx)
|
|
jnz compat_test_guest_events
|
|
sti
|
|
movb $0,VCPU_nmi_pending(%rbx)
|
|
--- a/xen/arch/x86/x86_64/entry.S
|
|
+++ b/xen/arch/x86/x86_64/entry.S
|
|
@@ -250,7 +250,7 @@ process_mce:
|
|
ALIGN
|
|
/* %rbx: struct vcpu */
|
|
process_nmi:
|
|
- cmpw $1 << VCPU_TRAP_NMI,VCPU_async_exception_mask(%rbx)
|
|
+ testb $1 << VCPU_TRAP_NMI,VCPU_async_exception_mask(%rbx)
|
|
jnz test_guest_events
|
|
sti
|
|
movb $0,VCPU_nmi_pending(%rbx)
|