Return-Path: Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1752638AbdGXEgE (ORCPT ); Mon, 24 Jul 2017 00:36:04 -0400 Received: from mail-bn3nam01on0057.outbound.protection.outlook.com ([104.47.33.57]:64216 "EHLO NAM01-BN3-obe.outbound.protection.outlook.com" rhost-flags-OK-OK-OK-FAIL) by vger.kernel.org with ESMTP id S1751722AbdGXEfp (ORCPT ); Mon, 24 Jul 2017 00:35:45 -0400 Authentication-Results: spf=none (sender IP is ) smtp.mailfrom=Suravee.Suthikulpanit@amd.com; From: Suravee Suthikulpanit To: linux-kernel@vger.kernel.org, x86@kernel.org Cc: tglx@linutronix.de, mingo@redhat.com, hpa@zytor.com, bp@suse.de, peterz@infradead.org, Yazen.Ghannam@amd.com, Suravee Suthikulpanit Subject: [PATCH v3 1/2] x86/amd: Refactor topology extension related code Date: Sun, 23 Jul 2017 23:35:22 -0500 Message-Id: <1500870923-2154-2-git-send-email-suravee.suthikulpanit@amd.com> X-Mailer: git-send-email 2.7.4 In-Reply-To: <1500870923-2154-1-git-send-email-suravee.suthikulpanit@amd.com> References: <1500870923-2154-1-git-send-email-suravee.suthikulpanit@amd.com> MIME-Version: 1.0 Content-Type: text/plain X-Originating-IP: [165.204.78.1] X-ClientProxiedBy: CO2PR05CA0064.namprd05.prod.outlook.com (10.166.88.160) To CY4PR12MB1734.namprd12.prod.outlook.com (10.175.62.144) X-MS-PublicTrafficType: Email X-MS-Office365-Filtering-Correlation-Id: 632dc5ee-1232-4128-916f-08d4d24d71f6 X-MS-Office365-Filtering-HT: Tenant X-Microsoft-Antispam: UriScan:;BCL:0;PCL:0;RULEID:(300000500095)(300135000095)(300000501095)(300135300095)(22001)(300000502095)(300135100095)(48565401081)(300000503095)(300135400095)(201703131423075)(201703031133081)(300000504095)(300135200095)(300000505095)(300135600095)(300000506095)(300135500095);SRVR:CY4PR12MB1734; X-Microsoft-Exchange-Diagnostics: 1;CY4PR12MB1734;3:wFdW/PyGEdB/G6MG1+S81DDoOH/EXID+Z1Zuk/5HHRxzNXgk69bgOYXvkPMYwFiHEKY/u+lbTLNwfpU9HKTuP43IeDUZ1R0J131nm0r1uSc6bh09PcBdkQodClnCCNw/cafS8V43ykaxLkgi7Xgy3VLu5Vz6N8knsk7DizInXoGdt+920O/PRugH3oGDHWsoEolW5WfuoyLZuGdTEDA3TxWu4/A2Yo/IiPX+uK7N9RjNx7YtdNG/r3x76SdV5Psw+1xa5NMomBCSZ7iN2qvphulBJitjraLWkM1gcnHRba5qmwzUHyOLCmRAD2HgmBPfTN7NuRe5UYuATPza8HDRdmgtAX9WZ2Xx1SDo08WuwM9xrmNiBAz+dLF3/HiI183bSDySs/97+fJuZiT/RAqgLWng3gxbkjvRvcq+qoKV9i521ExMMcSdqdeOmCuK7PPWZU1yAS2AZTm0BbU5xBnNIURgN7Hj6fiQRz5A1O5bR3izSJpXX1e2J+9H5GGNKAPXGeRxfLGBTapeWybtj/XNDpDd1cLKz6tXgkqSzpmkBooIv0Xb8oJyxzsCf4GNmZzPKu5AuletoubFvKAfkKWgU+q0Lgc/qPOxXdBSE0KoHyzS9VWbeBvDvTEhj3jpXL8qhSwlWbRCstE9FquPYN2g0LUKAHpAdLlHQNDnK0J5F94jiWXmj106HB43hucckq6AUMumwa7a5jW3u2XsnwGp4+6lS/Nl0I/4h1p5+ThWSXjRSusbABBMudc1P4GlXV7h8H+fCWdNaIa9XguboEhkCg== X-MS-TrafficTypeDiagnostic: CY4PR12MB1734: X-Microsoft-Exchange-Diagnostics: 1;CY4PR12MB1734;25:tsr9An5PydxWA0yl25SWO66tjSaB64tQ3Jkd+dSop8vkhrVbI8tdlk7m4NejSJsM1GkxRdUtSeT6r8AxbBI5cbWNg4neZjLSytpt7LwRVNurr66OP30c3tnqb3FPXyxe8Xi2/x4Y25aXhEh78+2VzCGze85h1LYEi6YQkFpmDBppt21KiuUPSzg5XhEqKJdnv8psZpajDR7GNXBJVxJu/JPt4ueItWzrI6ZoHr1G5MubA7DB4H1WMHMH3KQDrNpru31fV8aqHSHBhjB4NWV3y7vEifB8McOislCVnH0EZz24eYKt3rWaHEnjHgdiVsZiQHYJ3Lwy7puEAI6VepcVSBY7QoRO8RhHwEX4n/QLvYLYcSDuleyyyLUiUAO2kViRrzlHZS/CF/r84qbD5wrnNKxacOq0lYffqFid83JI8Dw1hluI/+t+3urNy6CdQCemg1mW6ftP6R8pAXj7O0/xTtMgBzOi+LVPY1oy4HG7cFYJBkXBnHgm6X5h/Wq4g+cN9pZrq1LvwnQ9/784oxZB0SS3/pZPkcKZ6iKR2GcoMKS+Il/ruqrfqZ6xsVVUoIMm0IxuY4lPzK/u0vTyn1br1UXC3pVDbMpJiQV0g1rjnAKXQQtj5IIcXFwznARcIY27995aPPZhFItn6QWH03Nb4EGAuhNAghlvGZfAFwTJDumf1WNRpGoZfed77a16ib38s+NOaotZWbEFlxKdrx4QSvymhIkQXkKIGc1Oq619cnRyAmE3fr7QVUhDW7H7ZQSqBu6erp6YypW9UHBoB3CykCC4Qvj2wDFwWTgeu3Fzgcxjs+M5+fxgHZ+s7TrS40aEvBPNnsSMK0d+W5EHDwlLZu9vXPW8mPtUeMuHZwDfo2SQQFb27m+nhqYguUTE7J+V04+SWaFlHuR8ll4dAwYXXZSimGklvls8mIu26i2fan8= X-Microsoft-Exchange-Diagnostics: 1;CY4PR12MB1734;31:QzcryOJzq7UIUdPsmQ9sJ+dFa5gSyvaI+dizrRZGiaK7rdPPLqAOaKmddSr5WSUkOsUq7Nk1FOBLzQ7WHllAJqc5xUw2H6LUmuixS3UMMy9jOuzZahH2CeY3V4TuQ6qYfnbgRWDTxpc8jGS9q48jYDpP8vF74BE8TlCluNedEGTi+/4BLbVNrd7oNJX79eY3bFkijtcKBlYy/WYXnW82vpqxkVra/N0YOZd+nvF4FQyqoKzp8CVpRgwJSE7fbQY3JJMCSFZrE4dOlWOX9sTip+nwku874loobzDu3OlBLL3MUmwfYNGfuWEl9oDNDgr2Kkf5Tfu3Loh3jPPgu//Rl2Toi0HeVo6GJarbmLhyPolIrhl5BWKWy7Wi1RCDq2MI8rVZagtGO2wAXfAYeTBE1PDog4MLdKX58PWLLvi0XxLu5TQLY7X7dZedolOpuTaF1FmdmKlHrOq0f+9Jnr5nefAmTSqoLf4+pK51IFw2zVzdAB/0ylKkV/DLkpV9N3MGypdGhdeF16lucwscxp0ywiJygUSO9r1p50WZGiTdBFdPjRi5X54kIOi31NfibhNCGc4BWt4L4faQvT04U4gKeu+Gxh1NwEt7fvzUlIP7iERMkATvDQWLxVuoXp5RqM5rhE118vJvpK8Lh3uSpeFhaXM/Ed2yJ9I10qJHhGbTUvI= X-Microsoft-Exchange-Diagnostics: 1;CY4PR12MB1734;20:Aj13KjZndOjN+vWG8wYgwKrAFwYnMpcjy6N9mPQzWu8HN3lvU7rHKuuCKIorySvcLztudv+w6G03a8sqTx03VcY9tT1+wol0MICCZZqGAS7GkmuuuqeuJtKLN59FRccOnh/57RIoC8BBDDqRZUbg71+PziJp23X7VBxgCL3TD+HLQFp3zIGKU98MSikqZ0dAGzaEqcGaRNZ2TgI9rJ5PDP4unoGLikRSWk3WXZl2G7cEldBwMfhADskSfRt4qei6cprx8fm9e4bhruDZgZRrLxWE/ZXJldcw0+nCaQNQBS+Mn3GZzlkdu8dTiwJsUglbbl5ma5LXn4Qxl5jGqaoROopshlcwWUbbEN9ATQ/C3KPq4ulyd7bwEMPdNLEOyi9vOx8uTSEmxTcsyNk7knFCbUGA75hhUYqmX/0yNRUTIgYMqiR/zWDl1EzmgumLMg7qvMmYdT+7LncdDCJV1HVUM8T7m3ccjEDAfOpB3G1QJn8vbiJcWQiR7YMpntwfGcOq X-Exchange-Antispam-Report-Test: UriScan:(767451399110); X-Microsoft-Antispam-PRVS: X-Exchange-Antispam-Report-CFA-Test: BCL:0;PCL:0;RULEID:(100000700101)(100105000095)(100000701101)(100105300095)(100000702101)(100105100095)(6040450)(601004)(2401047)(8121501046)(5005006)(100000703101)(100105400095)(93006095)(93001095)(10201501046)(3002001)(6055026)(6041248)(201703131423075)(201702281528075)(201703061421075)(201703061406153)(20161123564025)(20161123555025)(20161123562025)(20161123560025)(20161123558100)(6072148)(100000704101)(100105200095)(100000705101)(100105500095);SRVR:CY4PR12MB1734;BCL:0;PCL:0;RULEID:(100000800101)(100110000095)(100000801101)(100110300095)(100000802101)(100110100095)(100000803101)(100110400095)(100000804101)(100110200095)(100000805101)(100110500095);SRVR:CY4PR12MB1734; X-Microsoft-Exchange-Diagnostics: =?us-ascii?Q?1;CY4PR12MB1734;4:J/6tvSf6dfh5T6anqXqEGO+4QsaXITyiEFjQVKEDD6?= =?us-ascii?Q?D/OCN9EIYtadwOlztrE/zuQwmXRKF6ZG/W8dyIbuvo/+fvRAAeOloIzyN8PE?= =?us-ascii?Q?1PRTsjH2jmPsilqG0pI7M8LJvfo64h2O4Ap4GOf11h0KCvEJuR35pME3ASXA?= =?us-ascii?Q?8sPaRicYOp/7UY47gv/LhQXirIzZP4CuNt7xt7RxQ1GdgjCHHKECGQ2GoMSt?= =?us-ascii?Q?vSgbylTAn2R9Y++ZXFlW0+DG/HNpdv86dPeMAUlHB9huAtjQIOuegcA+X/Bz?= =?us-ascii?Q?k1pl9D/rZwIrYynIvjDEKGQR/F2FdHczOByzsEpg0Nx+T7wNrYDn/KImySmq?= =?us-ascii?Q?wCAExjYbfreRPC08OPWpSJGUnbGlBhk1iMsQv8L+bf8V9Pi/mZhNQkJLFx4A?= =?us-ascii?Q?HTteht7q48srISOs4XdqDAOsKvx76k+o2zrzNWJf6APRh3NJOxxdEt1PevxN?= =?us-ascii?Q?n9fDcvgby2UaZj3GU/NdftwyrtuHwpl6QHPrV5IOD817x54cg4y5izucIaPf?= =?us-ascii?Q?PXHXzPKVqXsEkvqzCc/xko+MLkqCfVq8X9ThZoxRvCD2a2yfiRNi+R+/MrYk?= =?us-ascii?Q?F8mWIU3Qg8UbHn4/IAFGM4QOcJsluZRyhw4JJVt/IgSE/ndK49taJ0vB7mtd?= =?us-ascii?Q?p1xs3hYKTbaRpqBkI/R9a6dLqfO7K6kjIesmFg8Bn6DZBtkIi+DgUJictCV8?= =?us-ascii?Q?eELg0j9UbybnCBWdY0dJPmsCFTYsJPv2sxJzsh8FgqNUUwQ/OOw1UWnSPcKN?= =?us-ascii?Q?KRfTxvxHciu3YrPonpBgPXVQjPo5RgUMGg6T/Caj6K05xzh/m5nZ8RteauDV?= =?us-ascii?Q?LWr3tF8Q978HsNVdD9/n+zpVp1EJejDDdGvCelBA7N4JADtiqv2FyC0kG0Kc?= =?us-ascii?Q?Qc8HYvTG1++pDsQ0a4PC+euLuot15nvsZCy6uSAy0ne3uxMQhUE0HDFH62Ls?= =?us-ascii?Q?y+GnCZ46sed+WABaswSt5Klb2FXsLB5cJZZyLU5LT9vzG9Q34poNrGUdjNHq?= =?us-ascii?Q?4LlWeyNyy26wVe7iVe08l9bVN8BOPCdA6eC1JlElrCtBNLj5qyzRJTr+tx3g?= =?us-ascii?Q?sfskuLySAtvhu9QQJeW4ewCKmZIICvBPtQErSbGB7iQcU5FCaz8ADOQBN2af?= =?us-ascii?Q?N2qUjVOnDN11SixYQmULNHEFM5U4y4GlusDkwVkcQgrzPoEg7GKnIHnt7Elo?= =?us-ascii?Q?MdFag3OhNjL7Ss5qg7Bp+auktaFrXPxGo/?= X-Forefront-PRVS: 0378F1E47A X-Forefront-Antispam-Report: SFV:NSPM;SFS:(10009020)(4630300001)(7370300001)(6009001)(39850400002)(39400400002)(39840400002)(39410400002)(39860400002)(39450400003)(189002)(199003)(5660300001)(101416001)(106356001)(6116002)(6666003)(76176999)(305945005)(105586002)(478600001)(7736002)(47776003)(50986999)(66066001)(2950100002)(33646002)(7350300001)(2906002)(68736007)(3846002)(42186005)(72206003)(53416004)(25786009)(4326008)(5003940100001)(8676002)(50226002)(48376002)(53936002)(81156014)(81166006)(36756003)(97736004)(50466002)(110136004)(86362001)(6486002)(38730400002)(189998001);DIR:OUT;SFP:1101;SCL:1;SRVR:CY4PR12MB1734;H:ssuthiku-ubuntu-b2.amd.com;FPR:;SPF:None;PTR:InfoNoRecords;MX:1;A:1;LANG:en; X-Microsoft-Exchange-Diagnostics: =?us-ascii?Q?1;CY4PR12MB1734;23:Izosn/VMAr55mMT29c8da3PHGMlA8yBJ2Te1Bk3P6?= =?us-ascii?Q?vJ1p14kmDyA5NfCtGkmxF7+8rgzMiyYPmyUSdyLYxYNHeYY/hYqjB2WBPbYZ?= =?us-ascii?Q?HgPv7BMhTc26P97rdaPv7OLKXkGio/0XLY29vyLNYabz1Ush6Gtk/k2eabSd?= =?us-ascii?Q?AmKfzAV1FoAHwUjzuEKe3+mpHcqXXqQNkpkhysZJs56iFqOxX4oobCugbkJH?= =?us-ascii?Q?5GyuLxKryThM9Jg0rh0jL7USPFtzy8uQaHjqxqaZ9BCmk0d2Ysz38FLehJpJ?= =?us-ascii?Q?FUwO/a5dL02i2cKJhlx3Ozj/CjxWnVbisgDSqUlUD1poezfTywslGbG0361l?= =?us-ascii?Q?w5JKuSYG7ZG8remHtbXoxonrGjAQP3toODoj8moqgjT9WDlYPNgNeqV7Svwx?= =?us-ascii?Q?H6VxTJlvrBxsYXj5Chyl4Eu2LSKGkIeohEOz+puItXx0mY75Bz4aFqJJLwrF?= =?us-ascii?Q?EADVKQGgDFOAZ35k7wfYIx6YhasUyGy2smnBvP5GFZqNKbnzWs3azbWdz1fk?= =?us-ascii?Q?jQjl2Dz7FSayxR+bWmXSNcWz8Lhi/UF6mvyZu37gOja6uYyuwp/2PZAfjIpV?= =?us-ascii?Q?In1BwG8XaDGCOmQI5gM8qHC2teKwvuoW1glZlUF3VAzbn34W0bYDuAieGoh9?= =?us-ascii?Q?u05QubHKYI8RaNFEAO146swFM7M62CBCB3BjBckpD+nZuuMoJdmQiD/XbyGn?= =?us-ascii?Q?clyp6ORiBvl4Lf/xUDmd1WLgousC8dcD+G2Xq5dfqYCRFrSCQg6x1+HIYJsh?= =?us-ascii?Q?qL9xCVnSCvFgcBfb6yFzDLkS9vuMDFwYguiyiBdW4g/UhqSiLRJhU+AR6kUf?= =?us-ascii?Q?T2F1l8HTrrYWNR1h/Pc7rhZroEIn0VKseSvn1bLTeTzr3REQkzMr1Nx6+52O?= =?us-ascii?Q?KRYSiyEa4Cr3KnYDKXHHnFCRRaLx5I+jX0cmgCu1nhDeupHVOvIl6apOWtpn?= =?us-ascii?Q?4YuKGt/cEMz4BYXvo5hf2hMYkDGLeB29bz6W0zJhgd6uXKiSffoR6FHfhYXQ?= =?us-ascii?Q?UNq4Mi0NRrRQSdeaj3COXmyUnF9G71cafLEzv4ov4lzhr8MRr+SgZwIh+uoZ?= =?us-ascii?Q?PATLQPzanpXnYkzG+0vSXKI3t/Pvummn7hMuQXcF6cezmAmXc0x8q0GtzGJu?= =?us-ascii?Q?Euk81TidI9WTDjGizs68/TzTPvFHxV7oFBT/DFnfGAtgVz6N6oN5MR+evyOY?= =?us-ascii?Q?jL2TyFYVIZ7qife0AsmhmY3QhYwBRpK48qRWrKzMf5h0LW01xB2/5SpPC/xC?= =?us-ascii?Q?g9dizDkTaqeTLK02sw=3D?= X-Microsoft-Exchange-Diagnostics: =?us-ascii?Q?1;CY4PR12MB1734;6:MpjOFFFrVNo4btk1B3ywjBh6VTRh0Gs61gHFBS83mo?= =?us-ascii?Q?CQnjxwb01uI3AqObLZPogfb9LKZvyhIdaiV1rycpATVIAO8IchBOzzqOJz9h?= =?us-ascii?Q?y5Ra3CV9w/AhjvPIkCZdPHC0JXVrBaBSTB4G4AZOjjcbdVnu1JeqnQu43jBn?= =?us-ascii?Q?aNL6bBcV7BM4hxXOomWI41mtHCyNv+N3zXeQm7sOLDa5i0O3AhuFQZSfThnz?= =?us-ascii?Q?9nq16bqapAEW3+UWdcqlpAWCYQH8yyStPQCdT9SSZNpUX840em9YU80jIeze?= =?us-ascii?Q?vZQEOyibAeD2BIx3lInpBgB2l9/ZW9MgTc3Xn21r4T0QlpiWzHbnT63A4yRh?= =?us-ascii?Q?2/nQ0vrJobvOQAI8dGV5Iovx6MRxW1l3bxYVHDsLDqMp6vD6nuN6tyup8kFb?= =?us-ascii?Q?krp6tlbx0gjhwFZ2YOLXvGkwOWG/lVPDpjT9F7z5w4ZRJsRkSTQEBgYa81GR?= =?us-ascii?Q?mjR2GUiXYkq238hKIgnaVyIMEbt9urMqGwZeac5UASk+iEOEUhPhKV9+pGhS?= =?us-ascii?Q?lwpaz5xakHCVwgpg977cjB7fZZ3dl+JHI4Ws5ZQfmzYRSIsKEapWMPXKM0Ou?= =?us-ascii?Q?XF1xK+lSB1JPnkXeOeyiyTbXP2lvXpZOu1RmB3MtOL6qfVNP7ZO3hilhAIN/?= =?us-ascii?Q?sfqYFOid0Dmy5fGbCSlupsm20xaVsTaPRdFtHJowCn7EeHPN/gqkOxO6a0ng?= =?us-ascii?Q?yYzh2hGmcS3EYQhMSd0eO2OYzTsgs6OghFDB20D6RDlUbSmEEsXtJBhHetzH?= =?us-ascii?Q?gZLW+bwDwYKXZPF49OW5O7hbUeSbCDj87Ujz57C86wcwt4Ls+BEBf6+F9PVC?= =?us-ascii?Q?5Fe4YtxIy7/cGab/Yc+gywBMc+5TnQ6nSlCk+b/5dealG327kDr75CpwFWss?= =?us-ascii?Q?Zmb41HZHpe79Z/FkvGh0kROhehXXIVu+TRXytLe9S2mMtTf/ST3X/plmax41?= =?us-ascii?Q?EoNQf7gpDMYJupXFVm3XRZtzPWC2Gjpa/mbWInHBXhBkPOZMCljwdglZc77k?= =?us-ascii?Q?w4QVW4pSVS1EzLiCfbCJju?= X-Microsoft-Exchange-Diagnostics: 1;CY4PR12MB1734;5:K6AnKTL8+gFk6zvF7zNEyhu76XhqWur45CdZhFZyG9J19+M7yUAvKtS+Z/JvteDMKggibwcH0xenHEATCBM1yu3Gvr0eDwNX1hz2XzU4HQR6sVR1Kwvzn61a72atxE0XWsJgzR3uuf+88FImuw+DmE6HR9GuDRUkvtk2z9h3qllsnM7ge39W9hocB1baOOy0uUx/emd6PP4hYUuI9FHnPTAnow9NeP9Toc9OPPNNZwGwXkCUBp+rpxXMy368gzOE1VC7X8ostqR3PeE8CZwdj0wFRDbJkdHHIzoMc/u+2x0XrOMVrdprKqX2fp/qyT4godnPgKWYvMW8C5Jv+a8c4SssjGRs6nnjQhXVx3hlm/ifrnrkrTReqRcm9sPq/n7n9pS8VoRQtbyz+X+l1IWIsM4AeFb/ZpEw5YL3/rw29IovfE+TNa/2XCjiCUr5kxi1Th+Tvwncrs38zuzwdQl2QYo9cgEO8q7Sk01OPcCQn8RT9j4Aow03zQQKkHIlUqa3;24:OofSzfMmglWvSd3lsR2iJcp+wsfBocEClyfy0+CY8SMcuw3NvR2YJWueZJm0TkiV4C6oPO6BIQ3PGV2kBGRi+cAw+S+2ONWg1JWV5Z/SORQ= SpamDiagnosticOutput: 1:99 SpamDiagnosticMetadata: NSPM X-Microsoft-Exchange-Diagnostics: 1;CY4PR12MB1734;7:0Ql9DM83IErwtq797tTx31ffpkkJeyeOJbHjehl48qPqHDWO3uTI2HhzauhGWNf/u5GEFbma3y6BZPbd/F4XyM3ZLXq1wUTpbfR9xxYHfvGniFMHm/ecfiDp+0MIP2BWEml1pJEk73cC1Yz5vpCzzMJmbU/o82z/qqTby+7dWzh6fP6Qn/GoXa11DYSCKHodFG3+zCLentgghxKq/Y/OAr8sBE7ygtP5qPh4DxoCgcyHdzwGVXIBT4RDvAIdtgmbbYkDteTISdakXteLwUU8byjHiHCE99eDZf1E6FTc6EM4VcA4eXl0PgTg10s7dZLdtPoPizmkGmbhANL7C0KE1hxzedsZw5vyzgnlj+eTWnRMzdCfUhvAX5Hnrv2AXgf6RIIFFSYtKXdkw1YBia2r6JXDNhjtXlTo0qBc2++WTqtRrx5LMgBHexJuKzwwrpnOjY/3ZUOgudBnKYPpFTZG0sZMw3VMRtK7P4r00GnQRH/w6O6ezFPyjvnU8CP00yZNvZre3u4lhe6Pq0PFFakDmaA+CPusZM/6UcH6vNgb1uJnhIVbcR2OrvCFzAVhwptyV4/G2+Xulg2jkGDmoOAT4rFZ9BapNti2QgzH6ng8d2Rj9I8L/0bjXoXCpVbKpUpXL68KbzHDt1W8mtB5RVkq393MLa3iRQIiH9wsE3aX7YU2ujhw+tqNWVYvuEqfp74OZ38PgxZBR7zVCun2Jd+7WamYSyaRbJr+qxLt0Vn+dbW78KbbXzBUmZ7d18r/Di1+XN4nrUcDNt4S/yBjruVaBUwD6QPnIgCfxBgjZ34BQWY= X-Microsoft-Exchange-Diagnostics: 1;CY4PR12MB1734;20:+ILlTGbsazGDok/khkPbNBilbEk1CIvp3aHmvjMScZBsvpM/gmd89ssZbJ0d2nbtN4tylYlMYYabceE3A8zAKsuXMGqOFlk00XHuePfiCp3Z8Z989caGPOoFYbLpFeAHItEw1NTn8ephsMpu8dUAq2lHhjBo3cb1sp/Q3wLoCCgIPtNRdrJnMPr9CkEHH12XHDd0lkClC7h6W7GneoQ3HMPt/iZJ7U/BNL4nX/TrmttCskql7GoVGyifXeP4bWv1 X-OriginatorOrg: amd.com X-MS-Exchange-CrossTenant-OriginalArrivalTime: 24 Jul 2017 04:35:42.1600 (UTC) X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted X-MS-Exchange-Transport-CrossTenantHeadersStamped: CY4PR12MB1734 Sender: linux-kernel-owner@vger.kernel.org List-ID: X-Mailing-List: linux-kernel@vger.kernel.org Content-Length: 3177 Lines: 113 Refactoring in preparation for subsequent changes. There is no functional change. Signed-off-by: Suravee Suthikulpanit --- arch/x86/kernel/cpu/amd.c | 77 ++++++++++++++++++++++++++--------------------- 1 file changed, 43 insertions(+), 34 deletions(-) diff --git a/arch/x86/kernel/cpu/amd.c b/arch/x86/kernel/cpu/amd.c index bb5abe8..b481df4e 100644 --- a/arch/x86/kernel/cpu/amd.c +++ b/arch/x86/kernel/cpu/amd.c @@ -296,55 +296,64 @@ static int nearby_node(int apicid) } #endif +#ifdef CONFIG_SMP /* - * Fixup core topology information for - * (1) AMD multi-node processors - * Assumption: Number of cores in each internal node is the same. - * (2) AMD processors supporting compute units + * Get topology information via X86_FEATURE_TOPOEXT */ -#ifdef CONFIG_SMP -static void amd_get_topology(struct cpuinfo_x86 *c) +static void __get_topoext(struct cpuinfo_x86 *c) { u8 node_id; + u32 eax, ebx, ecx, edx; int cpu = smp_processor_id(); - /* get information required for multi-node processors */ - if (boot_cpu_has(X86_FEATURE_TOPOEXT)) { - u32 eax, ebx, ecx, edx; + cpuid(0x8000001e, &eax, &ebx, &ecx, &edx); - cpuid(0x8000001e, &eax, &ebx, &ecx, &edx); + node_id = ecx & 0xff; + smp_num_siblings = ((ebx >> 8) & 0xff) + 1; - node_id = ecx & 0xff; - smp_num_siblings = ((ebx >> 8) & 0xff) + 1; + if (c->x86 == 0x15) + c->cu_id = ebx & 0xff; - if (c->x86 == 0x15) - c->cu_id = ebx & 0xff; + if (c->x86 >= 0x17) { + c->cpu_core_id = ebx & 0xff; - if (c->x86 >= 0x17) { - c->cpu_core_id = ebx & 0xff; + if (smp_num_siblings > 1) + c->x86_max_cores /= smp_num_siblings; + } - if (smp_num_siblings > 1) - c->x86_max_cores /= smp_num_siblings; + /* + * We may have multiple LLCs if L3 caches exist, so check if we + * have an L3 cache by looking at the L3 cache CPUID leaf. + */ + if (cpuid_edx(0x80000006)) { + if (c->x86 == 0x17) { + /* + * LLC is at the core complex level. + * Core complex id is ApicId[3]. + */ + per_cpu(cpu_llc_id, cpu) = c->apicid >> 3; + } else { + /* LLC is at the node level. */ + per_cpu(cpu_llc_id, cpu) = node_id; } + } +} - /* - * We may have multiple LLCs if L3 caches exist, so check if we - * have an L3 cache by looking at the L3 cache CPUID leaf. - */ - if (cpuid_edx(0x80000006)) { - if (c->x86 == 0x17) { - /* - * LLC is at the core complex level. - * Core complex id is ApicId[3]. - */ - per_cpu(cpu_llc_id, cpu) = c->apicid >> 3; - } else { - /* LLC is at the node level. */ - per_cpu(cpu_llc_id, cpu) = node_id; - } - } +/* + * Fixup core topology information for + * (1) AMD multi-node processors + * Assumption: Number of cores in each internal node is the same. + * (2) AMD processors supporting compute units + */ +static void amd_get_topology(struct cpuinfo_x86 *c) +{ + /* get information required for multi-node processors */ + if (boot_cpu_has(X86_FEATURE_TOPOEXT)) { + __get_topoext(c); } else if (cpu_has(c, X86_FEATURE_NODEID_MSR)) { + u8 node_id; u64 value; + int cpu = smp_processor_id(); rdmsrl(MSR_FAM10H_NODE_ID, value); node_id = value & 7; -- 2.7.4