From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: X-Cyrus-Session-Id: sloti22d1t05-1310899-1520121650-2-17945870676289450051 X-Sieve: CMU Sieve 3.0 X-Spam-known-sender: no X-Spam-score: 0.0 X-Spam-hits: BAYES_00 -1.9, HEADER_FROM_DIFFERENT_DOMAINS 0.249, RCVD_IN_DNSWL_HI -5, T_RP_MATCHES_RCVD -0.01, LANGUAGES en, BAYES_USED global, SA_VERSION 3.4.0 X-Spam-source: IP='209.132.180.67', Host='vger.kernel.org', Country='CN', FromHeader='com', MailFrom='org', XOriginatingCountry='US' X-Spam-charsets: plain='iso-8859-1' X-Resolved-to: greg@kroah.com X-Delivered-to: greg@kroah.com X-Mail-from: stable-owner@vger.kernel.org ARC-Seal: i=1; a=rsa-sha256; cv=none; d=messagingengine.com; s=arctest; t=1520121650; b=P/2hUd6glH2vRD80Itbw2tHeotHzjdp3DZD6bQMKZz2YqpY App4W+Kfo6PpqsgVEc4zX1NyZ8t/aksdN43Djaj5xSGXH9MIBPHNbiKwWwIkgS/I rRRbCq7pMRzXjocV8LB7+YR+N5+d3NEE6t2VtAN52q/4V7wNpe92Uo6+A88fN7k8 JBXd+T4V7uDdumRrIq2fKIoaGBxc2NPOx0ajmBbNPYO2uQ0mIHGLGJMb7xs3kaeY aAQQPQWi/xkAByKX1YggQEeWLsPh7d8NS4MHhp2FM6hluDe5S9mrIme4aPuZWeEr FyVL6s7RNhKw+yONyH7JE38kJbtTLTZgtv1LIRw== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d= messagingengine.com; h=from:to:cc:subject:date:message-id :references:in-reply-to:content-type:content-transfer-encoding :mime-version:sender:list-id; s=arctest; t=1520121650; bh=waKcfP ncJnv3FCnZow+CNO7hOlS0LINng4IyFMkvGpc=; b=B1zakOWmTWGczPMUm+PCmz RPgEP/vyVS3oJPD17hwpxCiwWBj9dCcg4rOAbcsKfqTh5AcXLLvFPp6QRlMwKL/l Hxm9dR9ynFyhd18uRjGC5rxL45thSqhOmkUlPrAsILpfyFvzN052pEhO4X1ctEDG OgjuVUuPgkybYUPiy4ZTpoIlwJ+Yw2BeKHK9pEKrvGP2JNOfEwo6SyZlEJL0XQOe DLpJTIZ6Rydo3pRGw8H8pPFfOdTnnGhePhYMUcM8vbhRU7B0iAavNR4/u46zbQtg 2DA8pYN+0TiXrpSV5Dofb28ucb08ErNT3mFgc/eljlbxq0/DayhwcnfHHv53dXOQ == ARC-Authentication-Results: i=1; mx1.messagingengine.com; arc=none (no signatures found); dkim=pass (1024-bit rsa key sha256) header.d=microsoft.com header.i=@microsoft.com header.b=nEwHjwY3 x-bits=1024 x-keytype=rsa x-algorithm=sha256 x-selector=selector1; dmarc=pass (p=reject,has-list-id=yes,d=none) header.from=microsoft.com; iprev=pass policy.iprev=209.132.180.67 (vger.kernel.org); spf=none smtp.mailfrom=stable-owner@vger.kernel.org smtp.helo=vger.kernel.org; x-aligned-from=fail; x-ptr=pass x-ptr-helo=vger.kernel.org x-ptr-lookup=vger.kernel.org; x-return-mx=pass smtp.domain=vger.kernel.org smtp.result=pass smtp_org.domain=kernel.org smtp_org.result=pass smtp_is_org_domain=no header.domain=microsoft.com header.result=pass header_is_org_domain=yes Authentication-Results: mx1.messagingengine.com; arc=none (no signatures found); dkim=pass (1024-bit rsa key sha256) header.d=microsoft.com header.i=@microsoft.com header.b=nEwHjwY3 x-bits=1024 x-keytype=rsa x-algorithm=sha256 x-selector=selector1; dmarc=pass (p=reject,has-list-id=yes,d=none) header.from=microsoft.com; iprev=pass policy.iprev=209.132.180.67 (vger.kernel.org); spf=none smtp.mailfrom=stable-owner@vger.kernel.org smtp.helo=vger.kernel.org; x-aligned-from=fail; x-ptr=pass x-ptr-helo=vger.kernel.org x-ptr-lookup=vger.kernel.org; x-return-mx=pass smtp.domain=vger.kernel.org smtp.result=pass smtp_org.domain=kernel.org smtp_org.result=pass smtp_is_org_domain=no header.domain=microsoft.com header.result=pass header_is_org_domain=yes Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S933786AbeCDAAp (ORCPT ); Sat, 3 Mar 2018 19:00:45 -0500 Received: from mail-co1nam03on0109.outbound.protection.outlook.com ([104.47.40.109]:6764 "EHLO NAM03-CO1-obe.outbound.protection.outlook.com" rhost-flags-OK-OK-OK-FAIL) by vger.kernel.org with ESMTP id S933773AbeCCWcG (ORCPT ); Sat, 3 Mar 2018 17:32:06 -0500 From: Sasha Levin To: "linux-kernel@vger.kernel.org" , "stable@vger.kernel.org" CC: Yazen Ghannam , Tony Luck , linux-edac , x86-ml , Borislav Petkov , Thomas Gleixner , Sasha Levin Subject: [PATCH AUTOSEL for 4.9 041/219] x86/mce: Init some CPU features early Thread-Topic: [PATCH AUTOSEL for 4.9 041/219] x86/mce: Init some CPU features early Thread-Index: AQHTsz7u9WLtG+6wjUSePl5zHWtMqQ== Date: Sat, 3 Mar 2018 22:28:19 +0000 Message-ID: <20180303222716.26640-41-alexander.levin@microsoft.com> References: <20180303222716.26640-1-alexander.levin@microsoft.com> In-Reply-To: <20180303222716.26640-1-alexander.levin@microsoft.com> Accept-Language: en-US Content-Language: en-US X-MS-Has-Attach: X-MS-TNEF-Correlator: x-originating-ip: [52.168.54.252] x-ms-publictraffictype: Email x-microsoft-exchange-diagnostics: 1;MW2PR2101MB1083;7:xeqXUFfvBZ+G7aB3tkQFlvu6FqUf/REZUBG0r//N/wum4C8zjGwYJhY2mj0ms4ixDpgXhjqGUIXcXqHQm/NuniMmLwcOGp0MOC/7kzXlUuoGa9ffF7VcfYtQq0f7LTGgvGXdYYB7pD0Ja3Wg03psUhhCTovWwOh/0FL0OlT72kfSjVbjLEGztwvih05PxA3f1a1gQvrdC+9a8CijGcVITYRttDCo1+ZEbNsS+rhugqY+vl89jRHQRKTcXTHd8ef4 x-ms-office365-filtering-ht: Tenant x-ms-office365-filtering-correlation-id: 47092bb4-dee3-4984-4ee4-08d5815695f1 x-microsoft-antispam: UriScan:;BCL:0;PCL:0;RULEID:(7020095)(4652020)(48565401081)(5600026)(4604075)(3008032)(4534165)(4627221)(201703031133081)(201702281549075)(2017052603307)(7193020);SRVR:MW2PR2101MB1083; x-ms-traffictypediagnostic: MW2PR2101MB1083: authentication-results: spf=none (sender IP is ) smtp.mailfrom=Alexander.Levin@microsoft.com; x-microsoft-antispam-prvs: x-exchange-antispam-report-test: UriScan:(28532068793085)(89211679590171)(9452136761055)(767451399110)(42068640409301)(228905959029699); x-exchange-antispam-report-cfa-test: BCL:0;PCL:0;RULEID:(8211001083)(61425038)(6040501)(2401047)(8121501046)(5005006)(93006095)(93001095)(10201501046)(3231220)(944501244)(52105095)(3002001)(6055026)(61426038)(61427038)(6041288)(20161123562045)(20161123558120)(20161123564045)(20161123560045)(201703131423095)(201702281528075)(20161123555045)(201703061421075)(201703061406153)(6072148)(201708071742011);SRVR:MW2PR2101MB1083;BCL:0;PCL:0;RULEID:;SRVR:MW2PR2101MB1083; x-forefront-prvs: 0600F93FE1 x-forefront-antispam-report: SFV:NSPM;SFS:(10019020)(376002)(39860400002)(39380400002)(396003)(346002)(366004)(189003)(199004)(106356001)(53936002)(316002)(305945005)(7736002)(3280700002)(107886003)(2906002)(8666007)(6512007)(6436002)(97736004)(3660700001)(6306002)(6486002)(99286004)(81166006)(8936002)(81156014)(76176011)(8676002)(25786009)(2950100002)(6506007)(4326008)(110136005)(5250100002)(54906003)(36756003)(575784001)(105586002)(6116002)(6666003)(22452003)(86612001)(10090500001)(186003)(68736007)(26005)(2900100001)(86362001)(66066001)(102836004)(3846002)(14454004)(478600001)(72206003)(10290500003)(5660300001)(1076002)(966005)(2501003)(22906009)(217873001)(309714004);DIR:OUT;SFP:1102;SCL:1;SRVR:MW2PR2101MB1083;H:MW2PR2101MB1034.namprd21.prod.outlook.com;FPR:;SPF:None;PTR:InfoNoRecords;MX:1;A:1;LANG:en; x-microsoft-antispam-message-info: wCr4m5GeVKwYPm/MUogIqcioPZtUIcGsSzxxG+FfmL6PB9mZExNGQ79Ry+L5HR0+z49PZe99JH5wKZhtoOXzd2cBvVaqWCiIM/dJv+p/rv3963D0Dlzxb8xeSx56fPyzsDTdUG7wWxyegzNWbZ3kBB1NlA6PP46tJzs6bZ/SZpo= spamdiagnosticoutput: 1:99 spamdiagnosticmetadata: NSPM Content-Type: text/plain; charset="iso-8859-1" Content-Transfer-Encoding: quoted-printable MIME-Version: 1.0 X-OriginatorOrg: microsoft.com X-MS-Exchange-CrossTenant-Network-Message-Id: 47092bb4-dee3-4984-4ee4-08d5815695f1 X-MS-Exchange-CrossTenant-originalarrivaltime: 03 Mar 2018 22:28:19.6037 (UTC) X-MS-Exchange-CrossTenant-fromentityheader: Hosted X-MS-Exchange-CrossTenant-id: 72f988bf-86f1-41af-91ab-2d7cd011db47 X-MS-Exchange-Transport-CrossTenantHeadersStamped: MW2PR2101MB1083 Sender: stable-owner@vger.kernel.org X-Mailing-List: stable@vger.kernel.org X-getmail-retrieved-from-mailbox: INBOX X-Mailing-List: linux-kernel@vger.kernel.org List-ID: 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.Ghan= nam@amd.com [ Massage commit message and simplify. ] Signed-off-by: Borislav Petkov Signed-off-by: Thomas Gleixner Signed-off-by: Sasha Levin --- arch/x86/kernel/cpu/mcheck/mce.c | 30 ++++++++++++++++++------------ 1 file changed, 18 insertions(+), 12 deletions(-) diff --git a/arch/x86/kernel/cpu/mcheck/mce.c b/arch/x86/kernel/cpu/mcheck/= mce.c index b0cc7bd26ab5..dc39f5ace024 100644 --- a/arch/x86/kernel/cpu/mcheck/mce.c +++ b/arch/x86/kernel/cpu/mcheck/mce.c @@ -1692,30 +1692,35 @@ static int __mcheck_cpu_ancient_init(struct cpuinfo= _x86 *c) return 0; } =20 -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 =3D cmci_intel_adjust_timer; - break; - - case X86_VENDOR_AMD: { + if (c->x86_vendor =3D=3D X86_VENDOR_AMD) { mce_flags.overflow_recov =3D !!cpu_has(c, X86_FEATURE_OVERFLOW_RECOV); mce_flags.succor =3D !!cpu_has(c, X86_FEATURE_SUCCOR); mce_flags.smca =3D !!cpu_has(c, X86_FEATURE_SMCA); =20 - /* - * Install proper ops for Scalable MCA enabled processors - */ if (mce_flags.smca) { msr_ops.ctl =3D smca_ctl_reg; msr_ops.status =3D smca_status_reg; msr_ops.addr =3D smca_addr_reg; msr_ops.misc =3D smca_misc_reg; } - mce_amd_feature_init(c); + } +} =20 +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 =3D cmci_intel_adjust_timer; + break; + + case X86_VENDOR_AMD: { + mce_amd_feature_init(c); break; } =20 @@ -1801,6 +1806,7 @@ void mcheck_cpu_init(struct cpuinfo_x86 *c) =20 machine_check_vector =3D do_machine_check; =20 + __mcheck_cpu_init_early(c); __mcheck_cpu_init_generic(); __mcheck_cpu_init_vendor(c); __mcheck_cpu_init_clear_banks(); --=20 2.14.1 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: [AUTOSEL,for,4.9,041/219] x86/mce: Init some CPU features early From: Sasha Levin Message-Id: <20180303222716.26640-41-alexander.levin@microsoft.com> Date: Sat, 3 Mar 2018 22:28:19 +0000 To: "linux-kernel@vger.kernel.org" , "stable@vger.kernel.org" Cc: Yazen Ghannam , Tony Luck , linux-edac , x86-ml , Borislav Petkov , Thomas Gleixner , Sasha Levin List-ID: RnJvbTogWWF6ZW4gR2hhbm5hbSA8WWF6ZW4uR2hhbm5hbUBhbWQuY29tPgoKWyBVcHN0cmVhbSBj b21taXQgNTIwNGJmMTcwMzFiNjlmYTVmYWE0ZGM4MGE5ZGMxZTI0NDZkNzRmOSBdCgpXaGVuIHRo ZSBNQ0EgYmFua3MgaW4gX19tY2hlY2tfY3B1X2luaXRfZ2VuZXJpYygpIGFyZSBwb2xsZWQgZm9y IGxlZnRvdmVyCmVycm9ycyBsb2dnZWQgZHVyaW5nIGJvb3Qgb3IgZnJvbSB0aGUgcHJldmlvdXMg Ym9vdCwgaXRzIHJlcXVpcmVkIHRvIGhhdmUKQ1BVIGZlYXR1cmVzIGRldGVjdGVkIHN1ZmZpY2ll bnRseSBzbyB0aGF0IHRoZSByZWFkaW5nIG91dCBhbmQgaGFuZGxpbmcgb2YKdGhvc2UgZWFybHkg ZXJyb3JzIGlzIGRvbmUgY29ycmVjdGx5LgoKSWYgdGhvc2UgZmVhdHVyZXMgYXJlIG5vdCBhdmFp bGFibGUsIHRoZSBkZWNvZGluZyBtYXkgbWlzcyBzb21lIGluZm9ybWF0aW9uCmFuZCBnZXQgaW5j b21wbGV0ZSBlcnJvcnMgbG9nZ2VkLiBGb3IgZXhhbXBsZSwgb24gU01DQSBzeXN0ZW1zIHRoZSBN Q0FfSVBJRAphbmQgTUNBX1NZTkQgcmVnaXN0ZXJzIGFyZSBub3QgbG9nZ2VkIGFuZCBNQ0FfQURE UiBpcyBub3QgbWFza2VkCmFwcHJvcHJpYXRlbHkuCgpUbyBjdXJlIHRoYXQsIGRvIGEgc3Vic2V0 IG9mIHRoZSBiYXNpYyBmZWF0dXJlIGRldGVjdGlvbiBlYXJseSB3aGlsZSB0aGUKcmVzdCBoYXBw ZW5zIGluIGl0cyB1c3VhbCBwbGFjZSBpbiBfX21jaGVja19jcHVfaW5pdF92ZW5kb3IoKS4KClNp Z25lZC1vZmYtYnk6IFlhemVuIEdoYW5uYW0gPFlhemVuLkdoYW5uYW1AYW1kLmNvbT4KQ2M6IFRv bnkgTHVjayA8dG9ueS5sdWNrQGludGVsLmNvbT4KQ2M6IGxpbnV4LWVkYWMgPGxpbnV4LWVkYWNA dmdlci5rZXJuZWwub3JnPgpDYzogeDg2LW1sIDx4ODZAa2VybmVsLm9yZz4KTGluazogaHR0cDov L2xrbWwua2VybmVsLm9yZy9yLzE0ODk1OTkwNTUtMjA3NTYtMS1naXQtc2VuZC1lbWFpbC1ZYXpl bi5HaGFubmFtQGFtZC5jb20KWyBNYXNzYWdlIGNvbW1pdCBtZXNzYWdlIGFuZCBzaW1wbGlmeS4g XQpTaWduZWQtb2ZmLWJ5OiBCb3Jpc2xhdiBQZXRrb3YgPGJwQHN1c2UuZGU+ClNpZ25lZC1vZmYt Ynk6IFRob21hcyBHbGVpeG5lciA8dGdseEBsaW51dHJvbml4LmRlPgpTaWduZWQtb2ZmLWJ5OiBT YXNoYSBMZXZpbiA8YWxleGFuZGVyLmxldmluQG1pY3Jvc29mdC5jb20+Ci0tLQogYXJjaC94ODYv a2VybmVsL2NwdS9tY2hlY2svbWNlLmMgfCAzMCArKysrKysrKysrKysrKysrKystLS0tLS0tLS0t LS0KIDEgZmlsZSBjaGFuZ2VkLCAxOCBpbnNlcnRpb25zKCspLCAxMiBkZWxldGlvbnMoLSkKCmRp ZmYgLS1naXQgYS9hcmNoL3g4Ni9rZXJuZWwvY3B1L21jaGVjay9tY2UuYyBiL2FyY2gveDg2L2tl cm5lbC9jcHUvbWNoZWNrL21jZS5jCmluZGV4IGIwY2M3YmQyNmFiNS4uZGMzOWY1YWNlMDI0IDEw MDY0NAotLS0gYS9hcmNoL3g4Ni9rZXJuZWwvY3B1L21jaGVjay9tY2UuYworKysgYi9hcmNoL3g4 Ni9rZXJuZWwvY3B1L21jaGVjay9tY2UuYwpAQCAtMTY5MiwzMCArMTY5MiwzNSBAQCBzdGF0aWMg aW50IF9fbWNoZWNrX2NwdV9hbmNpZW50X2luaXQoc3RydWN0IGNwdWluZm9feDg2ICpjKQogCXJl dHVybiAwOwogfQogCi1zdGF0aWMgdm9pZCBfX21jaGVja19jcHVfaW5pdF92ZW5kb3Ioc3RydWN0 IGNwdWluZm9feDg2ICpjKQorLyoKKyAqIEluaXQgYmFzaWMgQ1BVIGZlYXR1cmVzIG5lZWRlZCBm b3IgZWFybHkgZGVjb2Rpbmcgb2YgTUNFcy4KKyAqLworc3RhdGljIHZvaWQgX19tY2hlY2tfY3B1 X2luaXRfZWFybHkoc3RydWN0IGNwdWluZm9feDg2ICpjKQogewotCXN3aXRjaCAoYy0+eDg2X3Zl bmRvcikgewotCWNhc2UgWDg2X1ZFTkRPUl9JTlRFTDoKLQkJbWNlX2ludGVsX2ZlYXR1cmVfaW5p dChjKTsKLQkJbWNlX2FkanVzdF90aW1lciA9IGNtY2lfaW50ZWxfYWRqdXN0X3RpbWVyOwotCQli cmVhazsKLQotCWNhc2UgWDg2X1ZFTkRPUl9BTUQ6IHsKKwlpZiAoYy0+eDg2X3ZlbmRvciA9PSBY ODZfVkVORE9SX0FNRCkgewogCQltY2VfZmxhZ3Mub3ZlcmZsb3dfcmVjb3YgPSAhIWNwdV9oYXMo YywgWDg2X0ZFQVRVUkVfT1ZFUkZMT1dfUkVDT1YpOwogCQltY2VfZmxhZ3Muc3VjY29yCSA9ICEh Y3B1X2hhcyhjLCBYODZfRkVBVFVSRV9TVUNDT1IpOwogCQltY2VfZmxhZ3Muc21jYQkJID0gISFj cHVfaGFzKGMsIFg4Nl9GRUFUVVJFX1NNQ0EpOwogCi0JCS8qCi0JCSAqIEluc3RhbGwgcHJvcGVy IG9wcyBmb3IgU2NhbGFibGUgTUNBIGVuYWJsZWQgcHJvY2Vzc29ycwotCQkgKi8KIAkJaWYgKG1j ZV9mbGFncy5zbWNhKSB7CiAJCQltc3Jfb3BzLmN0bAk9IHNtY2FfY3RsX3JlZzsKIAkJCW1zcl9v cHMuc3RhdHVzCT0gc21jYV9zdGF0dXNfcmVnOwogCQkJbXNyX29wcy5hZGRyCT0gc21jYV9hZGRy X3JlZzsKIAkJCW1zcl9vcHMubWlzYwk9IHNtY2FfbWlzY19yZWc7CiAJCX0KLQkJbWNlX2FtZF9m ZWF0dXJlX2luaXQoYyk7CisJfQorfQogCitzdGF0aWMgdm9pZCBfX21jaGVja19jcHVfaW5pdF92 ZW5kb3Ioc3RydWN0IGNwdWluZm9feDg2ICpjKQoreworCXN3aXRjaCAoYy0+eDg2X3ZlbmRvcikg eworCWNhc2UgWDg2X1ZFTkRPUl9JTlRFTDoKKwkJbWNlX2ludGVsX2ZlYXR1cmVfaW5pdChjKTsK KwkJbWNlX2FkanVzdF90aW1lciA9IGNtY2lfaW50ZWxfYWRqdXN0X3RpbWVyOworCQlicmVhazsK KworCWNhc2UgWDg2X1ZFTkRPUl9BTUQ6IHsKKwkJbWNlX2FtZF9mZWF0dXJlX2luaXQoYyk7CiAJ CWJyZWFrOwogCQl9CiAKQEAgLTE4MDEsNiArMTgwNiw3IEBAIHZvaWQgbWNoZWNrX2NwdV9pbml0 KHN0cnVjdCBjcHVpbmZvX3g4NiAqYykKIAogCW1hY2hpbmVfY2hlY2tfdmVjdG9yID0gZG9fbWFj aGluZV9jaGVjazsKIAorCV9fbWNoZWNrX2NwdV9pbml0X2Vhcmx5KGMpOwogCV9fbWNoZWNrX2Nw dV9pbml0X2dlbmVyaWMoKTsKIAlfX21jaGVja19jcHVfaW5pdF92ZW5kb3IoYyk7CiAJX19tY2hl Y2tfY3B1X2luaXRfY2xlYXJfYmFua3MoKTsK