linux/arch/x86
Borislav Petkov 6dcbfe4f0b x86, AMD, MCE thresholding: Fix the MCi_MISCj iteration order
This fixes possible cases of not collecting valid error info in
the MCE error thresholding groups on F10h hardware.

The current code contains a subtle problem of checking only the
Valid bit of MSR0000_0413 (which is MC4_MISC0 - DRAM
thresholding group) in its first iteration and breaking out if
the bit is cleared.

But (!), this MSR contains an offset value, BlkPtr[31:24], which
points to the remaining MSRs in this thresholding group which
might contain valid information too. But if we bail out only
after we checked the valid bit in the first MSR and not the
block pointer too, we miss that other information.

The thing is, MC4_MISC0[BlkPtr] is not predicated on
MCi_STATUS[MiscV] or MC4_MISC0[Valid] and should be checked
prior to iterating over the MCI_MISCj thresholding group,
irrespective of the MC4_MISC0[Valid] setting.

Signed-off-by: Borislav Petkov <borislav.petkov@amd.com>
Cc: <stable@kernel.org>
Signed-off-by: Ingo Molnar <mingo@elte.hu>
2010-10-11 11:04:36 +02:00
..
boot x86, setup: Fix earlyprintk=serial,0x3f8,115200 2010-09-21 10:18:33 -07:00
configs defconfig reduction 2010-08-14 22:26:53 +02:00
crypto Merge git://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux-2.6 2010-05-03 11:28:58 +08:00
ia32 x86-64, compat: Retruncate rax after ia32 syscall entry tracing 2010-09-14 16:08:47 -07:00
include/asm Merge branch 'x86/urgent' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/linux-2.6-tip 2010-09-27 21:19:27 -07:00
kernel x86, AMD, MCE thresholding: Fix the MCi_MISCj iteration order 2010-10-11 11:04:36 +02:00
kvm KVM: i8259: fix migration 2010-09-08 14:50:58 -03:00
lguest lguest: update comments to reflect LHCALL_LOAD_GDT_ENTRY. 2010-09-21 10:54:02 +09:30
lib Merge branch 'x86/urgent' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/linux-2.6-tip 2010-08-13 10:35:48 -07:00
math-emu x86, fpu: Unbreak FPU emulation 2010-05-10 13:37:16 -07:00
mm x86: Fix the address space annotations of iomap_atomic_prot_pfn() 2010-09-05 14:26:14 +02:00
oprofile oprofile: Add Support for Intel CPU Family 6 / Model 29 2010-09-21 12:22:48 +02:00
pci x86/PCI: use for_each_pci_dev() 2010-07-30 09:47:33 -07:00
power x86, tsc, sched: Recompute cyc2ns_offset's during resume from sleep states 2010-08-20 14:59:02 +02:00
tools x86: Remove trailing spaces in messages 2010-02-07 17:47:51 +01:00
vdso Merge branches 'x86-cleanups-for-linus', 'x86-vmware-for-linus', 'x86-mtrr-for-linus', 'x86-apic-for-linus', 'x86-fpu-for-linus' and 'x86-vdso-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/linux-2.6-tip 2010-08-06 16:22:59 -07:00
video
xen xen: do not initialize PV timers on HVM if !xen_have_vector_callback 2010-10-05 13:39:23 +01:00
.gitignore add random binaries to .gitignore 2010-04-08 11:34:34 +02:00
Kbuild
Kconfig Replace Configure with Enable in description of MAXSMP 2010-08-21 12:38:58 -07:00
Kconfig.cpu Merge branch 'x86-fpu-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/linux-2.6-tip 2010-05-18 08:58:16 -07:00
Kconfig.debug Merge branch 'x86-cleanups-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/linux-2.6-tip 2010-05-18 08:40:21 -07:00
Makefile x86, build: Disable -fPIE when compiling with CONFIG_CC_STACKPROTECTOR=y 2010-09-13 15:53:16 -07:00
Makefile_32.cpu Merge branch 'x86-fixes-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/linux-2.6-tip 2009-12-08 13:38:11 -08:00