From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1754980AbdKAQUO (ORCPT ); Wed, 1 Nov 2017 12:20:14 -0400 Received: from mail-sn1nam02on0085.outbound.protection.outlook.com ([104.47.36.85]:52231 "EHLO NAM02-SN1-obe.outbound.protection.outlook.com" rhost-flags-OK-OK-OK-FAIL) by vger.kernel.org with ESMTP id S1754927AbdKAQTz (ORCPT ); Wed, 1 Nov 2017 12:19:55 -0400 Authentication-Results: spf=none (sender IP is ) smtp.mailfrom=Janakarajan.Natarajan@amd.com; From: Janakarajan Natarajan To: kvm@vger.kernel.org, x86@kernel.org, linux-kernel@vger.kernel.org Cc: Thomas Gleixner , Ingo Molnar , "H . Peter Anvin" , Paolo Bonzini , Radim Krcmar , Len Brown , Kyle Huey , Borislav Petkov , Kan Liang , Grzegorz Andrejczuk , Tom Lendacky , Tony Luck , Janakarajan Natarajan Subject: [PATCH 4/4] Expose AMD Core Perf Extension flag to guests Date: Wed, 1 Nov 2017 11:19:30 -0500 Message-Id: <85e5aae70d2d09e0dec236ee531a08e837e9d97b.1509476456.git.Janakarajan.Natarajan@amd.com> X-Mailer: git-send-email 2.7.4 In-Reply-To: References: MIME-Version: 1.0 Content-Type: text/plain X-Originating-IP: [165.204.77.1] X-ClientProxiedBy: MWHPR18CA0037.namprd18.prod.outlook.com (10.175.9.151) To DM5PR12MB1673.namprd12.prod.outlook.com (10.172.40.142) X-MS-PublicTrafficType: Email X-MS-Office365-Filtering-Correlation-Id: 2c08db58-d61e-4e37-217d-08d5214462b3 X-MS-Office365-Filtering-HT: Tenant X-Microsoft-Antispam: UriScan:;BCL:0;PCL:0;RULEID:(22001)(48565401081)(4534020)(4602075)(2017052603199);SRVR:DM5PR12MB1673; X-Microsoft-Exchange-Diagnostics: 1;DM5PR12MB1673;3:uGR4vr3E+MPfGhBZs4l+A1p0lMwZzlstXK+GL3o3nQ086tvEF16Xz7Wl3PTdJZjbttdX91Ku9w1WejTkhyODT7SouXQl45DN/oSZlUsJ7M4ucXOs8DEBc+cWJiZHhUY4FK8Ut/KUZwu/s8PT/Hb9u5al+BB28T10NySkXkPGMmA1chH/e+YkY2MTou/CrjnDgLZGSCt1XY6i2IojdI7aI+1QGOXwBHugDUOlYdq8N3XiBTUFj4HNvgTkJMbtthmp;25:KFUbHJKppRueS0Up3+Nxmxt8jb6wCQEhV3Fhwq17QjhRqoGgeWU6vG2kO1h3N2uA69bsbln3kUCxf9nVndVlLtNWlIwNE2OyGMTYF6DStrVcPq4Qm0MnNWZWT7Bpm2OpWO10O8flzBe06pFGn2TE66KxSxrWFuYlWZ3CBMZ8JTTEQsbB8PgxIZtah6Z4XbFlED4Mt3pTRK39V1ZI5FlnNPMU1z33xJPG4a6imGuhfzDUWa4pKKNyb8VrOLEsGWFr0DQd6h6FKPDdNs0VDauxDuCWiHFlJPZmfQMN+fg4gaqRB4lpHtFLPB69Mu4EQD8r4RLowJIvr6VMyundM62xTQ==;31:+3ZCaD59i0cwuNotLhIowj1JOQYkpAzYUospAw1dkjKm2t1DvfiftiC5d8syykXOh+SecV03TQ2S+X8aDwWfjC91U3eBQ+fwiI4h9culrMfwA8BG8Bg9ALU+ikJRybKqEvyjV0WZe0E+ZzynOanXyl6uCPv3ThAfiFCVcNbL5qxQudaW6gyQvaUNxqLQLsfDJ2rPws1+XTiJ8iQS334SOqn7jGaC+VTHqoFp123lD3k= X-MS-TrafficTypeDiagnostic: DM5PR12MB1673: X-Microsoft-Exchange-Diagnostics: 1;DM5PR12MB1673;20:k2Oqi3DYZQatyS2lOSbu76iu9TaTAht88fQQDFOExHZKb9smC9rU3h9S9IukeQNdQTFz2agWsgqmj/96tEP/pK504Md9CI4fiP6gg2DhmDt+28pEZNdXDAxOOWz5QYNbe23fJ+WBkDvKJAguIk/1igPfLZpscg4nzGNltB5S9yaFO9rkbNG7xrJEOjrL+aTN0pV2hkBqJm7hxvMJBuuDK2wgrBIHlOuYSC9+UXya3YcLK6Rd9mMQSmfC2toskYe8RU8TZJRMrzQXQ552SpzvvpnCzwKCvNflvdCaLGgQrZgXZL/q9JO5vh40qcIlunhp5HQDTd2Qw9s3aBN2LloRNMBm61Z4tZbBeftforssT8kzyXSRDbp29qhMmEhxRvdQhF8qKys8INwyt5fDRfqkIIKxjc3Pn/XCz3/i3bnjUEUDYxRw0/0tm7K6pE5Q13T4KMXJQ34S0mjdWif8/Cse8xMcqA2g/F6RjojEDLKWiNVvWTOPmpkDHYdG/N3uhBov;4:WIxd0rNw3ukshzKIIe02vRdihwJEVbDiFerGo7I5z3/eEy8IQ9AFH6O5BoOn/TMZ4+X9LAy4dzNGsItDO5SAQtnFVJnXDOY8ucSPOI/uRwDh3PK/WgvgFKdQd0a3TVpEHco410d+ASeb0Q6Iql9+neoUJlxhdTon+MBs2yfypffpkhPIIHATN0u/IcKSErjq85lQHcMEhfLMc147Jk3AkZLuNjwqdpm0dvUt1+KG0BcEXbwFd0znyc3J9GjoayDsCYc1Kew5xpPm8flk939y382gwu9sohjQTGIfJtoIV90RZNulOiSXFbKVMQ/vbviY 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)(2401047)(5005006)(8121501046)(100000703101)(100105400095)(10201501046)(3002001)(3231020)(93006095)(93001095)(6055026)(6041248)(201703131423075)(201702281528075)(201703061421075)(201703061406153)(20161123564025)(20161123562025)(20161123558100)(20161123560025)(20161123555025)(6072148)(201708071742011)(100000704101)(100105200095)(100000705101)(100105500095);SRVR:DM5PR12MB1673;BCL:0;PCL:0;RULEID:(100000800101)(100110000095)(100000801101)(100110300095)(100000802101)(100110100095)(100000803101)(100110400095)(100000804101)(100110200095)(100000805101)(100110500095);SRVR:DM5PR12MB1673; X-Forefront-PRVS: 0478C23FE0 X-Forefront-Antispam-Report: SFV:NSPM;SFS:(10009020)(6009001)(39860400002)(376002)(346002)(189002)(199003)(72206003)(2906002)(305945005)(53416004)(47776003)(81166006)(81156014)(478600001)(8936002)(7736002)(66066001)(7416002)(97736004)(36756003)(6666003)(5660300001)(54906003)(5003940100001)(6486002)(2950100002)(16586007)(25786009)(118296001)(68736007)(101416001)(16526018)(3846002)(106356001)(50226002)(76176999)(6116002)(86362001)(4326008)(105586002)(50986999)(50466002)(48376002)(8676002)(189998001)(316002)(53936002);DIR:OUT;SFP:1101;SCL:1;SRVR:DM5PR12MB1673;H:gi-joe.amd.com;FPR:;SPF:None;PTR:InfoNoRecords;MX:1;A:1;LANG:en; X-Microsoft-Exchange-Diagnostics: =?us-ascii?Q?1;DM5PR12MB1673;23:LQ5uaAvJPeyR+JrxrzR1yCHRKmkeX3+3Kgn77urfx?= =?us-ascii?Q?WDsgFRybtL71oQGbC8JJWPD56ql6nmtoTGUvzoRFpLim31jMzNrhNBpFdJ4/?= =?us-ascii?Q?il2UHffO1oX1fOSrjN+kBToJjQNDsI7XqDlmaLuwwdmNpRwIddoVF9kWgYBb?= =?us-ascii?Q?jo18OpCtmOsfrbptX3CWp/MnnZwAvv6Gvqvzv51B67/FNaEIc9UE/ALaoLc4?= =?us-ascii?Q?V8N1hHdfhdNNmTeb8hLJiuw4HfP+pI2XO71ywtjNuXs2iOS5vM2LZJ1/5UBG?= =?us-ascii?Q?8AwSZJj/OpLviEka1m8b9jdQNHwKK0U6XHdwCJLV2tWgALDFP8aDJs9eyK7N?= =?us-ascii?Q?Kb1byMlzj3n67fSO2L9mCUcyS0EYzfj2SSLjVJHHxBUaFcnuKaJ4wflN1omy?= =?us-ascii?Q?P4eir5QvMCwcSnsSNnrtjtOC9NkFzOnpoU151f5s+DCwPyE1EMp60CHGM6Hl?= =?us-ascii?Q?RLAQqwUcJSn5PTvvD8dl2aPNvIYA/NFWAqJyTw1Bmz9BX1psLd0LrcXQeUqP?= =?us-ascii?Q?Mo/HKYH4pD9X7lfNVq9SQ4m3N0pmF6TIbZu5EoHTNYZVVyB1ZnJjEU9jC08p?= =?us-ascii?Q?GjPH4tYPlgBaNE6DAGphIKIjmo4vBenbtb04ztqOx81XboXrazwqQpSh73zw?= =?us-ascii?Q?kt8YzcjhchhoxrLgegsOIy2yNXjhR9KvfCeJxRtpP1zwzwpjlwGBxTkFVjdU?= =?us-ascii?Q?tTEoySjAxVuLb9bz+VDC1KO6/PgoK9OtTQtKeZzHWHripVerzf5bh97QuiFN?= =?us-ascii?Q?G1C7+2/eXS1CNparsTjA5FPElOTsyPI99xUdfqQYz4up0WDd2u0z5sHlADv9?= =?us-ascii?Q?8gi4XDsw8VovDQsdaamiVLxQEuF55uk6+wTTLFF1aOMviCaZuucnrnBcC5W5?= =?us-ascii?Q?X/S60CTbUKDqskHrmWJRNZZ0KJhHxyPgTQIt5Mh/5P4QK45/cGpXB3SzpGrD?= =?us-ascii?Q?JEuXC4EIUkV8DIWhEeU64NghFZZyxRzVotEHKnSjQrPH5ToOxjQ6OO2deid7?= =?us-ascii?Q?ETbFApe3EXqUUZRbPaevZBXPucKDVZt28hdjUKrZl+FLBiEuZ7WOOWfCUOCT?= =?us-ascii?Q?v8A9bRG4dQPhNOKk6IlNJ/NLWkQhhAoteOoRnklrzQZ8qX/mDoBLYRfRBavo?= =?us-ascii?Q?djCmG5PURw=3D?= X-Microsoft-Exchange-Diagnostics: 1;DM5PR12MB1673;6:dx1qYEFph4sZwAtus9es346WGuCSdZRC84Tc40IEmOe/Fv4AKFn23sRqQ+7xQ170YkVZxEoAHfSNYs7PeuVGGT3hoPVU149cUkSXzJ+UZXeig1qZ+EMGIx7q1b5mRocOeX9my1+mE1oWnfhILwK2fUvjn5JC90sDZJlj0jkbECMmMUeEIkDcOKvkKsOMnkhOx2qIaYNIroCnuOJEmYaecL9tlLNOSZsIiBYx4WYlFEuVBTocwK5PP4zWgsrjC4+z6oubqVBIfDa2a5LXg6sPMP7CAHqhM9pRDYAPO+uTiQ0QgkUNrs6YQdbaAZZ3yT/M4phrr48/gHTjYleAMQcFLBeNMtbUBHjon1kS6R/1HSI=;5:DmeSbzUrAWCrCr3uXOwbVR7D82aSt/gxntfpne2EKgZMIka82cAXkIbZBu8aoxSpK7ag4wwZN/U9vBOyLyTnv6Wn1vMhBblvJpi9eVV7Ou+MjPKDWy6ZFuXMAfe+MI6wmGy6m7+AGSLHJvqPjXz/F5zMEHRQkCaJCUMKJ8HcG4A=;24:0YiWcz8HlB79fsFLUR9pzr0bLybm3zl5OMfee/0zP7Rel6+/Xe4atTwuoswySiS8TjsIqbwzgkDR0FyAsdty1gYT2hoEKz4RCahbzJWhgjE=;7:qR6zWKKJXuE8NS5TQ+LOhlTfjP5A778uq+T5GqxgxF0iL73PvM1gDZd8pTK4mmirzWdrBw19+bGpll6+6LokVttfcoBreFwPp5RIYmI6qdFF03JJOzpUjzQhXXhVPW97DmTHQX6KQ16qd3IJhaIrgYCwrtQ9FDoRV4iOLnAq0dHA6w1m60rlIlfm2Zq73RUfarWFbOGM6SDtqeFTxAFM0iMs1lS0FVyUMpTcdG4gt90jtLbeysIxPfESjv3EpXoG SpamDiagnosticOutput: 1:99 SpamDiagnosticMetadata: NSPM X-Microsoft-Exchange-Diagnostics: 1;DM5PR12MB1673;20:QKhbwZ8aEMjW3DZ6pA+QY1W3Mv2bPTQOGhkOMYMP9BqBXshKWEkaa/lZWikNy5k3CqEafY1/wkj8NAPHKyywNpIkb6wruWhE2TZoH+AnujKLEaRtae7n9oDYlQbLMXMQUbf0m2M8S+d46eUfYYtXmG1z7gYn3hbZTxP1jPuMh7F10mA3HoZSknPeg5do6VQi1iA1VLkgetJnrbUGTUWY6dNkDMaJ7KGN6oTI28DvjFUrYKJB48w2HiPSoa9mk4PQ X-OriginatorOrg: amd.com X-MS-Exchange-CrossTenant-OriginalArrivalTime: 01 Nov 2017 16:19:52.0505 (UTC) X-MS-Exchange-CrossTenant-Network-Message-Id: 2c08db58-d61e-4e37-217d-08d5214462b3 X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted X-MS-Exchange-CrossTenant-Id: 3dd8961f-e488-4e60-8e11-a82d994e183d X-MS-Exchange-Transport-CrossTenantHeadersStamped: DM5PR12MB1673 Sender: linux-kernel-owner@vger.kernel.org List-ID: X-Mailing-List: linux-kernel@vger.kernel.org Expose the AMD Core Perf Extension flag to the guests. Signed-off-by: Janakarajan Natarajan --- arch/x86/kvm/cpuid.c | 8 +++++++- 1 file changed, 7 insertions(+), 1 deletion(-) diff --git a/arch/x86/kvm/cpuid.c b/arch/x86/kvm/cpuid.c index 0099e10..8c95a7c 100644 --- a/arch/x86/kvm/cpuid.c +++ b/arch/x86/kvm/cpuid.c @@ -55,6 +55,11 @@ bool kvm_mpx_supported(void) } EXPORT_SYMBOL_GPL(kvm_mpx_supported); +bool perf_ext_supported(void) +{ + return boot_cpu_has(X86_FEATURE_PERFCTR_CORE); +} + u64 kvm_supported_xcr0(void) { u64 xcr0 = KVM_SUPPORTED_XCR0 & host_xcr0; @@ -327,6 +332,7 @@ static inline int __do_cpuid_ent(struct kvm_cpuid_entry2 *entry, u32 function, unsigned f_invpcid = kvm_x86_ops->invpcid_supported() ? F(INVPCID) : 0; unsigned f_mpx = kvm_mpx_supported() ? F(MPX) : 0; unsigned f_xsaves = kvm_x86_ops->xsaves_supported() ? F(XSAVES) : 0; + unsigned f_perfext = perf_ext_supported() ? F(PERFCTR_CORE) : 0; /* cpuid 1.edx */ const u32 kvm_cpuid_1_edx_x86_features = @@ -365,7 +371,7 @@ static inline int __do_cpuid_ent(struct kvm_cpuid_entry2 *entry, u32 function, F(LAHF_LM) | F(CMP_LEGACY) | 0 /*SVM*/ | 0 /* ExtApicSpace */ | F(CR8_LEGACY) | F(ABM) | F(SSE4A) | F(MISALIGNSSE) | F(3DNOWPREFETCH) | F(OSVW) | 0 /* IBS */ | F(XOP) | - 0 /* SKINIT, WDT, LWP */ | F(FMA4) | F(TBM); + 0 /* SKINIT, WDT, LWP */ | F(FMA4) | F(TBM) | f_perfext; /* cpuid 0xC0000001.edx */ const u32 kvm_cpuid_C000_0001_edx_x86_features = -- 2.7.4