0d71e75f73
26369-libxl-devid.patch - fate##313584: pass bios information to XEN HVM guest 26554-hvm-firmware-passthrough.patch 26555-hvm-firmware-passthrough.patch 26556-hvm-firmware-passthrough.patch - Upstream patches from Jan 26516-ACPI-parse-table-retval.patch (Replaces CVE-2013-0153-xsa36.patch) 26517-AMD-IOMMU-clear-irtes.patch (Replaces CVE-2013-0153-xsa36.patch) 26518-AMD-IOMMU-disable-if-SATA-combined-mode.patch (Replaces CVE-2013-0153-xsa36.patch) 26519-AMD-IOMMU-perdev-intremap-default.patch (Replaces CVE-2013-0153-xsa36.patch) 26526-pvdrv-no-devinit.patch 26529-gcc48-build-fix.patch 26531-AMD-IOMMU-IVHD-special-missing.patch (Replaces CVE-2013-0153-xsa36.patch) 26532-AMD-IOMMU-phantom-MSI.patch 26536-xenoprof-div-by-0.patch 26576-x86-APICV-migration.patch 26577-x86-APICV-x2APIC.patch 26578-AMD-IOMMU-replace-BUG_ON.patch - bnc#797014 - no way to control live migrations 26547-tools-xc_fix_logic_error_in_stdiostream_progress.patch 26548-tools-xc_handle_tty_output_differently_in_stdiostream_progress.patch 26549-tools-xc_turn_XCFLAGS_*_into_shifts.patch 26550-tools-xc_restore_logging_in_xc_save.patch 26551-tools-xc_log_pid_in_xc_save-xc_restore_output.patch - PVonHVM: __devinit was removed in linux-3.8 OBS-URL: https://build.opensuse.org/package/show/Virtualization/xen?expand=0&rev=229
33 lines
1.0 KiB
Diff
33 lines
1.0 KiB
Diff
# HG changeset patch
|
|
# User Jan Beulich <jbeulich@suse.com>
|
|
# Date 1358427591 -3600
|
|
# Node ID 76598d4bf61ef0c575deba539ff99078c80e651e
|
|
# Parent 0dee85c061addb7124d77c5f6cfe2ea7bc03b760
|
|
x86: handle both NMI kinds if they occur simultaneously
|
|
|
|
We shouldn't assume PCI SERR excludes IOCHK.
|
|
|
|
Once at it, also remove the doubly redundant range restriction on
|
|
"reason" - the variable already is "unsigned char".
|
|
|
|
Signed-off-by: Jan Beulich <jbeulich@suse.com>
|
|
Acked-by: Andrew Cooper <andrew.cooper3@citrix.com>
|
|
Acked-by: Keir Fraser <keir@xen.org>
|
|
|
|
--- a/xen/arch/x86/traps.c
|
|
+++ b/xen/arch/x86/traps.c
|
|
@@ -3357,10 +3357,10 @@ void do_nmi(struct cpu_user_regs *regs)
|
|
reason = inb(0x61);
|
|
if ( reason & 0x80 )
|
|
pci_serr_error(regs);
|
|
- else if ( reason & 0x40 )
|
|
+ if ( reason & 0x40 )
|
|
io_check_error(regs);
|
|
- else if ( !nmi_watchdog )
|
|
- unknown_nmi_error(regs, (unsigned char)(reason&0xff));
|
|
+ if ( !(reason & 0xc0) && !nmi_watchdog )
|
|
+ unknown_nmi_error(regs, reason);
|
|
}
|
|
}
|
|
|