From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1753172AbdLAPvC (ORCPT ); Fri, 1 Dec 2017 10:51:02 -0500 Received: from mail-by2nam01on0041.outbound.protection.outlook.com ([104.47.34.41]:23607 "EHLO NAM01-BY2-obe.outbound.protection.outlook.com" rhost-flags-OK-OK-OK-FAIL) by vger.kernel.org with ESMTP id S1752143AbdLAPu6 (ORCPT ); Fri, 1 Dec 2017 10:50:58 -0500 From: Yazen Ghannam To: linux-edac@vger.kernel.org Cc: Yazen Ghannam , Borislav Petkov , Tony Luck , x86@kernel.org, linux-kernel@vger.kernel.org Subject: [PATCH 1/2] x86/mce/AMD: Define function to get SMCA bank type Date: Fri, 1 Dec 2017 09:50:33 -0600 Message-Id: <20171201155034.39206-1-Yazen.Ghannam@amd.com> X-Mailer: git-send-email 2.14.1 MIME-Version: 1.0 Content-Type: text/plain X-Originating-IP: [165.204.78.1] X-ClientProxiedBy: BN6PR08CA0061.namprd08.prod.outlook.com (10.172.144.23) To MWHPR1201MB0143.namprd12.prod.outlook.com (10.174.98.146) X-MS-PublicTrafficType: Email X-MS-Office365-Filtering-HT: Tenant X-MS-Office365-Filtering-Correlation-Id: aa488f67-b8fb-4d60-6330-08d538d34f32 X-Microsoft-Antispam: UriScan:;BCL:0;PCL:0;RULEID:(4534020)(4602075)(4627115)(201703031133081)(201702281549075)(48565401081)(5600026)(4604075)(2017052603286);SRVR:MWHPR1201MB0143; X-Microsoft-Exchange-Diagnostics: 1;MWHPR1201MB0143;3:dNFjypg48xmAp1SCeT1KP+0vqN2yBs2sV1zGhLvz4B1+kF7xr6gyN+Ak/Xxzhu+Z2fiAtyE7n0EPa4O3nT/I7rnRZR4E+6CdqXKnh1+yJYI63prjaEjDgyT21UkQmhwT9ZTP007ITJLR9VqCmFAXk80iV4w0tHzVvjYwlRbriD1VsR6Efx4DPqALH0ur2Ezyj5bfLrjBxoKJxDRTD+TxMPwut8k76aLJMm4c7AZ9Mdu0iOfxHa2eY5eWsIF+lQh2;25:lFrk6bS3AZg7YVzKmmzM8cF9LGZp4qBO+vE/4Gg4g7WVpbtR++2c/nxkKxsL1JeyZVquEDFUGpuTDvd/aacNDeyhDSFs0AtcXCAAO56uKX89uIJEEsm9b3orKsiZVa+BdZ9xKj4PL80gzKbC1NpPvvWy3EhhUZ0baoApHy+NcOmkXW5JB2KSUgVxvDs51NBImloLLW1oiSgjUquUylkejkvCGMeFAwCutROIeo7bzUAospSddS4oeqnO6f9XuU1putZBvKVp+6c18KS5LiSEHY8Vg2WM+zQUSFTu94HB4WBFg6BjsLcXyXld7djKROvoZ4Y6KGjrygge3t8pgclTJQ==;31:imUxUzSMvr4+cd/rDZl90rEBJptcxabJcTWdmDETygra3GiYEg61KvG2vVsHbp5Z0LiD4jnPBY1/gAu2fIafqylYv2gMQyojnVmTMZTxXtEcZaMu/yVEjPZUtaU7S1/yVQn4/VRd18uAME0KKZ2hxgb0NYHzMJXS9+XmGDwf3rLwe1tlln9EjNqY+gPIYSqbIbH8VRmg1wOvGPydvMYTCwTp0w2a/MvHTJwOia16FFQ= X-MS-TrafficTypeDiagnostic: MWHPR1201MB0143: X-Microsoft-Exchange-Diagnostics: 1;MWHPR1201MB0143;20:U2Z8IMuqoU60HTT3GUY3Cnwm0Ez2mha5Zx4mWM3Vy162lK5eJ9ntvjmlxSf/evEacTCXF5Trer/kQl3zl8Wzmw08ywAdC3462XUJ+Ltl5GVwzwKf5HGZn/7v0X8/vghYZrE+rU8E9QHheOTwEnafaPdFc2FMtZPxaT1az5QzzDi4bFUxcwQ2peSOyJ89UQ798arY9HHVaUTKx4oRnelaZzXSUzEEMUaIdxkUi7N4TFzO2GgtCw7dY8zSHp12RsbvUtWkwqmOHftlTMF7z2W12QpmH4FR/i+xBjEhmWVOIlCUk7wXHYz82o1rNAKpIE5t3hAmG8Pdu0zujuerMDvfQaTVxrQ/HmW+d7RY1ifBe2dMJghgqS+WSfeOxJ5x0NIkDOBKY+/99XIs//IBfFn9bya4iy1GqUVnsHBFmIKXpV674e06O1cOa6Rj+nLtQhk3gN3+8OetWWphHtTHJ5z8PjGABgm35SCNSRpNi3RNz59lpPdpcy2PAqSTrcA8YeJf;4:ftbGoPx2FdUTXyha99GwNq9eT5r1Ce5kDYZorOwa9rT8Ee3G5IaYxg5LnkXjkX9rXTofUegwffjDLTmRcGSTU8zpsAw04rbCcKhdiqXuJPe0I57xWtg3K33k0bVNUGnmiLrLCSrbMaUSFc6zpXvwmeNyMpzt9/dN6Catiwq0ggzMn4DfyffW3AoADxvHme1Vkb92kN0BFFY0iHNMKOdWdJD6bTL+SPSBZIoQPiDpL4fayPuQSdAf46L/EChdUnMtvVLX4P8f3uka7HyLjOZNCW3vjiVP5ZbTD69fiygQIL6YeiTuZ1fo7jV+/ERcea5B X-Microsoft-Antispam-PRVS: X-Exchange-Antispam-Report-Test: UriScan:(767451399110); X-Exchange-Antispam-Report-CFA-Test: BCL:0;PCL:0;RULEID:(6040450)(2401047)(5005006)(8121501046)(10201501046)(3231022)(3002001)(93006095)(93001095)(6055026)(6041248)(20161123560025)(20161123555025)(20161123558100)(20161123564025)(20161123562025)(201703131423075)(201702281528075)(201703061421075)(201703061406153)(6072148)(201708071742011);SRVR:MWHPR1201MB0143;BCL:0;PCL:0;RULEID:(100000803101)(100110400095);SRVR:MWHPR1201MB0143; X-Forefront-PRVS: 05087F0C24 X-Forefront-Antispam-Report: SFV:NSPM;SFS:(10009020)(6009001)(376002)(346002)(366004)(39860400002)(199003)(189002)(7736002)(7696005)(2906002)(50226002)(66066001)(54906003)(305945005)(51416003)(47776003)(16586007)(8936002)(4326008)(15650500001)(68736007)(52116002)(316002)(72206003)(16526018)(6486002)(97736004)(50466002)(48376002)(6916009)(81166006)(105586002)(53416004)(1076002)(189998001)(8676002)(6666003)(101416001)(106356001)(36756003)(53936002)(5660300001)(86362001)(2351001)(478600001)(25786009)(3846002)(6116002)(81156014)(2361001);DIR:OUT;SFP:1101;SCL:1;SRVR:MWHPR1201MB0143;H:yaz-diesel.amd.com;FPR:;SPF:None;PTR:InfoNoRecords;A:1;MX:1;LANG:en; Authentication-Results: spf=none (sender IP is ) smtp.mailfrom=Yazen.Ghannam@amd.com; X-Microsoft-Exchange-Diagnostics: =?us-ascii?Q?1;MWHPR1201MB0143;23:IUzk7XfwbR5zn1IzOAMF3XlRUOZ8Hm/6ss8ugCr?= =?us-ascii?Q?QAzW+NJe/CBUyWBdxX16lTgwAdXSAcJkMP/su4di8ByokdiXM31ritXV6LZ+?= =?us-ascii?Q?Z2X6eLxY1YD/zO1JI6ghZvM9m0U8AmMfFPfTlwFmoN2mbodytJo2zQi6QExx?= =?us-ascii?Q?9wzcisLGrrV1ehmRkelBLfYFM8IqlkfHL2DDbqYig7wd8zJNgdPXvOdSG8NP?= =?us-ascii?Q?j9LczyqoEqrESvXsw0fpEJdbhIQO6VwhsRJ/VG0X9VndtB/P5p9pyq7taelF?= =?us-ascii?Q?Htm7Po43fB3li/bA0I+q7znsvXRNB6KG18U7VrllwQwaSOH1X0beXGlUnmcv?= =?us-ascii?Q?9x0wofduVWS5MBg3qJ+BiQprgKBAcvpfOEKZqkknkGWzfjPmwVDYAVUzuFKY?= =?us-ascii?Q?+ljYiehMhXXNWgFOlA00pJ0xk9yYXPwFmTDRv/TmdywfFpTJPH7B3HR162z0?= =?us-ascii?Q?YrL+N0dNa/hat4ZOxs0efcvQwfLAhtMUW596d2wNjBynbThT4ZtwpIu3PjSv?= =?us-ascii?Q?Xt61qkEIFg7M7uax+reuvApT7L39FobUN/6RG2Wael17rHawI26EjJXqCBfZ?= =?us-ascii?Q?UZiVfun1VANTmAdokIF0ICLdPjOuJLq4+1KMN639B63akpfEm63FkOZGRen+?= =?us-ascii?Q?PRpYaJq7DiSbhEiaC8gmC99t6QtCcztkKcwzFfJXIhvMZ0Rq0oHD0tJRGeUS?= =?us-ascii?Q?ESm6SLm0vcw5eL5PAtQnuddDqZjUMvtIOQzXbb8y9Ge9Z2+wGfSzm4OsoqW+?= =?us-ascii?Q?RFvwtkQIbeIxh2C82pg/bonMjGKcc/ZLUp73G0wihrT1RojnG6cge7Kd1zGv?= =?us-ascii?Q?JRsIzKst8+NjQogbnAjbLLAeiwNpeV95nYQ05cMHcajYhRa8D1n1g6zwiO/A?= =?us-ascii?Q?oNbGa2BkQH9/wcI1GnvY7gjMDq8i/NeZuQ3A1bSxInhs4mVAFEt3kjuO5OMW?= =?us-ascii?Q?mIQ1KUI8PFAZXVC1b+Q4+qGADu2OHdQ15rdWqF0cbLxJDjqZwROAD1dQ5Bkd?= =?us-ascii?Q?SogmaHYlvOKxkgfY+3h3I8tk/7LOaFI55OPglo+xyVJegL7HY93bR7AK+bGF?= =?us-ascii?Q?hr2EfuwicimvUDzm3HC9gEtZNw032OCS9klelGjjLX+sBAil0woFhQF9AAIL?= =?us-ascii?Q?dV62Sy+fUTTZ2IBtFlKEzELHviZKAiAff5JUHisEJikzJONhPcapEJw=3D?= =?us-ascii?Q?=3D?= X-Microsoft-Exchange-Diagnostics: 1;MWHPR1201MB0143;6:zfJXlj0LBSC3ew6fLMB/zt4z9+9c8PRSEzuu1axaf4Hi0PXWVQEtaBF33ud0bDpi8jnvxBwo2i9bcq1L6lP5Cr4xytKZiDHXgKYKv59L/zqZ+IYp5gIlhAtfmipd+Du0z8wzVp8JlHbAR4nAFqtoAGooz+HSIhTHyDikHF2or0iu7QlD3QGDoBJzmXZylj4gSEpAlqzpeAjBQoxIlBw9uoQG02aucby/kFGkHe28xV4nqBrOTB6itdnhdUfkv0z4kV8UTb8eMJTq5Ff30yryTAc93V/a7mr8gWFuOpo4NgQ+l7rQYAUtlICjRIHJSabJ6w0JaTuO5rYL9l97lYUf+nOOzvAzsz1jvkZPtYYghD8=;5:C1nRGC8am/hMiteiS+a0je+blBzm1tVt+WXqnUj7HsJuux/atJntnYRb59dSTKZkxxH1S+Q3BoI6d9WhiIzW+lzhazZwnfTDoZR2UIyYEjdy61qNxt5JExt+8FYloxpaNbTIWydI6HhSLmRtqwpPfYefpkgiccdmVuCvrbZHSho=;24:HXaN0T0gUvZLMUcFlAJt7MSGwa2PHoHBGdFIHiE/9URLQUU8OfA4bVsWh3/vEgbRJR3P14RMmAhufLjQoFB4gAlaovgxmIOAfB7ZHnSg1XU=;7:mjjZ3qNPVDpRVTYzGjNysQwe7SzgYCMFf8tcVy5jAJjmyVUjsmRXQhWh9M5Pt7YRgdfTL4Cfx3A/N2AMTMalxrr5iJg5A8ZyfrPbguQT0wojjGHDypEm2WxFtHpDusnjXfiWahVUsGRDo386wMW55Qxx+PjZ3Up2UYVhpFImEcMU/dF04MPWHD22qJP4kXdosEo3L5gX/lgaQS1I2a81Yekkc8JjgQoxvLXXs6fpvQlrjdgt7vHMVFQ8pt/F0VCB SpamDiagnosticOutput: 1:99 SpamDiagnosticMetadata: NSPM X-Microsoft-Exchange-Diagnostics: 1;MWHPR1201MB0143;20:A+YUnZ8uaUV8P4gUiix9XPLMey8JDAfgweryLn78j9Cflr23mB7ltJVY67ZKgKeO320tKoXR4O21CIxWwKIVS+ZeHP4ydxcjt0oBggSLltoyNnAem7I1gVdqOyy2spAuBXaVHIIeZiG0oZYNbDV2bimtKCI7x+u7kYdlCcQt1yYO6lKPNoC1cp2wM+vQlVZEgDd47lq8P4KcLW6iRy0vc62aEHCpnFLlJUQwmY3nC0fp5ClhxvrHCWyev+jnwUiT X-OriginatorOrg: amd.com X-MS-Exchange-CrossTenant-OriginalArrivalTime: 01 Dec 2017 15:50:54.9656 (UTC) X-MS-Exchange-CrossTenant-Network-Message-Id: aa488f67-b8fb-4d60-6330-08d538d34f32 X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted X-MS-Exchange-CrossTenant-Id: 3dd8961f-e488-4e60-8e11-a82d994e183d X-MS-Exchange-Transport-CrossTenantHeadersStamped: MWHPR1201MB0143 Sender: linux-kernel-owner@vger.kernel.org List-ID: X-Mailing-List: linux-kernel@vger.kernel.org From: Yazen Ghannam Scalable MCA systems have various types of banks. The bank's type can determine how we handle errors from it. For example, if a bank represents a UMC then we will need to convert its address from a normalized address to a system physical address before handling the error. Define an exported function to return a bank's SMCA type. Signed-off-by: Yazen Ghannam --- arch/x86/include/asm/mce.h | 1 + arch/x86/kernel/cpu/mcheck/mce_amd.c | 11 +++++++++++ 2 files changed, 12 insertions(+) diff --git a/arch/x86/include/asm/mce.h b/arch/x86/include/asm/mce.h index b1e8d8db921f..9ab8bf32e61c 100644 --- a/arch/x86/include/asm/mce.h +++ b/arch/x86/include/asm/mce.h @@ -376,6 +376,7 @@ struct smca_bank { extern struct smca_bank smca_banks[MAX_NR_BANKS]; extern const char *smca_get_long_name(enum smca_bank_types t); +extern unsigned int smca_get_bank_type(struct mce *m); extern int mce_threshold_create_device(unsigned int cpu); extern int mce_threshold_remove_device(unsigned int cpu); diff --git a/arch/x86/kernel/cpu/mcheck/mce_amd.c b/arch/x86/kernel/cpu/mcheck/mce_amd.c index a38ab1fa53a2..bc0510a4f6c0 100644 --- a/arch/x86/kernel/cpu/mcheck/mce_amd.c +++ b/arch/x86/kernel/cpu/mcheck/mce_amd.c @@ -110,6 +110,17 @@ const char *smca_get_long_name(enum smca_bank_types t) } EXPORT_SYMBOL_GPL(smca_get_long_name); +unsigned int smca_get_bank_type(struct mce *m) +{ + struct smca_bank bank = smca_banks[m->bank]; + + if (!bank.hwid) + return N_SMCA_BANK_TYPES; + + return bank.hwid->bank_type; +} +EXPORT_SYMBOL_GPL(smca_get_bank_type); + static struct smca_hwid smca_hwid_mcatypes[] = { /* { bank_type, hwid_mcatype, xec_bitmap } */ -- 2.14.1