x86/mce: Init some CPU features early
authorYazen Ghannam <Yazen.Ghannam@amd.com>
Wed, 15 Mar 2017 17:30:55 +0000 (12:30 -0500)
committerThomas Gleixner <tglx@linutronix.de>
Sat, 18 Mar 2017 12:03:44 +0000 (13:03 +0100)
commit5204bf17031b69fa5faa4dc80a9dc1e2446d74f9
treef24b6f774be261341c9ef216e2e61d2b9ba032cb
parent5bc329503e8191c91c4c40836f062ef771d8ba83
x86/mce: Init some CPU features early

When the MCA banks in __mcheck_cpu_init_generic() are polled for leftover
errors logged during boot or from the previous boot, its required to have
CPU features detected sufficiently so that the reading out and handling of
those early errors is done correctly.

If those features are not available, the decoding may miss some information
and get incomplete errors logged. For example, on SMCA systems the MCA_IPID
and MCA_SYND registers are not logged and MCA_ADDR is not masked
appropriately.

To cure that, do a subset of the basic feature detection early while the
rest happens in its usual place in __mcheck_cpu_init_vendor().

Signed-off-by: Yazen Ghannam <Yazen.Ghannam@amd.com>
Cc: Tony Luck <tony.luck@intel.com>
Cc: linux-edac <linux-edac@vger.kernel.org>
Cc: x86-ml <x86@kernel.org>
Link: http://lkml.kernel.org/r/1489599055-20756-1-git-send-email-Yazen.Ghannam@amd.com
[ Massage commit message and simplify. ]
Signed-off-by: Borislav Petkov <bp@suse.de>
Signed-off-by: Thomas Gleixner <tglx@linutronix.de>
arch/x86/kernel/cpu/mcheck/mce.c