aboutsummaryrefslogtreecommitdiffstats
path: root/xen/include/asm-x86/softirq.h
diff options
context:
space:
mode:
authorDavid Vrabel <david.vrabel@citrix.com>2012-02-02 15:28:58 +0000
committerDavid Vrabel <david.vrabel@citrix.com>2012-02-02 15:28:58 +0000
commit7d44891ccc13b842b9f135c77233d4d56720e219 (patch)
tree2a9572399a1aa050dfa3e076b7f7f2b6f74b8572 /xen/include/asm-x86/softirq.h
parenta6b64c00c491c5e563e90bda35b2e4ccc02edb94 (diff)
downloadxen-7d44891ccc13b842b9f135c77233d4d56720e219.tar.gz
xen-7d44891ccc13b842b9f135c77233d4d56720e219.tar.bz2
xen-7d44891ccc13b842b9f135c77233d4d56720e219.zip
x86: avoid deadlock after a PCI SERR NMI
If a PCI System Error (SERR) is asserted it causes an NMI. If this NMI occurs while the CPU is in printk() then Xen may deadlock as pci_serr_error() calls console_force_unlock() which screws up the console lock. printk() isn't safe to call from NMI context so defer the diagnostic message to a softirq. Signed-off-by: David Vrabel <david.vrabel@citrix.com> Tested-by: George Dunlap <george.dunlap@eu.citrix.com> Committed-by: Keir Fraser <keir@xen.org>
Diffstat (limited to 'xen/include/asm-x86/softirq.h')
-rw-r--r--xen/include/asm-x86/softirq.h3
1 files changed, 2 insertions, 1 deletions
diff --git a/xen/include/asm-x86/softirq.h b/xen/include/asm-x86/softirq.h
index 4387803910..9d8e2e14ca 100644
--- a/xen/include/asm-x86/softirq.h
+++ b/xen/include/asm-x86/softirq.h
@@ -6,6 +6,7 @@
#define VCPU_KICK_SOFTIRQ (NR_COMMON_SOFTIRQS + 2)
#define MACHINE_CHECK_SOFTIRQ (NR_COMMON_SOFTIRQS + 3)
-#define NR_ARCH_SOFTIRQS 4
+#define PCI_SERR_SOFTIRQ (NR_COMMON_SOFTIRQS + 4)
+#define NR_ARCH_SOFTIRQS 5
#endif /* __ASM_SOFTIRQ_H__ */