From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1426451AbcBRPij (ORCPT ); Thu, 18 Feb 2016 10:38:39 -0500 Received: from mail-by2on0084.outbound.protection.outlook.com ([207.46.100.84]:15841 "EHLO na01-by2-obe.outbound.protection.outlook.com" rhost-flags-OK-OK-OK-FAIL) by vger.kernel.org with ESMTP id S1425159AbcBRPih (ORCPT ); Thu, 18 Feb 2016 10:38:37 -0500 Authentication-Results: spf=none (sender IP is 165.204.84.222) smtp.mailfrom=amd.com; alien8.de; dkim=none (message not signed) header.d=none;alien8.de; dmarc=permerror action=none header.from=amd.com; X-WSS-ID: 0O2R245-08-6XF-02 X-M-MSG: Subject: Re: [PATCH 2/4] x86/mce/AMD: Fix logic to obtain block address To: , , , , , , References: <1455659111-32074-1-git-send-email-Aravind.Gopalakrishnan@amd.com> <1455659111-32074-3-git-send-email-Aravind.Gopalakrishnan@amd.com> CC: , , , , , , , , From: Aravind Gopalakrishnan Message-ID: <56C5E575.8040301@amd.com> Date: Thu, 18 Feb 2016 09:38:29 -0600 User-Agent: Mozilla/5.0 (Windows NT 6.1; WOW64; rv:38.0) Gecko/20100101 Thunderbird/38.5.1 MIME-Version: 1.0 In-Reply-To: <1455659111-32074-3-git-send-email-Aravind.Gopalakrishnan@amd.com> Content-Type: text/plain; charset="windows-1252"; format=flowed Content-Transfer-Encoding: 7bit X-Originating-IP: [10.180.168.240] X-EOPAttributedMessage: 0 X-Forefront-Antispam-Report: CIP:165.204.84.222;CTRY:US;IPV:NLI;EFV:NLI;SFV:NSPM;SFS:(10009020)(6009001)(2980300002)(428002)(189002)(24454002)(199003)(164054003)(479174004)(377454003)(65956001)(92566002)(4326007)(23746002)(3846002)(2906002)(65806001)(1096002)(76176999)(586003)(77096005)(65816999)(54356999)(50986999)(87266999)(2950100001)(101416001)(6116002)(1220700001)(47776003)(5008740100001)(36756003)(189998001)(50466002)(80316001)(86362001)(11100500001)(5001770100001)(105586002)(5004730100002)(2201001)(106466001)(83506001)(33656002)(230700001)(87936001)(19580405001)(19580395003)(4001350100001)(64126003);DIR:OUT;SFP:1101;SCL:1;SRVR:CY1PR1201MB1081;H:atltwp02.amd.com;FPR:;SPF:None;MLV:sfv;MX:1;A:1;LANG:en; X-MS-Office365-Filtering-Correlation-Id: 8caeac85-8c86-44f0-1e9e-08d338798f99 X-Microsoft-Exchange-Diagnostics: 1;CY1PR1201MB1081;2:BoxqcHcJeF3nxLKQqANHZFvQ0K6NdzsXfmhHyDUsFOXxwfzud4w7RtZhzotTxaTqUuFCtv7vzdae+pFnM8yje9GTQM+AV52ahRszpzlHi3vItuaPduUl2AZP2LUu/IkzhfBL8A1Q6IjQt4Smyc3E2ZyoDol9wdoq+iKH8LpefsdXNKU0bw2yH+ITygPrQACu;3:o5tSEqsIesYjgRDUxv73WiZeMYElYn2EHWtu0KoxTkdoVmOc9YX1sQvRWomYAgIZ6UWGSEuDZX5TAr65EwX5mQC9a4hZ0M6IVa/S2YD6yumnzspsBRpKFgFxk4aMzEYD9jcQ2qZ7yReAck/wUok/f2ibmY7V8L2rGEWYBer/cE5kD0QiBVLfn/AFv+kA2haM/1haXAlZvX8j0BYVEc6WOILlltNc8fVw7pshoRy/GyA=;25:XEN+PUY1QhH5nR8/FVwnDVmIdzZHhlbhgeNI1/ekmNHcT5V6sK/9jUdmLFrhug49D/h9zpMnuzRfVcx4qerqBb3rGfjku88AYcjuPrSS3wuqjqkC+Zpq6S82nLECrrMT/WZBntlav1G5uHsv0PjA8MuBcL/pTwzsKwKiKxjaEvVWaoXJ/R6VuLExQdXsauG/8q1+mn10kfb3F6N4qDrQezKau2q2bsv1h9z4JI0TuDHov4mzViaQiJuUg3Vp3A0j2opTlrr6laymXScd2iSrcrs20phIxRV5IiB1XBDZe08HUukicS4T+c1bBvU1dsia X-Microsoft-Antispam: UriScan:;BCL:0;PCL:0;RULEID:;SRVR:CY1PR1201MB1081; X-Microsoft-Exchange-Diagnostics: 1;CY1PR1201MB1081;20:cYl9pSDzE7vPuVqRX69l0cB7tDa2KzwVkWA5GQQqycZ+S1lGaewQ39g5wTYs5rGyaGGS+x0Qq5EK11yr7firGi7RSjeAdfb+gcC03S9bKX0/hRj/G0/rC0KNu8Me1PyRZt8GEkmdzEqObQA1b0iXokPuv4ABXq3kQ77DpwcQ5zIP7ZdWz3mcodA2gGTBF3ieLgfek2FAGDO1XTKV7Ny4uj+5yBrFEkkbN2HFgFg4LUew6z8ba/1QIiao/iIfZUgJAmMPN+nZKNBWdYX8jl/fFc9jQ9RraE5MYZ+8XaaomUkumhmhkwCl8i6TA3ee6dTnP/A1DGFtWMKE+wC/GULTDVePqwGMnUreZk9QO4PkcD0d1YqSxR96lRtJwuyjXVae4uQY4lZTy4WEn/7eQNZMuK+mto4ebZpzri58+Jz8UawN94ABiJDfBjfb2D4E6Fy7QbMMB3U023etuEwnqN5Yd/cu0Ocka6SfaEftGRUet2WkbssX180Y0b5Z8xItfjfi X-Microsoft-Antispam-PRVS: X-Exchange-Antispam-Report-Test: UriScan:(767451399110); X-Exchange-Antispam-Report-CFA-Test: BCL:0;PCL:0;RULEID:(601004)(2401047)(8121501046)(13024025)(5005006)(13018025)(13017025)(13023025)(13015025)(3002001)(10201501046);SRVR:CY1PR1201MB1081;BCL:0;PCL:0;RULEID:;SRVR:CY1PR1201MB1081; X-Microsoft-Exchange-Diagnostics: 1;CY1PR1201MB1081;4:oGAc0v7rF13Yjg6ssSVNyWyqYTxsGUe/LyGibu9Y+KG1IztVucg17JIyxYER+FQWHTOlb8YxRG177KWn0I3wq0oqAqpkTvx+6Usz7SxLK9tih02tMbfLRyJmK3Il6BnM3+DE078u47LN1Dq36SKW4XOhardUabIcjiOviVXDyL+wS9wJREGi67MrVO0qJNcVFAGRpGwozIDMWvEhKQKJu1ZPh5VZkuufxkbI+wUlE8+cc44u5kJI/sMUDrfhZaMlwKW3p5xs1rU0rVZDhSpxOnrxvPSj1CZaieiQbAprCTQAXba0P7pk8AGZOpY1jgFxcLmb8K4i/1WZ4NEcU7VX2fMP3rtIk6comDDjywkwCUompV7Z6Y3tFqLzFELca2k9VoMF90Vfr1A+XXeHCw/i0UsHHLkNWxQQ9mDS7xGXMSS6qAgj3jPWId6MaVFiJFUhDZ0UXcFAokSZ1bw7yyAC9AKKmiNZ3ze9JDEZNhycWUVOJHT84dkkMGty6HduM7cC X-Forefront-PRVS: 085634EFF4 X-Microsoft-Exchange-Diagnostics: =?Windows-1252?Q?1;CY1PR1201MB1081;23:akXWl1iEhas+xGM0sp3yeM+8HPp7BvizQYr?= =?Windows-1252?Q?DRewVjvI/e6QWVHrd1vf9lsjjVJ9GJEOYIxXcxu1sUoAklEjCvF5dEGQ?= =?Windows-1252?Q?/6F0CVRA6UIeLM/cm6Sq1QcgWvd3JLPKsReVVyamdPmzTc0VKAbqFwl9?= =?Windows-1252?Q?LaIX6P4mHTRd7258c8/LSXLx8oVIyesrjJu7512NCHd5lgScb55MWSuh?= =?Windows-1252?Q?WsKp76poy3VObveeoq1i+U5Su44ePPm6i9wbeIWuth2BCxexdXzgYpBc?= =?Windows-1252?Q?+7a7bKlPjUsxJlVzy2CYCdy6VKa5swAtNFGvpST4j0ufMcgjkDNG9bi7?= =?Windows-1252?Q?1cAW3ymN1SvKHjJyPeFv6IgCuS5d2HuU2WYfgFnxpH1JHHTGETCSm9e4?= =?Windows-1252?Q?urC+Xy3JYoaAAQivUXfONkBbur9slBFaKsTCIVmiu6NHDa6AmqFrPCEm?= =?Windows-1252?Q?itV7j26WNRrA4GnMftkoEwENrghOgIBGezP0wHxn2OE7s33quZgf9EYV?= =?Windows-1252?Q?FRJIur9ibD6UVX+1QHDmTNGCnnK2OFW/+VNEkWQKfOQfkXVPBo0Rj54g?= =?Windows-1252?Q?hi2FnKV2cPA6KLj8MVaylsV6jQR4rS6Mz+YQsdocePYscbOkPUThe/W2?= =?Windows-1252?Q?Ypb687ELPEn1Vx0suTU5kfRC++vEfTAtC5Zc8jnqftmD+8BAVxMlzhPd?= =?Windows-1252?Q?dPUMdVFxv035m888brunsH2gYejH+RK24FizyBKSJK/aSb4tg3k5UVtp?= =?Windows-1252?Q?nSkouif9nG8z0V2tqcCpxMiRRxj5ItAYlzf1bzFY9ZHy/yHPwgSHoKtC?= =?Windows-1252?Q?9OfaxMdRpIQmb4MNK3r6A1oRD9T04WcO0ROXGsvAlUg7ocl19dXuLGuo?= =?Windows-1252?Q?YniTyrq24tkQqnfjY6DTZ9W0833177U6kbBUIDn/Amg2MpJYwqJM2FXl?= =?Windows-1252?Q?W5cA3XpRNzc8zHX+kLpcwvx3c/njnCMj5r64G2Q7psTLTwZOa5QPITtF?= =?Windows-1252?Q?iZMPJQYaIRpeXeBk4uMsS561hNKVBSHomEYBsQqQ6Zn8pZatoYicdj+7?= =?Windows-1252?Q?98JKv6v3/rHn8Vpsp/YsicfdLLuydXP2WWvt+lWJSMOZDlfpEVzTIkDo?= =?Windows-1252?Q?LivnRvuvhjWYThhFRDGJlX0kIc5Qzz3IoqyTlMJA3CeQjri7qLLyf0XE?= =?Windows-1252?Q?WNEV4yQgh312MsVBpzIgXjkXghrvXOjngrqqZEsgXd7UuXvx8jwRvYim?= =?Windows-1252?Q?SzD+gbG5yt2Y9pkNn9ykGuL6QsVn8DYvJgt4o/d+PFMnsxSxXD2bCKUh?= =?Windows-1252?Q?mS4avWO4Ux5bxJSz3yjSlCMiv6ZRFDF05/hZ/pif/ZROV7kVOqpUHvJy?= =?Windows-1252?Q?qe+KUDQvrdoQY?= X-Microsoft-Exchange-Diagnostics: 1;CY1PR1201MB1081;5:jiHQaTr05bEE0Vs+/WdxOecwoi8fW3J7QNWxr6A1FfttRmwpbb9+CI0RwbVKIXAsSfgjiZqGkWb0KYh6n7bXBnrzrZdRQyG3kozaS4oNxMm4xJGx+8zAg2ja19geDuFRRC4VfE97UdKJ/IhSEEKjAw==;24:5KBLu5BL1FdNhCrIrB+QDikB6y+78vr3Ze/hObev1VoVRIS4sZp2yzT/ePxdMEp2uNnJlj/3yeE6BTdHEZnSSM2c1W02utTZ/kljl0CE8UQ=;20:daS8bYh6jxNcJLL+MWBd4Yvyv60t0kb0ddaYg7p9kSbVUdhZ4VstWlIy91w8Z7Cd8LNmR01XflHPc56a7vBkcAfAchCcdxW9u452IRyqyGHJp0QHPobyax+OEGoJhBbwa96ox+UqhYgBSC3B7PJQcqjt9ZADHRZBLLHLonP9SVkh9tzAscY/GhVf2nj1Aeh2OWA0kJ9txW55pZM4q1PXhj8De+nzv8JUKTN4Kq+2kHzW4G22QhjowX6iOP6ZjXz+ SpamDiagnosticOutput: 1:23 SpamDiagnosticMetadata: NSPM X-OriginatorOrg: amd.com X-MS-Exchange-CrossTenant-OriginalArrivalTime: 18 Feb 2016 15:38:32.0102 (UTC) X-MS-Exchange-CrossTenant-Id: 3dd8961f-e488-4e60-8e11-a82d994e183d X-MS-Exchange-CrossTenant-OriginalAttributedTenantConnectingIp: TenantId=3dd8961f-e488-4e60-8e11-a82d994e183d;Ip=[165.204.84.222];Helo=[atltwp02.amd.com] X-MS-Exchange-CrossTenant-FromEntityHeader: HybridOnPrem X-MS-Exchange-Transport-CrossTenantHeadersStamped: CY1PR1201MB1081 Sender: linux-kernel-owner@vger.kernel.org List-ID: X-Mailing-List: linux-kernel@vger.kernel.org On 2/16/2016 3:45 PM, Aravind Gopalakrishnan wrote: > In upcoming processors, the BLKPTR field is no longer used > to indicate the MSR number of the additional register. > Insted, it simply indicates the prescence of additional MSRs. > > Fixing the logic here to gather MSR address from > MSR_AMD64_SMCA_MCx_MISC() for newer processors > and we fall back to existing logic for older processors. > > Signed-off-by: Aravind Gopalakrishnan > --- Caught couple of issues- > > + /* Fall back to method we used for older processors */ > + switch (block) { > + case 0: > + addr = MSR_IA32_MCx_MISC(bank); > + break; > + case 1: > + offset = ((low & MASK_BLKPTR_LO) >> 21); > + if (offset) > + addr = MCG_XBLK_ADDR + offset; > + break; > + default: > + addr = current_addr++; > + } > + This needs to be addr = ++current_addr; > > + address = get_block_address(address, high, low, > + bank, block); The 'high' and 'low' variables need to be swapped. Missed this during a rebase to latest tip, Apologies.. > > + address = get_block_address(address, high, low, > + bank, block); and here.. > + address = get_block_address(address, high, low, bank, ++block); > + and here.. > + if (!address) > + return 0; > > Apologies, these didn't show up on initial testing locally.. Fixed these on local branch and it seems to work fine. I'll send it out as a V2 (Shall wait for further comments/reviews before I do that). Thanks, -Aravind.