OpenCloudOS-Kernel/arch/x86
Andi Kleen ed7290d0ee x86, mce: implement new status bits
The x86 architecture recently added some new machine check status bits:
S(ignalled) and AR (Action-Required). Signalled allows to check
if a specific event caused an exception or was just logged through CMCI.
AR allows the kernel to decide if an event needs immediate action
or can be delayed or ignored.

Implement support for these new status bits. mce_severity() uses
the new bits to grade the machine check correctly and decide what
to do. The exception handler uses AR to decide to kill or not.
The S bit is used to separate events between the poll/CMCI handler
and the exception handler.

Classical UC always leads to panic. That was true before anyways
because the existing CPUs always passed a PCC with it.

Also corrects the rules whether to kill in user or kernel context
and how to handle missing RIPV.

The machine check handler largely uses the mce-severity grading
engine now instead of making its own decisions. This means the logic
is centralized in one place.  This is useful because it has to be
evaluated multiple times.

v2: Some rule fixes; Add AO events
Fix RIPV, RIPV|EIPV order (Ying Huang)
Fix UCNA with AR=1 message (Ying Huang)
Add comment about panicing in m_c_p.

Signed-off-by: Andi Kleen <ak@linux.intel.com>
Signed-off-by: Hidetoshi Seto <seto.hidetoshi@jp.fujitsu.com>
Signed-off-by: H. Peter Anvin <hpa@zytor.com>
2009-06-03 14:45:34 -07:00
..
boot x86, relocs: ignore R_386_NONE in kernel relocation entries 2009-05-25 22:52:49 -07:00
configs x86/irq: remove leftover code from NUMA_MIGRATE_IRQ_DESC 2009-04-28 12:21:15 +02:00
crypto crypto: aes-ni - Add support to Intel AES-NI instructions for x86_64 platform 2009-02-18 16:48:06 +08:00
ia32 Separate out common fstatat code into vfs_fstatat 2009-04-20 23:02:51 -04:00
include/asm x86, mce: implement new status bits 2009-06-03 14:45:34 -07:00
kernel x86, mce: implement new status bits 2009-06-03 14:45:34 -07:00
kvm KVM: Fix PDPTR reloading on CR4 writes 2009-05-25 20:00:53 +03:00
lguest x86/irq: change irq_desc_alloc() to take node instead of cpu 2009-04-28 12:21:17 +02:00
lib x86: memcpy, clean up 2009-03-12 12:21:17 +01:00
math-emu Merge branch 'core/percpu' into percpu-cpumask-x86-for-linus-2 2009-03-27 17:28:43 +01:00
mm x86: ignore VM_LOCKED when determining if hugetlb-backed page tables can be shared or not 2009-05-29 08:40:03 -07:00
oprofile x86, 32-bit: fix kernel_trap_sp() 2009-05-12 00:39:52 +02:00
pci x86, apic: introduce io_apic_irq_attr 2009-05-18 08:38:55 +02:00
power x86: disable stack-protector for __restore_processor_state() 2009-04-03 19:48:41 +02:00
vdso x86: gettimeofday() vDSO: fix segfault when tv == NULL 2009-04-30 12:31:45 +02:00
video
xen x86: Fix performance regression caused by paravirt_ops on native kernels 2009-05-15 20:07:42 +02:00
Kconfig Merge branch 'irq/numa' into x86/mce3 2009-06-01 15:25:31 -07:00
Kconfig.cpu x86: disable X86_PTRACE_BTS for now 2009-04-15 23:15:14 +02:00
Kconfig.debug generic debug pagealloc: build fix 2009-04-02 19:04:48 -07:00
Makefile x86, kbuild: make "make install" not depend on vmlinux 2009-04-17 22:43:12 +02:00
Makefile_32.cpu x86: merge winchip-2 and winchip-2a cpu choices 2008-10-13 10:22:48 +02:00