From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1755674AbcBWW4t (ORCPT ); Tue, 23 Feb 2016 17:56:49 -0500 Received: from mail-by2on0056.outbound.protection.outlook.com ([207.46.100.56]:60480 "EHLO na01-by2-obe.outbound.protection.outlook.com" rhost-flags-OK-OK-OK-FAIL) by vger.kernel.org with ESMTP id S1751069AbcBWW4r (ORCPT ); Tue, 23 Feb 2016 17:56:47 -0500 Authentication-Results: linux.intel.com; dkim=none (message not signed) header.d=none;linux.intel.com; dmarc=none action=none header.from=amd.com; Subject: Re: [PATCH 2/4] x86/mce/AMD: Fix logic to obtain block address To: Borislav Petkov References: <1455659111-32074-1-git-send-email-Aravind.Gopalakrishnan@amd.com> <1455659111-32074-3-git-send-email-Aravind.Gopalakrishnan@amd.com> <20160223123907.GD3673@pd.tnic> CC: , , , , , , , , , , , , , , From: Aravind Gopalakrishnan Message-ID: <56CCE3A6.3020406@amd.com> Date: Tue, 23 Feb 2016 16:56:38 -0600 User-Agent: Mozilla/5.0 (Macintosh; Intel Mac OS X 10.11; rv:38.0) Gecko/20100101 Thunderbird/38.3.0 MIME-Version: 1.0 In-Reply-To: <20160223123907.GD3673@pd.tnic> Content-Type: text/plain; charset="utf-8"; format=flowed Content-Transfer-Encoding: 7bit X-Originating-IP: [165.204.77.1] X-ClientProxiedBy: SN2PR10CA0003.namprd10.prod.outlook.com (25.160.12.141) To BY1PR12MB0423.namprd12.prod.outlook.com (25.162.147.12) X-MS-Office365-Filtering-Correlation-Id: a9e3b515-5fcc-413f-1d0e-08d33ca49a29 X-Microsoft-Exchange-Diagnostics: 1;BY1PR12MB0423;2:Ff7CCVIsG3RP7MIiPnODYjralN7dknqpPt3q7+jn4t04bExM00FZc0DBDtRV+Ms8ZoyDyeLcRCzMwfr6tmRZm06gJGPTzsfIvU4Lu01/EDIVbEjxo4L53IdH7nS3t+lIRfeSTerv0dg5JJzbNnExfGouZjnDxP/KVxChJJqf/FE9HhWWF1r6TdUAzVkRHcjI;3:8Kv0kg0iztiuD+A9H8AoGRNBbM071UhVOBfndQDtK0bta1s3eWW/yIC824pcdcP4yEhDdx/6vwY+5k6f4+4/FS93474axiWSNYM95echYD8s/pA0BLZyRKQ7X2NzE3DY;25:nWXz6CO7hPXAZKy8zBBEusr+6hxHYEtRptitEUlbDInWy37GadDvrvZVAhOIcpH7sqa3WEbMoXtYPccXUl1x82f0MRz5wU3rUgAmbJOzLUFVM2/QaQbFWsz63NuOHEyDx3lfh+epW7sHt55Bv9mD1xdkw07tmIuSqIQCV/EvHebWcIMsJ+HQY4+tiMeLxrw0PBBoqa3BYFMrPNHO83jBeOwBkkhjCGGxhZNyxXRDklylv9cEqMwAyiYntRR7kdnQ/cRdppMeAhs6taCfjl+iRTwrcAgwxq64NZjBH+lKQkErtjhWYVfytnNQ7VP4g1J+mzkhTEMVb+mynf0zwZM21eG6vFtpAj5cap108GIN4A4= X-Microsoft-Antispam: UriScan:;BCL:0;PCL:0;RULEID:;SRVR:BY1PR12MB0423; X-Microsoft-Exchange-Diagnostics: 1;BY1PR12MB0423;20:0u+jsC/9wvB9wIzd5rdzfNU2n3wde1CartKK89+Z8oBIAN4JVku0tFUdlG9eVINb9Zwmb3Sp5dmajS8D1VbSUQUYuE88U04uKLVkQ/bD62PwtuFjKLJ9vZ4sUctUH+q2mTQ5A2yhDvCBAnLES05NsRW3A4+nW/slFkEyjvNL80HRaIV9i7y2XxhtANx2P3RI/nh2CRcqm6eEZCMwpmzX9Fkuy8H+xaib+R1Jqt43pKTm9cIgeNyRP/p6soBaoinwbm1+OjWJicWHl0A1yG2oBrUW7+og9Y4LtI6sRq4pJtjscM/0Dt0Yzm77A+Y41n2/HHMDHtqtI6w6mupNWLKfr+6Z/m2TL1fCHNP7I5l4cF+S6qwikVOWv1g76ZxNUYabHalxmXi4iFyOR2IEbaPCacaByst9FLRvX227AkWRRpdjHhndO4FnRrVzTAeTgca4P1ECUFx3pAm7qC6BhDuFjqACoxGnHoUjA1ysnX9bGk9sgrROzb/yGhFz8qjBWwYY;4:nT+Ff1HMo03IS07UuKfVFfgpQVQmPOBPh7xo5jVbFIxbBjXN274kO6Ha4KZpZlK/6TeVCFCZ8adx7Ll5Dw/Xf3XiWeSXhIfujmUTCuajRCk50w94zwxYa6OPtjhVvBGRxwu91yefezMWvhFTH5W65oD5qgM2QqX4Abla6/mGWBBHqCV/5pqbDtd8+9K5dY/yYvvo7MFP9FMwxNbt9S1vbwAskSDp8jUDRZYPyrfrU+UMDgf9BKB/jYglrSsG/N1uZZNk00u8yOQ9BIlvhQMMDQvARj0fQfD+v8wNvdV3n7tojMcTMuojII4nZqlmR1B1IN5WY66Robjp4JRGtaxBoMzAcHmZoeVIIj2crANKHMorg2nUOf+EcQfGJiNHhdUd X-Microsoft-Antispam-PRVS: X-Exchange-Antispam-Report-Test: UriScan:; X-Exchange-Antispam-Report-CFA-Test: BCL:0;PCL:0;RULEID:(601004)(2401047)(5005006)(8121501046)(10201501046)(3002001);SRVR:BY1PR12MB0423;BCL:0;PCL:0;RULEID:;SRVR:BY1PR12MB0423; X-Forefront-PRVS: 08617F610C X-Forefront-Antispam-Report: SFV:NSPM;SFS:(10009020)(4630300001)(6009001)(164054003)(377454003)(24454002)(479174004)(87266999)(50986999)(122386002)(92566002)(76176999)(23676002)(54356999)(5004730100002)(65816999)(86362001)(87976001)(40100003)(3846002)(47776003)(5008740100001)(230700001)(6116002)(65956001)(66066001)(4001350100001)(36756003)(586003)(65806001)(1096002)(42186005)(2950100001)(110136002)(33656002)(189998001)(53416004)(80316001)(77096005)(50466002)(2906002)(4326007);DIR:OUT;SFP:1101;SCL:1;SRVR:BY1PR12MB0423;H:wsp100563wss.amd.com;FPR:;SPF:None;MLV:sfv;LANG:en; X-Microsoft-Exchange-Diagnostics: =?utf-8?B?MTtCWTFQUjEyTUIwNDIzOzIzOjdTVEpEb21mNE9mNFExK0VzQlNYbHNyYXM5?= =?utf-8?B?UjMxb01pbHQyRU50Z2syeElNeHp1aE1PUFZNZTBsZVIrR0FkYVBmWXRxem43?= =?utf-8?B?TnMxOTlnc1htMHg4Q2lJTTBOR01tL3BSUG16dGRUcHdVUUZDTkxnckFpZVAx?= =?utf-8?B?YW1nRForL2xXZHlpZ1lkYTNxRnhwMHNWR0FYVU5rVTRKc2xWeUZMcDNFOHNO?= =?utf-8?B?ZVIwQjcrb2I1RGJNWGpqRXhzKzNXVWc2clZxZWVqd0dBTXR6U1QzVTRKYkp1?= =?utf-8?B?M2tGMURhMnhLMzNIaU9hWjE3bXZLNzJpc0RIZElSSEw1cmt5aER6cVl4MFpT?= =?utf-8?B?Mkc0NThxV3JJZklubFRFN3owdHByZFN6dDkvVVNVS2xqNGJQR0NYY2lnaCtT?= =?utf-8?B?ekQ1eDhIeTN6dWRwa05GVHlxMmNzUnVSeXl3enRhV25ncDJQaWd4S1JVNWxJ?= =?utf-8?B?aGR0bmxhbW8wL3lvNExZU3A3L1hKRUtzR241c3lPQTRXSS8yVFk2eS9qSHZy?= =?utf-8?B?WS9YV2FuQTQ2WS9PUTJuT2VJRkxVRkZEYml3Um5nZ1JtaUp5T2J6TDRmWnlQ?= =?utf-8?B?ck5FWFpjekp2cVg4TXEvUDBRL0hUckxuejFudlBQa3lpbk1BZ0NMOHFwOG1Q?= =?utf-8?B?MWQybVRra3M4K1pjVmFxamw5MzVkVXFVcm5XMVoza2s4MWd2TC9RZXJhUGhU?= =?utf-8?B?cmkxY2pYa0hhWEhLWUtaUEpoVG84cG1jZGhRUjZqSGZhMjE0ekJaaTB1VEp1?= =?utf-8?B?anJDcW5UQm9meXhmdnJCVGUzTE5FYmFrV1FRdzVGVXk4OWNGcExoYUtEd00w?= =?utf-8?B?Y0c2dDFvTHNZOW1vK2NLVWNIZ1NNeHg5YjZRMzRyTnIwV2hTdVYrK2UwV0lU?= =?utf-8?B?K3BDWllXK1dxaldGVVY5SnZrMU11Zmh0SHF1akIyVG5iWU9wcTREOEVPdWZW?= =?utf-8?B?eGVWV3R5NzY2c3orMW9jZnNpSmorL3UzT1FTS1hxWkdoQ0dMMzVsR2o5Mm81?= =?utf-8?B?SnpiZlFmYWxsd1RkN3krK05oeENCR1F6UjlmbXFBTFNPM3oyOS9ETGkzSTA3?= =?utf-8?B?ZnlhOExQODNocGpwQjgyL1l4ZFpUU2hvR3hnT3JOaG9zNkVDUU5lckE5eTEw?= =?utf-8?B?N0RJTEZvZzNDZUZ2Z0ZrQmoxS3JSODV4ZkxVeDN4dWZJSDZ2bVptUGoySWJt?= =?utf-8?B?cU5GMTM0dXc4VTFUVWNXZS8yWFRTaXFyelUydnNpYnVBbVk3STVzcU9sK0hN?= =?utf-8?B?eVpTaisxU1VBY3FZUG1sbGgxRlVlWkRsVjZpV0JqZHJZL3c5SHFFaTgySjFm?= =?utf-8?B?VVc0MkJvUS9uS0NrY3h2eTBQTHZtS1FMc2srMFlraWlmVG9yTWRRYVdCb1BM?= =?utf-8?B?NldVSjB6R3dHTmRRaHFpbE5jVVRkaHpQcXkwbjRORHhpemtOL0lHb2tKOGdr?= =?utf-8?Q?093SVoXHIFp5v+VBLMe0JTzZ3Fw?= X-Microsoft-Exchange-Diagnostics: 1;BY1PR12MB0423;5:/NtzDhwMEP+++XCRy/DjudRQrOL3LD0cYLXBh5bH2edHRNIJAPGprzdLHsPe2A89NDsD3OwKnBxffJhRMVaWQc+srIh2Vc7BHtsPpIp6aNPjiT01WZ02iolTqeXjYZ8eonqlCCzfPDRlBTWjdtGAFg==;24:nKGkHljVK33L8incmATEdcxWKzUwG8Dx4GvvY9UI8f1CCMxoO8H+1dkWzot7W+zzJeEkHAT4V4+cLMSNGVTFtl6mk0Llm8QevjS0oYInJOc=;20:UoWHbOaJ0qkESQ5fNws5mNvdshFK7eZkkyIspI+/2Tf/6YN4ltXroig7Cc7t+B07WKhVxxJkziW61cvpmz2hYQr2+e5b8mu92FxoA6/mCl8h82kUi9eOiUrCIPtfTI//AHXJYBqaZHZ0zZHYgOT4SDLWC/ZYihqh0gtdDqzsLye/DZEPQbkbAzsNo4FR43lgD3z9zhUuVkUD3Q9h2y/QtmDSoOtKxWEAo+QenrG4y26JHzIVRyto4ZJ/JJJGuptt SpamDiagnosticOutput: 1:23 SpamDiagnosticMetadata: NSPM X-OriginatorOrg: amd.com X-MS-Exchange-CrossTenant-OriginalArrivalTime: 23 Feb 2016 22:56:43.1654 (UTC) X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted X-MS-Exchange-Transport-CrossTenantHeadersStamped: BY1PR12MB0423 Sender: linux-kernel-owner@vger.kernel.org List-ID: X-Mailing-List: linux-kernel@vger.kernel.org On 2/23/16 6:39 AM, Borislav Petkov wrote: > On Tue, Feb 16, 2016 at 03:45:09PM -0600, Aravind Gopalakrishnan wrote: >> >> /* 'SMCA': AMD64 Scalable MCA */ >> +#define MSR_AMD64_SMCA_MC0_MISC0 0xc0002003 >> #define MSR_AMD64_SMCA_MC0_CONFIG 0xc0002004 >> #define MSR_AMD64_SMCA_MC0_IPID 0xc0002005 >> +#define MSR_AMD64_SMCA_MC0_MISC1 0xc000200a >> +#define MSR_AMD64_SMCA_MCx_MISC(x) (MSR_AMD64_SMCA_MC0_MISC0 + 0x10*(x)) >> #define MSR_AMD64_SMCA_MCx_CONFIG(x) (MSR_AMD64_SMCA_MC0_CONFIG + 0x10*(x)) >> #define MSR_AMD64_SMCA_MCx_IPID(x) (MSR_AMD64_SMCA_MC0_IPID + 0x10*(x)) >> +#define MSR_AMD64_SMCA_MCx_MISCy(x, y) ((MSR_AMD64_SMCA_MC0_MISC1 + y) + (0x10*(x))) > Are those MSRs going to be used in multiple files? If not, they should > all go to mce.h. I think MSR_AMD64_SMCA_MC0_MISC0 would be required in mce.c as well. So might be better to retain it here. MSR_AMD64_SMCA_MC0_MISC1 might be required only in mce_amd.c, So, I'll move it to mce.h > >> >> >> +static u32 get_block_address(u32 current_addr, >> + u32 low, >> + u32 high, >> + unsigned int bank, >> + unsigned int block) > Use arg formatting like the rest of functions in the file please. Will fix. >> + u32 smca_low, smca_high; > s/smca_// Will fix. > >> + >> + if (rdmsr_safe(MSR_AMD64_SMCA_MCx_CONFIG(bank), >> + &smca_low, &smca_high) || >> + !(smca_low & MCI_CONFIG_MCAX)) >> + goto nextaddr_out; >> + >> + if (!rdmsr_safe(MSR_AMD64_SMCA_MCx_MISC(bank), >> + &smca_low, &smca_high) && >> + (smca_low & MASK_BLKPTR_LO)) >> + addr = MSR_AMD64_SMCA_MCx_MISCy(bank, >> + block - 1); > unnecessary line break. > Will fix it like so- addr = MSR_AMD64_SMCA_MCx_MISCy(bank, block - 1); (It comes up to 81 chars, but will ignore checkpatch in this case..) Thanks, -Aravind.