From mboxrd@z Thu Jan 1 00:00:00 1970 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: base64 Subject: Patch "x86/mce: Init some CPU features early" has been added to the 4.9-stable tree From: Greg Kroah-Hartman Message-Id: <15213891648781@kroah.com> Date: Sun, 18 Mar 2018 17:06:04 +0100 To: Yazen.Ghannam@amd.com, alexander.levin@microsoft.com, bp@suse.de, gregkh@linuxfoundation.org, linux-edac@vger.kernel.org, tglx@linutronix.de, tony.luck@intel.com, x86@kernel.org Cc: stable@vger.kernel.org, stable-commits@vger.kernel.org List-ID: VGhpcyBpcyBhIG5vdGUgdG8gbGV0IHlvdSBrbm93IHRoYXQgSSd2ZSBqdXN0IGFkZGVkIHRoZSBw YXRjaCB0aXRsZWQKCiAgICB4ODYvbWNlOiBJbml0IHNvbWUgQ1BVIGZlYXR1cmVzIGVhcmx5Cgp0 byB0aGUgNC45LXN0YWJsZSB0cmVlIHdoaWNoIGNhbiBiZSBmb3VuZCBhdDoKICAgIGh0dHA6Ly93 d3cua2VybmVsLm9yZy9naXQvP3A9bGludXgva2VybmVsL2dpdC9zdGFibGUvc3RhYmxlLXF1ZXVl LmdpdDthPXN1bW1hcnkKClRoZSBmaWxlbmFtZSBvZiB0aGUgcGF0Y2ggaXM6CiAgICAgeDg2LW1j ZS1pbml0LXNvbWUtY3B1LWZlYXR1cmVzLWVhcmx5LnBhdGNoCmFuZCBpdCBjYW4gYmUgZm91bmQg aW4gdGhlIHF1ZXVlLTQuOSBzdWJkaXJlY3RvcnkuCgpJZiB5b3UsIG9yIGFueW9uZSBlbHNlLCBm ZWVscyBpdCBzaG91bGQgbm90IGJlIGFkZGVkIHRvIHRoZSBzdGFibGUgdHJlZSwKcGxlYXNlIGxl dCA8c3RhYmxlQHZnZXIua2VybmVsLm9yZz4ga25vdyBhYm91dCBpdC4KCgpGcm9tIGZvb0BiYXog U3VuIE1hciAxOCAxNjo1NTozMyBDRVQgMjAxOApGcm9tOiBZYXplbiBHaGFubmFtIDxZYXplbi5H aGFubmFtQGFtZC5jb20+CkRhdGU6IFdlZCwgMTUgTWFyIDIwMTcgMTI6MzA6NTUgLTA1MDAKU3Vi amVjdDogeDg2L21jZTogSW5pdCBzb21lIENQVSBmZWF0dXJlcyBlYXJseQoKRnJvbTogWWF6ZW4g R2hhbm5hbSA8WWF6ZW4uR2hhbm5hbUBhbWQuY29tPgoKClsgVXBzdHJlYW0gY29tbWl0IDUyMDRi ZjE3MDMxYjY5ZmE1ZmFhNGRjODBhOWRjMWUyNDQ2ZDc0ZjkgXQoKV2hlbiB0aGUgTUNBIGJhbmtz IGluIF9fbWNoZWNrX2NwdV9pbml0X2dlbmVyaWMoKSBhcmUgcG9sbGVkIGZvciBsZWZ0b3Zlcgpl cnJvcnMgbG9nZ2VkIGR1cmluZyBib290IG9yIGZyb20gdGhlIHByZXZpb3VzIGJvb3QsIGl0cyBy ZXF1aXJlZCB0byBoYXZlCkNQVSBmZWF0dXJlcyBkZXRlY3RlZCBzdWZmaWNpZW50bHkgc28gdGhh dCB0aGUgcmVhZGluZyBvdXQgYW5kIGhhbmRsaW5nIG9mCnRob3NlIGVhcmx5IGVycm9ycyBpcyBk b25lIGNvcnJlY3RseS4KCklmIHRob3NlIGZlYXR1cmVzIGFyZSBub3QgYXZhaWxhYmxlLCB0aGUg ZGVjb2RpbmcgbWF5IG1pc3Mgc29tZSBpbmZvcm1hdGlvbgphbmQgZ2V0IGluY29tcGxldGUgZXJy b3JzIGxvZ2dlZC4gRm9yIGV4YW1wbGUsIG9uIFNNQ0Egc3lzdGVtcyB0aGUgTUNBX0lQSUQKYW5k IE1DQV9TWU5EIHJlZ2lzdGVycyBhcmUgbm90IGxvZ2dlZCBhbmQgTUNBX0FERFIgaXMgbm90IG1h c2tlZAphcHByb3ByaWF0ZWx5LgoKVG8gY3VyZSB0aGF0LCBkbyBhIHN1YnNldCBvZiB0aGUgYmFz aWMgZmVhdHVyZSBkZXRlY3Rpb24gZWFybHkgd2hpbGUgdGhlCnJlc3QgaGFwcGVucyBpbiBpdHMg dXN1YWwgcGxhY2UgaW4gX19tY2hlY2tfY3B1X2luaXRfdmVuZG9yKCkuCgpTaWduZWQtb2ZmLWJ5 OiBZYXplbiBHaGFubmFtIDxZYXplbi5HaGFubmFtQGFtZC5jb20+CkNjOiBUb255IEx1Y2sgPHRv bnkubHVja0BpbnRlbC5jb20+CkNjOiBsaW51eC1lZGFjIDxsaW51eC1lZGFjQHZnZXIua2VybmVs Lm9yZz4KQ2M6IHg4Ni1tbCA8eDg2QGtlcm5lbC5vcmc+Ckxpbms6IGh0dHA6Ly9sa21sLmtlcm5l bC5vcmcvci8xNDg5NTk5MDU1LTIwNzU2LTEtZ2l0LXNlbmQtZW1haWwtWWF6ZW4uR2hhbm5hbUBh bWQuY29tClsgTWFzc2FnZSBjb21taXQgbWVzc2FnZSBhbmQgc2ltcGxpZnkuIF0KU2lnbmVkLW9m Zi1ieTogQm9yaXNsYXYgUGV0a292IDxicEBzdXNlLmRlPgpTaWduZWQtb2ZmLWJ5OiBUaG9tYXMg R2xlaXhuZXIgPHRnbHhAbGludXRyb25peC5kZT4KU2lnbmVkLW9mZi1ieTogU2FzaGEgTGV2aW4g PGFsZXhhbmRlci5sZXZpbkBtaWNyb3NvZnQuY29tPgpTaWduZWQtb2ZmLWJ5OiBHcmVnIEtyb2Fo LUhhcnRtYW4gPGdyZWdraEBsaW51eGZvdW5kYXRpb24ub3JnPgotLS0KIGFyY2gveDg2L2tlcm5l bC9jcHUvbWNoZWNrL21jZS5jIHwgICAzMCArKysrKysrKysrKysrKysrKystLS0tLS0tLS0tLS0K IDEgZmlsZSBjaGFuZ2VkLCAxOCBpbnNlcnRpb25zKCspLCAxMiBkZWxldGlvbnMoLSkKCgoKUGF0 Y2hlcyBjdXJyZW50bHkgaW4gc3RhYmxlLXF1ZXVlIHdoaWNoIG1pZ2h0IGJlIGZyb20gWWF6ZW4u R2hhbm5hbUBhbWQuY29tIGFyZQoKcXVldWUtNC45L3g4Ni1tY2UtaW5pdC1zb21lLWNwdS1mZWF0 dXJlcy1lYXJseS5wYXRjaAotLQpUbyB1bnN1YnNjcmliZSBmcm9tIHRoaXMgbGlzdDogc2VuZCB0 aGUgbGluZSAidW5zdWJzY3JpYmUgbGludXgtZWRhYyIgaW4KdGhlIGJvZHkgb2YgYSBtZXNzYWdl IHRvIG1ham9yZG9tb0B2Z2VyLmtlcm5lbC5vcmcKTW9yZSBtYWpvcmRvbW8gaW5mbyBhdCAgaHR0 cDovL3ZnZXIua2VybmVsLm9yZy9tYWpvcmRvbW8taW5mby5odG1sCgotLS0gYS9hcmNoL3g4Ni9r ZXJuZWwvY3B1L21jaGVjay9tY2UuYworKysgYi9hcmNoL3g4Ni9rZXJuZWwvY3B1L21jaGVjay9t Y2UuYwpAQCAtMTY5NSwzMCArMTY5NSwzNSBAQCBzdGF0aWMgaW50IF9fbWNoZWNrX2NwdV9hbmNp ZW50X2luaXQoc3RyCiAJcmV0dXJuIDA7CiB9CiAKLXN0YXRpYyB2b2lkIF9fbWNoZWNrX2NwdV9p bml0X3ZlbmRvcihzdHJ1Y3QgY3B1aW5mb194ODYgKmMpCisvKgorICogSW5pdCBiYXNpYyBDUFUg ZmVhdHVyZXMgbmVlZGVkIGZvciBlYXJseSBkZWNvZGluZyBvZiBNQ0VzLgorICovCitzdGF0aWMg dm9pZCBfX21jaGVja19jcHVfaW5pdF9lYXJseShzdHJ1Y3QgY3B1aW5mb194ODYgKmMpCiB7Ci0J c3dpdGNoIChjLT54ODZfdmVuZG9yKSB7Ci0JY2FzZSBYODZfVkVORE9SX0lOVEVMOgotCQltY2Vf aW50ZWxfZmVhdHVyZV9pbml0KGMpOwotCQltY2VfYWRqdXN0X3RpbWVyID0gY21jaV9pbnRlbF9h ZGp1c3RfdGltZXI7Ci0JCWJyZWFrOwotCi0JY2FzZSBYODZfVkVORE9SX0FNRDogeworCWlmIChj LT54ODZfdmVuZG9yID09IFg4Nl9WRU5ET1JfQU1EKSB7CiAJCW1jZV9mbGFncy5vdmVyZmxvd19y ZWNvdiA9ICEhY3B1X2hhcyhjLCBYODZfRkVBVFVSRV9PVkVSRkxPV19SRUNPVik7CiAJCW1jZV9m bGFncy5zdWNjb3IJID0gISFjcHVfaGFzKGMsIFg4Nl9GRUFUVVJFX1NVQ0NPUik7CiAJCW1jZV9m bGFncy5zbWNhCQkgPSAhIWNwdV9oYXMoYywgWDg2X0ZFQVRVUkVfU01DQSk7CiAKLQkJLyoKLQkJ ICogSW5zdGFsbCBwcm9wZXIgb3BzIGZvciBTY2FsYWJsZSBNQ0EgZW5hYmxlZCBwcm9jZXNzb3Jz Ci0JCSAqLwogCQlpZiAobWNlX2ZsYWdzLnNtY2EpIHsKIAkJCW1zcl9vcHMuY3RsCT0gc21jYV9j dGxfcmVnOwogCQkJbXNyX29wcy5zdGF0dXMJPSBzbWNhX3N0YXR1c19yZWc7CiAJCQltc3Jfb3Bz LmFkZHIJPSBzbWNhX2FkZHJfcmVnOwogCQkJbXNyX29wcy5taXNjCT0gc21jYV9taXNjX3JlZzsK IAkJfQotCQltY2VfYW1kX2ZlYXR1cmVfaW5pdChjKTsKKwl9Cit9CiAKK3N0YXRpYyB2b2lkIF9f bWNoZWNrX2NwdV9pbml0X3ZlbmRvcihzdHJ1Y3QgY3B1aW5mb194ODYgKmMpCit7CisJc3dpdGNo IChjLT54ODZfdmVuZG9yKSB7CisJY2FzZSBYODZfVkVORE9SX0lOVEVMOgorCQltY2VfaW50ZWxf ZmVhdHVyZV9pbml0KGMpOworCQltY2VfYWRqdXN0X3RpbWVyID0gY21jaV9pbnRlbF9hZGp1c3Rf dGltZXI7CisJCWJyZWFrOworCisJY2FzZSBYODZfVkVORE9SX0FNRDogeworCQltY2VfYW1kX2Zl YXR1cmVfaW5pdChjKTsKIAkJYnJlYWs7CiAJCX0KIApAQCAtMTgwNCw2ICsxODA5LDcgQEAgdm9p ZCBtY2hlY2tfY3B1X2luaXQoc3RydWN0IGNwdWluZm9feDg2CiAKIAltYWNoaW5lX2NoZWNrX3Zl Y3RvciA9IGRvX21hY2hpbmVfY2hlY2s7CiAKKwlfX21jaGVja19jcHVfaW5pdF9lYXJseShjKTsK IAlfX21jaGVja19jcHVfaW5pdF9nZW5lcmljKCk7CiAJX19tY2hlY2tfY3B1X2luaXRfdmVuZG9y KGMpOwogCV9fbWNoZWNrX2NwdV9pbml0X2NsZWFyX2JhbmtzKCk7Cg== From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from mail.linuxfoundation.org ([140.211.169.12]:45266 "EHLO mail.linuxfoundation.org" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1754724AbeCRQHu (ORCPT ); Sun, 18 Mar 2018 12:07:50 -0400 Subject: Patch "x86/mce: Init some CPU features early" has been added to the 4.9-stable tree To: Yazen.Ghannam@amd.com, alexander.levin@microsoft.com, bp@suse.de, gregkh@linuxfoundation.org, linux-edac@vger.kernel.org, tglx@linutronix.de, tony.luck@intel.com, x86@kernel.org Cc: , From: Date: Sun, 18 Mar 2018 17:06:04 +0100 Message-ID: <15213891648781@kroah.com> MIME-Version: 1.0 Content-Type: text/plain; charset=ANSI_X3.4-1968 Content-Transfer-Encoding: 8bit Sender: stable-owner@vger.kernel.org List-ID: This is a note to let you know that I've just added the patch titled x86/mce: Init some CPU features early to the 4.9-stable tree which can be found at: http://www.kernel.org/git/?p=linux/kernel/git/stable/stable-queue.git;a=summary The filename of the patch is: x86-mce-init-some-cpu-features-early.patch and it can be found in the queue-4.9 subdirectory. If you, or anyone else, feels it should not be added to the stable tree, please let know about it. >>From foo@baz Sun Mar 18 16:55:33 CET 2018 From: Yazen Ghannam Date: Wed, 15 Mar 2017 12:30:55 -0500 Subject: x86/mce: Init some CPU features early From: Yazen Ghannam [ Upstream commit 5204bf17031b69fa5faa4dc80a9dc1e2446d74f9 ] 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 Cc: Tony Luck Cc: linux-edac Cc: x86-ml 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 Signed-off-by: Thomas Gleixner Signed-off-by: Sasha Levin Signed-off-by: Greg Kroah-Hartman --- arch/x86/kernel/cpu/mcheck/mce.c | 30 ++++++++++++++++++------------ 1 file changed, 18 insertions(+), 12 deletions(-) --- a/arch/x86/kernel/cpu/mcheck/mce.c +++ b/arch/x86/kernel/cpu/mcheck/mce.c @@ -1695,30 +1695,35 @@ static int __mcheck_cpu_ancient_init(str return 0; } -static void __mcheck_cpu_init_vendor(struct cpuinfo_x86 *c) +/* + * Init basic CPU features needed for early decoding of MCEs. + */ +static void __mcheck_cpu_init_early(struct cpuinfo_x86 *c) { - switch (c->x86_vendor) { - case X86_VENDOR_INTEL: - mce_intel_feature_init(c); - mce_adjust_timer = cmci_intel_adjust_timer; - break; - - case X86_VENDOR_AMD: { + if (c->x86_vendor == X86_VENDOR_AMD) { mce_flags.overflow_recov = !!cpu_has(c, X86_FEATURE_OVERFLOW_RECOV); mce_flags.succor = !!cpu_has(c, X86_FEATURE_SUCCOR); mce_flags.smca = !!cpu_has(c, X86_FEATURE_SMCA); - /* - * Install proper ops for Scalable MCA enabled processors - */ if (mce_flags.smca) { msr_ops.ctl = smca_ctl_reg; msr_ops.status = smca_status_reg; msr_ops.addr = smca_addr_reg; msr_ops.misc = smca_misc_reg; } - mce_amd_feature_init(c); + } +} +static void __mcheck_cpu_init_vendor(struct cpuinfo_x86 *c) +{ + switch (c->x86_vendor) { + case X86_VENDOR_INTEL: + mce_intel_feature_init(c); + mce_adjust_timer = cmci_intel_adjust_timer; + break; + + case X86_VENDOR_AMD: { + mce_amd_feature_init(c); break; } @@ -1804,6 +1809,7 @@ void mcheck_cpu_init(struct cpuinfo_x86 machine_check_vector = do_machine_check; + __mcheck_cpu_init_early(c); __mcheck_cpu_init_generic(); __mcheck_cpu_init_vendor(c); __mcheck_cpu_init_clear_banks(); Patches currently in stable-queue which might be from Yazen.Ghannam@amd.com are queue-4.9/x86-mce-init-some-cpu-features-early.patch