Return-Path: Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1755044AbdGVCBb (ORCPT ); Fri, 21 Jul 2017 22:01:31 -0400 Received: from mail-by2nam01on0063.outbound.protection.outlook.com ([104.47.34.63]:60490 "EHLO NAM01-BY2-obe.outbound.protection.outlook.com" rhost-flags-OK-OK-OK-FAIL) by vger.kernel.org with ESMTP id S1751922AbdGVCBD (ORCPT ); Fri, 21 Jul 2017 22:01:03 -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 v2 1/2] x86/amd: Refactor topology extension related code Date: Fri, 21 Jul 2017 21:00:38 -0500 Message-Id: <1500688839-30247-2-git-send-email-suravee.suthikulpanit@amd.com> X-Mailer: git-send-email 2.7.4 In-Reply-To: <1500688839-30247-1-git-send-email-suravee.suthikulpanit@amd.com> References: <1500688839-30247-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: MWHPR22CA0060.namprd22.prod.outlook.com (10.171.142.22) To DM5PR12MB1739.namprd12.prod.outlook.com (10.175.89.144) X-MS-PublicTrafficType: Email X-MS-Office365-Filtering-Correlation-Id: e9d6d994-a1b6-41e1-6cbf-08d4d0a58152 X-MS-Office365-Filtering-HT: Tenant X-Microsoft-Antispam: UriScan:;BCL:0;PCL:0;RULEID:(300000500095)(300135000095)(300000501095)(300135300095)(22001)(300000502095)(300135100095)(300000503095)(300135400095)(48565401081)(201703131423075)(201703031133081)(300000504095)(300135200095)(300000505095)(300135600095)(300000506095)(300135500095);SRVR:DM5PR12MB1739; X-Microsoft-Exchange-Diagnostics: 1;DM5PR12MB1739;3:Xp5u7yVeJKItFVeQOw+uYEUaGuOpQ+M6ODR8DNltrlbL1fWzpkg6cEl5Ank/hAKXpaeSxI9OC1O+PT94yuyOfE1z5aDV52rvtpLbRg5BgoBZpJMfRu7UDJVLoMfxa5vy/fvwRNJ9plUKIC3M01nUxD/yyjmfkiVnbi55SLiL/pYnnSd2ur+A5VBXq64jqs0cKcY2AP61x1aQYeGwKZVfA7txjHkvjOcMptzsDAFgmnwv7cB9XJo3+Awwyz7JMsuM4HztSeCH75KY2ShFyfSy8DTYzCPNRYLCe7Ji4bG1+MZ57gMbdHS7Lt4CIrK28D1BXEQmj/fMkYtgeSjpHZleKwuYIimNocrlbHXMWYlonS6FZE/0PTvlUbZGSeE3/n+gXqxIOHLGB/2p5sbQ27AlxCpBoYt8Sot2+0FAp7tRrCaI87gnAfde/ldGM63qV2xi1ZamQXKC/wntEKrEhybS5Xw44XKdfWHBqUIfY+dOOR+7chPdT7qvawxlPtxHDqbSB8ZqlNP1p0byFNohA3/JnRg5RBh7hTQlmZSxiiWMGpok+hYcRgK4VYAVWZ6b4MY53vxLSpMsE4Jp9xkD3MLiHt1mRrb4RZOrPpkvvBDidhRbheRWlC0Fqdik2oHph6S5X4fBrC3bHRVQ2IXVErRisrJHvcnGhq9wOYywYQBou6lWIJYOKj9um1v3q4HTk/z4AWJgkkN46d7KLCXHlCW8Kv8nua+ndA/z1Amr/asyQYpfhYZuKDkbM9I9ruH5Fo8OUSXNGcLtQ0YNipodEr6zww== X-MS-TrafficTypeDiagnostic: DM5PR12MB1739: X-Microsoft-Exchange-Diagnostics: 1;DM5PR12MB1739;25:HCjcs3S0lEOt3z30F7aAIZ42nhxOT7gpLmfzhGVJ+3R/bvFEX9nT2XegD7kKdxsRa6Q0Z1kjG3zvmkctiHl1hYJP9vbGsORtmpNOC6oSfxk1pLLjDvK7foZGbiUL2p3iXAjMqM6IBa+wTYV8JqTsNtOpfl7Z+FWpHjAoeh221H4MD48bYdKMhP3yjsWOR58/oCMCl9A33MRBd/6dkbsb+O52/rxnz+w0a7bw26j8sPZgvY59DA+TZ1svQ0mSZ/J0jZQDH5f5bFRwZYsI332iLK4FQ1Y+6WFpHmgQJ4zE1/8qplHBwmwfy90pyGVRwvuE0wUO5OPnEa0NzlRdfvHlS7WAlAwiC9tZjRMXc+EBIVsJcwIqHDf0MhXY+bicGUj33YGhjODpo+s/orUraFgPw1eBbphJAwCfIot0iCEZt+8PbUE+J0uM9qqPKGhAwIi7lGxjFOYDp+BK+oQ0qN3YqCIpBJwgQP54uECJyN27SNCuYSLuatgNIlI72/h6KGqsLhzdoGwlYaiB2Hyt3s4V6fkCsOeCCBDO16EYVg5zFXuxY9spn2AHJVb8LYOhUO8ps+lT7fwNHBcqbnmgb6g+O4ThaNbiwMxknSNkMAutK/E8I9xkvqkfwH5sKlx22P0z7yo8a9J4gOuOaES6LE4RulVz704S0yaoIYZXkbRbNKOV494claEXzsspU3En5B3v9JFFIBphE+80CV/7R200AZDyN4kG1QJrIfnP08xfuGO5VRpaKIrln81UTxefXJ4Y5tjddC7VlxQXd6yT6foiheBbKREO3F4oHomE1koJF5unonxKMWcJS0ma0t69wY8U3SkCLRCvLk9/jYP+gFJJWMnEJJ+eD4mKtgswnlqgXaNogNofZ+A734Zv57qPicQwYUVMGPMDHyF73/AeoxW2VaG5T4jKj4ko2DgYUawG8XQ= X-Microsoft-Exchange-Diagnostics: 1;DM5PR12MB1739;31:ZGJZcaniD2fD5OrGHFTwJKffwHe1ye8wJIax/EdOkCui66WLvowHvqikaltpTaOmN3kJh/ifZuI3koPE6xY4OeH9u/8cmiSYoObaiUmuKH7ZzOkYKrzkp2xtwd2iHNDQBrQbrCYxvorcmVApWbr/2CJhkm2DkviknyTsQa5RGYv5d5HgTPjjSGNfjBT/9nlccbmBM6IH23JH+3gB89hXKNhKjvlnowt52OW81UWbdOnR0gGNbQbNVDDolDun5trU00RvbajDC5yU9hyAWU7qzkxu7TMIjLJkhSXC5vRmYzWFgn1MPnTTGOhTsZ4T8Jw6IP06JBSMW5GSmXKMOh93plKQMKupjDdEGSaUlWHVIKnE1WaclovdQCMGs77/8EszpxPvlIFOgDBWhy7vTCZRztvA+LZAIwz+eICUt34LYXYo1xwbjSxp2KGuX1sgkL84SQEgY9XHVGpZ4cCiBqayD/9CfySA1UevK8RpcAXcsUFVjqN4HlCvOEtarptoq48iRentPT+sFDgfLyrd63lgc/HoFsgRSHEu5n5v+bYuDEAm0A3Iz7VZr+Y42WoPtMga5xJkYma4FoLmo9wKhij2USmvEg4qOIsy8blvHS2lKtXw1r8PzkxPjGOHgfZz05cWmUOtt9gBt+ApAu54VygzSRpQnn5yZkbsSYabcvPOnH8= X-Microsoft-Exchange-Diagnostics: 1;DM5PR12MB1739;20:iYzQrbdHyybT9C9n5OruVwTNqE2Nntfr4/OOZWptDT6LuA5R2AidpcTHxvbuQuSqA3lLpgmGRGjz/uaLYS3ib3gDxo6VVXCuQJ7KG0IUxoW6zi161PUR8eEWQ7Z/l5oKmt/Toolzk+en/XDThPCnlipOKwllP1zV3Yv+nIe/gW2ZgkMQ2py2tD/HvEJzp8x0iZX13l2x5jCiQSJgPW2w/p6MV2alvMUJXNs5MKx9/L9nT0vK1JRzBa6anWKIoqkVLCTZXAsJ0iRvmAd2AA8szPgIGaCZx92imY+sE7m9aRZwri/5kdpBhbIAxp+E5TVlU2YzAjxQ4sY3DLDHoLl7eOkGBDTkU9Q48Zk29lAez2WHZZwcsAz1BnLTXcleF3ix5XJqGfvlR0kpW39BD2mTDsAV7ZYjOOlpR4juiR/zbfUZGQw+qsSsN5q0CetwUoMGfdJ/qJQsCOK2v/vcMplRPXMQVOY33kFnVeiFg4OoU/B1xf20HlH54w52rdQ7BlVz 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)(5005006)(8121501046)(3002001)(93006095)(93001095)(10201501046)(100000703101)(100105400095)(6055026)(6041248)(20161123558100)(201703131423075)(201702281528075)(201703061421075)(201703061406153)(20161123562025)(20161123564025)(20161123555025)(20161123560025)(6072148)(100000704101)(100105200095)(100000705101)(100105500095);SRVR:DM5PR12MB1739;BCL:0;PCL:0;RULEID:(100000800101)(100110000095)(100000801101)(100110300095)(100000802101)(100110100095)(100000803101)(100110400095)(100000804101)(100110200095)(100000805101)(100110500095);SRVR:DM5PR12MB1739; X-Microsoft-Exchange-Diagnostics: =?us-ascii?Q?1;DM5PR12MB1739;4:chvtNe4AMT6Bs9aR72CKzcVoxKRgu1avucpbnvdZ31?= =?us-ascii?Q?egyUFhHJlg3OpJQ+EesYEjjAsC/qnSGJIX/4k+cBQO7YrgpmtE+gdivAwnbP?= =?us-ascii?Q?ARYqDCedVCGZj09deeHIArgByVDQI7DExWBB+yCGH3G+fi1ElVw5n5oX/X80?= =?us-ascii?Q?sAbmOjKKVFIZaIGVNM9QU51CfGRoHJRXw5xuJpu2xf8vtmBoeCHfEq3IEVPA?= =?us-ascii?Q?oIerofXS1pBaXU186LP+7I8K7C3B+ZnnWRCtDilDpMMMVZ/ccyH0bWdrI+mK?= =?us-ascii?Q?qjgBGzgRpFZsWswqtMP7GP9XMFLgUoF7HrPQZq9phjMDTpsKmSFxpeK9cEPr?= =?us-ascii?Q?sjNJysEIJ8S4BjHrL5ug0LWlP0OjD8d+GNSOwaHDG/3ESnSjqEkGcffKHNTB?= =?us-ascii?Q?xE/1mZhsPDiiKcU+gq4sByFvwwoNYc8CqFSna1yiGlhG4THboSsmgGalQvaP?= =?us-ascii?Q?3nrjaSLHw3VZhQ58mZJjkmAvYRiNzNWVCNHkf7q5N/uMG9xgvFc2PlPSSh3v?= =?us-ascii?Q?jPMVkmG4268uypsTDuzQX9EMlKMcStHu/FJNMzH3OJuhLn5+okKAb2Ei13Vw?= =?us-ascii?Q?eqxvOm6X664J74bSNEJgreSF4c0RuOeC7qIcc83gmIFSC6X/BAJfQTeHeNR6?= =?us-ascii?Q?bufJfqp87k1qfCD8xuFBaLgn+QcBtAcpzkFzzXKILChgPhDkUHo0+D1wHc8h?= =?us-ascii?Q?ajzdtBRskpw3OPD2kIi+WNMBexxDLq53Q4bX/YlmzT78CkZrIYCRHqmhDaRL?= =?us-ascii?Q?kJ8RHmO5uw4WPUH2uR1ofrce2IaViTb93q8MU65wjDp+jm2koKANmqy8CQGQ?= =?us-ascii?Q?UsSYlfKUibGj3p5Mx+esUpl8jjAKshgSpx6IcmUme27bYEx9423pHOiR8cUO?= =?us-ascii?Q?w9XLoX2kJsv3aADCwOHocdJEbFo00BZg9cxgFrIue2cm0OOGgoz2Q58SaDuv?= =?us-ascii?Q?+HK29DXh3WNNdsDRhrwkAlsIQyJweKu5CIMsMPYx9aRs7PwEQm60j0Iya3z5?= =?us-ascii?Q?zqxUdpGiUWIqO7HxVU/9YIKMdtxL8gV9WNRv0tm4MmL9FtFOuj2JoGMPEyjX?= =?us-ascii?Q?ymhbrRRif3a3cZD/epB9fcpHvH8bTUj4oCGNQ8tnAEfJHqplqCtGfld9vJPQ?= =?us-ascii?Q?ReQO8UH8Zh48uhyPZCOvD9iW3SswOOGzxg9nmIcc2hVGHI49iUzYQdQ36N8t?= =?us-ascii?Q?fLK27qmllZxVeaLN3MnO4ooSfqFgvOXJA5?= X-Forefront-PRVS: 0376ECF4DD X-Forefront-Antispam-Report: SFV:NSPM;SFS:(10009020)(4630300001)(7370300001)(6009001)(39410400002)(39860400002)(39850400002)(39400400002)(39450400003)(39840400002)(199003)(189002)(105586002)(50226002)(72206003)(53416004)(38730400002)(81166006)(86362001)(106356001)(66066001)(47776003)(81156014)(110136004)(8676002)(50986999)(53936002)(101416001)(68736007)(4326008)(5003940100001)(76176999)(33646002)(189998001)(5660300001)(6116002)(3846002)(42186005)(97736004)(478600001)(2906002)(6666003)(50466002)(7350300001)(2950100002)(36756003)(7736002)(48376002)(6486002)(305945005)(25786009);DIR:OUT;SFP:1101;SCL:1;SRVR:DM5PR12MB1739;H:ssuthiku-ubuntu-b2.amd.com;FPR:;SPF:None;PTR:InfoNoRecords;A:1;MX:1;LANG:en; X-Microsoft-Exchange-Diagnostics: =?us-ascii?Q?1;DM5PR12MB1739;23:pGAb4nuVYBixSM42eUZZM158YHyx4EkqcFhA6AI/f?= =?us-ascii?Q?UtRyK70kURkUAUr8OdaYS9mhiz8evEth3roEyDVjO0X1Ak5XTCi9Ev07LNKN?= =?us-ascii?Q?8+iChiC3hOr7dkox4o/chevDshjhkMOrbfjFe5i1MDqi8ecA33vZ4Gf4WWeD?= =?us-ascii?Q?1bb+0wdjaw5Zz4usQwgcCtHFs7gsamDUyj9as8gBWxswx81218HDXQfXHFf5?= =?us-ascii?Q?q9Qkri11IpioKpAGGjxTVF/h7HZF8/eeCUhLZ46+uaziJZcmXVR+wa3qRVhg?= =?us-ascii?Q?/NwFZeuK/VDjuN5UUgkRogCHDWgAPJtbzWwSeRJ9BASU+M0MQJedqxw4GZh5?= =?us-ascii?Q?9dJNO4W7ZzaPwtcdhH+WD4T3rHU349WXWZRShMYYdNItS1BkAL32J6sv5T4n?= =?us-ascii?Q?cAZ/4KGhbXIJL9ueBHUK6/9nMIpbrhwSpsUErkjeqBDAHTg8SkHKJWn1A4nB?= =?us-ascii?Q?fA8syrqkVaT8bvQx3Zbadcm8GpnP7AEFQ8Jx0x14+6zs6gNDfo0Ip9IKO9n7?= =?us-ascii?Q?anYzFq2UnA1YFWrpsnsiifgGgrTu7hlo8e8kGhnJQCoDpjZSHKDDpaQFFoUh?= =?us-ascii?Q?CSm6Uq0ZFYfjsf3atw3OuJ6cujtJ4InJlhrDYF6rUJOxu5oG9f1sMcl327sh?= =?us-ascii?Q?I7YmzZHRhJvDqwiDVCDSth8QI4uvrnHr6BYTCVmI845A+I/91/krORu1KfTm?= =?us-ascii?Q?QblVgKim/CnQcOx4L3uDFzSC1zFTrIzBVVi9vgldQm6hrq9hzZyphoHRHyFO?= =?us-ascii?Q?0uw12OxsT0cC03qAn6Q4KGMxsSzsP8+TO4b7rZWy9b/qZVvYoWfIV7YZTALE?= =?us-ascii?Q?U6ks8tG/xpyp+BC4RlEMG1evO/aMJMCxf8abVXHu1FG9esqI+SGez/rkOX1G?= =?us-ascii?Q?loUof+tA+FjeOTcJUNKpZ2wPbFK2bmQtcRtDSIiI7J8hSvgGZc6iQnpqPnlc?= =?us-ascii?Q?ZtHRsu5hjy01M3oGSIXFcunzoOQ30VsBhRZICVT6wU/4k/be3vJ+AV4MoR1s?= =?us-ascii?Q?/qCdxgxso6tBEw6yIQMn4NnzuGxeck/ukSdM9a6yfzhb1eZ3JCiUV7qGlTXy?= =?us-ascii?Q?vPJErtOV9GC2cj6S/MbbPWEtmqfgcPRJoJGs6HuGavtkRGb8PdT86GyQGi2G?= =?us-ascii?Q?icuD2vSGPci71UTzlQ5UMFeFVf/pe6YidadpHhH6Dy1mgJ2L7VwxguGbJDB6?= =?us-ascii?Q?U3LgRZgldmGJWuhVh1GkhdcTaX7YPfreJjnVhQ8r7/H49Dsf8ZcezC/kg7Bm?= =?us-ascii?Q?1RNQS8ejV9s+bun5Mc=3D?= X-Microsoft-Exchange-Diagnostics: =?us-ascii?Q?1;DM5PR12MB1739;6:9To05zQNQ/yHvgdDF97xdmO430rDdB7Dit9463uvCu?= =?us-ascii?Q?8Up6CaaTszXv2LiuSL2wWnryyS0+kOtvMRv2TVARTif6K6oQLHQ10C2+y80O?= =?us-ascii?Q?YLL/lRsR4nGmMDT6JIY1uXZ3S3DxxZmo0Q+eqIdtAR+0ayBgjj7TcN7sTvdF?= =?us-ascii?Q?/AraMr6/Plg1IkyF3HbPDydn4eANfWNKKnrbnd/A+ADKoTUOWgBGErJDB/Y5?= =?us-ascii?Q?k9gobGe758WNNPdWy1Eu25UgmJSa15B6Er4xnfbJlaQ9G09UdsaWmZ4KtMcx?= =?us-ascii?Q?/1guMsC+2YKcHQRBWR/qzksgYvxniw5q5K8Szw5ZuPZZlIRoDNiKGivGdNzS?= =?us-ascii?Q?L6feytRQJo7aRwfO9WIzqGNU6pU+tWy6gtn+4GqONcTVgsGCrdfyIFt/WX3f?= =?us-ascii?Q?iCEyjHXFeqQju/1Iw48kOKSUKry4/+zgS0Sya7PvEp/4ggPCs/MI8JOgzK7m?= =?us-ascii?Q?66wv7m2qGP0LiWD0NPqNHusJChZl8Zm02bdWuWJvyyNQVCFcRDvvRTkTkzhx?= =?us-ascii?Q?M32EPDl8+16t44Ah9vtHphJoXyEX75IH+jlhfhOtQrZXLDLK3KDVbUm9l5bu?= =?us-ascii?Q?aT9qNNKqlBlRoK+0juh8qRUodnsOvEE7inwsBd29lNINdgt4zmwGK+f3tJm6?= =?us-ascii?Q?qEPqZonSYverRcLVUyglzxamtPQO0pfIUMAFwtLWXbwYAcoBhvqPVOcDu2g2?= =?us-ascii?Q?VeVisjuC+Vv0XmgYjT/9/IrBhWD0T7Qzpz4L4EZE+n3cOnEIQRYMfL6DSFI5?= =?us-ascii?Q?jLF8+M+5Jqv/eDFqxjnZwNxqGpbgn/yOagyvCSanNxusSYHdMiMbqpzaY/F+?= =?us-ascii?Q?DK/3ZR12S5621lr6evgBVUdbD1ul8fObpkw21cZQSskMwqbvvYnLphTlJWlu?= =?us-ascii?Q?/bgeBstmRnaz6mGap3V6Xep+5Gii9VG7kp3vuGnEvMp4XOdGC7NZL71dTKbW?= =?us-ascii?Q?Mml0EYbEUuWIltNs+YWL7vqbLUaJtzNy5XNOxh+CkceKFQ3BKvOPmuiI4HW9?= =?us-ascii?Q?wWuqgaKvPU9UwrFJczmhg9?= X-Microsoft-Exchange-Diagnostics: 1;DM5PR12MB1739;5:vWucQBUBCwHBv8yT7zMiYjf+8ag/9TbLGXU5rNgMrJ1xfKuKQ4vOQ3oXR+mPxMn1AlostIkF3toH9hfha0S7f1O6N8Un+DcMMJ4E2RQzU/JdTCEmqNeKUwLoZA30Q51Oce34DOLs8jxodJmP0rLJrjiDGwMnXfP8emcK+MNFLqaooMIekiu9REXDxlPl75bCqF8u53KVO4O2EIe9Hvv+nkBag4Q1ieFr5SBhfdzq4/DOLCnlewmzq1t6f5DNCxtgf9CPQwL6TekcnQBANjGKBv2I8nZ6s04PL8I1ZztufobO4ve4NmNsjokVnq0igv9aZV7UJciKN4wTV74UzsCJvF2Mtm4rcJkB+T19yxh2GsFOkmxWVpYxpb5an6l6Goc8a7apy5p2bcmIKNO9BMyN0ed9pi420uO6Iy7RMYAf9TuPXWUW3kamLgpr2vtPHYNXexeFzoKH2nN0gZLWXWegz+wQKko9X4caT2QzmD4Co7BPM9k/FO8ZMaLAadISGrc2;24:aSWXCKI8zQbSAUTKXeTegXIp1wja54OnHjGOPb2GYJ5E7/84zB7sJEq9ncMW9RolQRpGJ29SEHhTCFpL0LQd42nkpUNLwDlrnwDJOpR49yw= SpamDiagnosticOutput: 1:99 SpamDiagnosticMetadata: NSPM X-Microsoft-Exchange-Diagnostics: 1;DM5PR12MB1739;7:V27qk0tIbZz9UuVYJBCgNtiKW8TLx0YIV8vSRo9bnXQpAmYn2mvKOLPFEz+4IIFjKTNX9FQkdxuG52SMWKsw+Toh3L5fKzKrkqPixgYJDKhYmwDHXzQiDmZn2WQqdshhQAqSrJMs0y367J8qnxkrmznvqlqVZSTI9pGTuVgMHGmxKBQQcmsUcdVSh2uyY5FUHy1M5NQ4Hztu5ZEH5cKlTN8u1Pt1ln5EDObLqeBecOo61fgTFLaOnZm7KDgprwgmNo8h89d0gGQ4Ys1seJdmXlGQkt5T0Xsdp1INqpt6rMnJpX4fCL0Kh6V+A/ZuCeC9YDWL0JxnaM/XHqTvdAIqz77edzmQXS3KHYKpTJ44l2KhlkxdDOBFJYETvB+9x7FDUFcioN0NF/mnuLigrlj84pBZQtpy8VBkHTUn7hKT0lTG7EkvIqe9eaoHi01H6nmVFGKh5nuP1ZNPNjh6vXr33Zi6dzBq/KP+3q3Fg8CcUytDn/EzXdkx08XtpROLUaKadLPrjzqa3UCmdposk6/e+HKGXgUXZxA4ByeJFEtAz/zHrXGSwvQJBsmPdSyF24j9u7UogUc/j565rjkIXEAlkHL/enw69fTz+BnDGDlDUaOTg4NhrxK+pIlGx+pxzIG31/2YwikY3iKWd++PotVFLILszpJXmcSTKohlUjsIw5DX41W7MYkaixGjaojglO9xZ6uaDTA3mPxbR6JoK4tERsLil10eTZJm3TWejyKG36Fh/8CgVpxxeKIdFx2uWp+5UdJizLM8QJZSha3qdV+HSB2IgA1jzJ/KF49wubyxkME= X-Microsoft-Exchange-Diagnostics: 1;DM5PR12MB1739;20:245ELVmyVn1ZHBpXs1eKvtWTmAqLVDfkUH1dqAIghiAyZnIRaOoa+IwcG0beMn6ITVwPI9pb3aWOCPOmBd0C4rs/Ot/9sz0l74nWaUHjMEY0nC0dWBgz2xn6zvuRHuDPQjD2o8ERQLbpZ74X3UpNtXuHXLPGGCO136Q4KPyfHEH4YmiW5qWP0IG3U9RBG8gyCBlsaRF2vKlcITvm+zBi7/sEUE1yoxellRhIYA40sLUyKuF8UxAA16fECl/qTGDc X-OriginatorOrg: amd.com X-MS-Exchange-CrossTenant-OriginalArrivalTime: 22 Jul 2017 02:01:01.1145 (UTC) X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted X-MS-Exchange-Transport-CrossTenantHeadersStamped: DM5PR12MB1739 Sender: linux-kernel-owner@vger.kernel.org List-ID: X-Mailing-List: linux-kernel@vger.kernel.org Content-Length: 3180 Lines: 113 Refactoring in preparation for subsequent changes. There is no functional change. Signed-off-by: Suravee Suthikulpanit --- arch/x86/kernel/cpu/amd.c | 79 ++++++++++++++++++++++++++--------------------- 1 file changed, 44 insertions(+), 35 deletions(-) diff --git a/arch/x86/kernel/cpu/amd.c b/arch/x86/kernel/cpu/amd.c index bb5abe8..74d8d7c 100644 --- a/arch/x86/kernel/cpu/amd.c +++ b/arch/x86/kernel/cpu/amd.c @@ -297,54 +297,63 @@ static int nearby_node(int apicid) #endif /* - * 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); + 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. */ + u8 node_id = ecx & 0xff; - /* - * 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; - } + 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 + */ +#ifdef CONFIG_SMP +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