From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1753880AbdLHWjw (ORCPT ); Fri, 8 Dec 2017 17:39:52 -0500 Received: from mail-co1nam03on0049.outbound.protection.outlook.com ([104.47.40.49]:8198 "EHLO NAM03-CO1-obe.outbound.protection.outlook.com" rhost-flags-OK-OK-OK-FAIL) by vger.kernel.org with ESMTP id S1752631AbdLHWjd (ORCPT ); Fri, 8 Dec 2017 17:39:33 -0500 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 , Tom Lendacky , Borislav Petkov , Grzegorz Andrejczuk , Kan Liang , Janakarajan Natarajan Subject: [PATCH v3 3/3] x86/kvm: Expose AMD Core Perf Extension flag to guests Date: Fri, 8 Dec 2017 16:39:14 -0600 Message-Id: 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: BN6PR08CA0070.namprd08.prod.outlook.com (10.172.144.32) To DM5PR12MB1674.namprd12.prod.outlook.com (10.172.40.143) X-MS-PublicTrafficType: Email X-MS-Office365-Filtering-Correlation-Id: 92926589-45a5-4c2d-d5fe-08d53e8c8be7 X-MS-Office365-Filtering-HT: Tenant X-Microsoft-Antispam: UriScan:;BCL:0;PCL:0;RULEID:(5600026)(4604075)(4534020)(4602075)(4627115)(201703031133081)(201702281549075)(48565401081)(2017052603307);SRVR:DM5PR12MB1674; X-Microsoft-Exchange-Diagnostics: 1;DM5PR12MB1674;3:GNXarGg9NzvaI9z19xrzcMOjxWQictNROqgUd1hg2GMMhZlKPbXgjYjuKDfYt4uzpyq9aEqDqAE9oYc6gbHTVdXXbkRHwsy2DOCnKE83a0Viw+6plk6Jcb5H0Gda2k2Qqqxe0Zj65ejUMK+6RkdssP8qfS3PZ/H7bCLftKyPisT4sh904UnQlZjyZco7AG3Fi7CQ8sAxxKPWtPxFhUb7x4ewUvIgV0S5GJv+3k8t8r3LG4IY6zwNOvZ5oEME+Teo;25:RsMDm4oXmlWsk6CNpTVZ8xJFPHPQJgog40S+kNUaUfL9nAGG73cU51onYTlFn7LvMGqKYHx++RNYMLedBS56lIKH0mTd61J/58I7syecfXJEE58vZ+Fe7q+e+JWKhqMEbrYdiwcgzumrw+Gi2NY9Y03TlPgBpyP9wIraPmMxYt6WiCqiGhBJyOSAbpLeiGSqitaRvg+tGO0EU16zICjzvULFiFYt5ycf+sLB9EHIUE9niLW+aDOb8LRY2XuYxKzg8fQTliYzHQGJRYKvxpV+HLwvHfoJ47gP0aE5exm4AsOTMjXcaykaieKsuP5eWwoDC/VFB0P3OE9PTVsiJxlhPA==;31:uaW5e/jGacCPbd/4Dx5aGjcYxNX3HQKut1HeeIapumJlb25xhtd32dpD+s4kQVsIUfudlsRal2BI61Tb1yvOVSJCZ1BA7tvKCtsOWxs1X+y1X6/Zla5biwA8Jl1TRQzt+yhXUj/G/zpuTPfNxZEfHcDhcLMeVpXW7zpvQqSubROJtzADmmvFRs+Q0SdgXAh1glsMte1nlUovie5zZD7wdaxy97XAW+8Xsx3IeeVfN2Q= X-MS-TrafficTypeDiagnostic: DM5PR12MB1674: X-Microsoft-Exchange-Diagnostics: 1;DM5PR12MB1674;20:r5za7qtGx3PpfSvJuIkNC4PgE2aXpft61yMHIkcu42Qs8XEFffEUKVbzWcVS33060KzQy0s1pjv0dE6/PobKkft9TINbueWVMXmyuDFykka09Jfz0v0cHG8oLAfy58NawI6Q2SHafBkT7dRBKD2/hqFdaIpJfmI4Uuf8UxKqQrh2C6TN8J8OwprfVSIAUjSXZ2ECXqxH7LvYDacwO4kckn2i81FvJdFLY13RS6pCwTvXKX4IFJgVdWpugMBU/nSxJikopl7H8kwcqJMhfdB+ZgZmGiGNBozVaTrIvHdNhzN0eBzH64TWSTf+6lDjg38Gj0ZdeDbPJay7uKPFrAnHbFX4IgYOL/1h/1n8ZhtQudiw8kKMbc9ayhCjDxMX1TZV+r6RtlUOg7AO3hDvI2VPDA3L8YwqkKn0q/TvJTEmjdMzzs6wyRiL5NxnaZNGcXZKl+sRR07GvHnPA619qwNKxUC3TtRr4u7k2scB0YiAK1K4IeVpUUla5n3yqgJ0YbvL;4:+wzlliEjSgloN+2m5ru/Q0aFhvFaUa9A2fE656aRLFa2BaqJOWcow3LzstyttAJk/6D9+A5c4JOg7FyzXUBPjgoN0W58j2kvWQ/MNUgd3g0DIyweAjUMQhJy8cMa8HdaRAL7E3BiuzXvI/Qhek5wH2fCQl+hEXAWIY3MOMHwYQ76vAi0yJGynvGbT4GN5n2unKpw0CRviqw+atwp3ds3m3iZijH1cYlWI/HSKs9GCzFJHVRcG0FsgeezAd+212ip2twEDvRt/4PZkjCO+4fqfnmguqEeRW8mDVcKxMVS4p3Bi7O8MQCQSnQaKXQiGKu5 X-Microsoft-Antispam-PRVS: X-Exchange-Antispam-Report-Test: UriScan:(767451399110); X-Exchange-Antispam-Report-CFA-Test: BCL:0;PCL:0;RULEID:(6040450)(2401047)(5005006)(8121501046)(3002001)(3231022)(93006095)(93001095)(10201501046)(6055026)(6041248)(201703131423075)(201702281528075)(201703061421075)(201703061406153)(20161123558100)(20161123562025)(20161123564025)(20161123560025)(20161123555025)(6072148)(201708071742011);SRVR:DM5PR12MB1674;BCL:0;PCL:0;RULEID:(100000803101)(100110400095);SRVR:DM5PR12MB1674; X-Forefront-PRVS: 0515208626 X-Forefront-Antispam-Report: SFV:NSPM;SFS:(10009020)(376002)(366004)(346002)(39860400002)(189003)(199004)(8936002)(68736007)(4326008)(81166006)(81156014)(8676002)(50226002)(86362001)(48376002)(3846002)(6116002)(2906002)(16526018)(47776003)(118296001)(66066001)(6666003)(54906003)(2950100002)(7736002)(305945005)(72206003)(6486002)(53416004)(16586007)(5660300001)(106356001)(105586002)(7416002)(316002)(25786009)(478600001)(51416003)(7696005)(50466002)(76176011)(52116002)(97736004)(36756003)(53936002)(59450400001);DIR:OUT;SFP:1101;SCL:1;SRVR:DM5PR12MB1674;H:gi-joe.amd.com;FPR:;SPF:None;PTR:InfoNoRecords;MX:1;A:1;LANG:en; X-Microsoft-Exchange-Diagnostics: =?us-ascii?Q?1;DM5PR12MB1674;23:bpmPY8uSDMX8QYN536tu2IAEzp0jM6hjvIaKXnw2k?= =?us-ascii?Q?0vIlHLcYm/FK7tE+ZzVeqq62T/8idYbrVoXp6EciJaW2cKAdc5Qy+Gy2Eu+Q?= =?us-ascii?Q?CJdHqBrumxogNK2YFR/hG7he4hgH8F7mFD8qwFwz0Am8wWVOgG4bypfJ029Q?= =?us-ascii?Q?yjr+SjrnCfjx2KvJRbar/u7UYy74TOxdis2uwt0UCKTFKIzBsN7RnxVOhX2e?= =?us-ascii?Q?n53rtl0Fo8s73g1Z3mmIAKxPPtA9f0OhbmAfxTbsVQ02dbrBr/ze9ZHghjMi?= =?us-ascii?Q?1xZGGtGoqwiZGNmSTMmPNMI3eYOAmoORN1qhixMsOHRAVxiGUK2+OsGyt4su?= =?us-ascii?Q?gCx15PkKKZ+6QeVrIfWCkpEzskWZKwgeP5IoXuQCo6q1lVR/5TbvimtOS/zs?= =?us-ascii?Q?Iog6yQesyc8f8GpAz36CZ9jGg1rAtm6W2/eS6SMMdwTjgmgjt/qlJYGSQiUR?= =?us-ascii?Q?Y0hCYd0GSzM6t2+Ofcw/lV3YCD2O6nQvc+V89IX+HQ8jAeuitZOKVN4N80F1?= =?us-ascii?Q?rLTrHysvbpKadGYMNj+eadAlKdFPAbWOO73XYpDV0Uxcq3lY1+A2VPBP5uS2?= =?us-ascii?Q?tkv3xW2sLQp6tZO11J+6tVPmHMAwL4iVPvjQrNeQCxEvNEQV510Qx2iC/WWW?= =?us-ascii?Q?a+oDWEi+a+zuGAPAEeGF2jXIH8htu2Pj2U0YfnOidY1Px2e24Lt8UA7RVDNd?= =?us-ascii?Q?DtJBoe9A3rHRNfLo0oJQScq77qlh8fW8Ol2LL66Y2UJLcKOiA3i9FnHJk6kD?= =?us-ascii?Q?/3EvjElE7JHDRxgEVfgc0S6pJ4Saqy0jC8SeRHiTNAwcg1IeDyTnAInE311V?= =?us-ascii?Q?K3DaE5JuT+LcbkvozTTiKdIilH1kBc42z6SNVzuCdRiPkGqPHoTjlBTptvTL?= =?us-ascii?Q?i01PY7UPmCyTrB7NU5/GszBp8WCvAUMmPnnU8uqmbs1f/qOIBxcjosK7qn5v?= =?us-ascii?Q?/miUZKhE1VPWh/yr+A8Lvih4jSLp1okhgHz1/BnXTUq/xoW69IC9sjk4cQli?= =?us-ascii?Q?d+xgjrCzvo6Tmb2vjjAqdujmKUniMan8ACMIpLWLF9oey/tBC1quJ9hU+uSp?= =?us-ascii?Q?re7RCP3fCFlvcGyGBu4KjFpdKb/c0oID7Z3OeztQC9R2OeeWw=3D=3D?= X-Microsoft-Exchange-Diagnostics: 1;DM5PR12MB1674;6:QSadmBLseMLWJKi+QW79E69DDzJaM57SfvGpwdo4dFXMUI+bySd+VnEfalPzwLANdust+jwaGCqdrIju2CS1DnrsNrRIJfY1lCbPIH32OOX1kNBVX9MJyRDpu0qEvCgTTbrIJEl938g8qcjvv/QaARHKJ0A+OmelHEuZiHqnXuERPMtN0goAlH0U53DFFtSbYmbjGq42Qu2XHnLuZU7WQdjAp8FriKEddxScwTEjs8XnTrK0w6GX0tjVtqllg3PMLsAsDJwRb90Ksv4TrxVbfoCTSHkMzh3NlGgNR1LiZkiGVg8nsEHvPyZNgBR3tV843HxWMjGNynvxDSA8CsL8VDipJaMZ7hvAF9fk8B1kJUo=;5:4QQ/KtuP7JCwG2thKghvvsBdaikuMFPzOegZ8cRubH31T+WwSJaovunGG65jYPre/hrGsGhm+rl6fK01l5yy5Ndt7d63YZS6CzJXSRFFvxkRysJj3eOtyMrpvbkn0taoZX9QjWlDNLY4ifT2TYOCM2Z8HtabYWc+1ifr29IDoVg=;24:q+4PmBMPYlibvI72H8/feshfdJnE15a5A1rM4cONPegu96sb8Q+fc8bf+qULfZgn6emE+kg4mt7OPxWdzgWU9riemoghjvmIGU6kactIc0U=;7:eaEng6rXIlnJ778pnlHFj7By1uVK/rd6PM3G1AS84UOAYzRGW95qaq717MtISUNmJOmhaGmtlxbKx/MVxKKTisSYnbt5iYz9EHxF6gSatvDBRPQfmQ6vJWyuP2moxxC+yioMBJ6VnQmXA8QA8GnxMYc6uj/uSqj2//WpxJKaeMwKSLChZsfmcnEvDgKHkTbTP4+U52NfSNn9B4deAL2hnCABwca8QhW801WiI43+VAvb0rYlY6360blObNDYyWFN SpamDiagnosticOutput: 1:99 SpamDiagnosticMetadata: NSPM X-Microsoft-Exchange-Diagnostics: 1;DM5PR12MB1674;20:E+4ZLUvt0g/Kd5qa6cz2n3ASOH1LKtwHzBfKRAEth9++c0rTvmIThYi9MVy2qvN4N5DIhrRDgBueXt+imoC0x8t0tiVevIZrgfRMgms/CCn9pSbcsfqWgY7tWFLzMp15AtCDMmlRcoywnq6WYBRG3uy4jjcn4rK4h5RygKOH5iYM44gAa/k+xby4aa23xEKnE3VWUTiMfHF/V5jcwJII4w0XKGvdqYfwBt9QIV6uw8aU9XIg+uqxZKnFbZrzSJA5 X-OriginatorOrg: amd.com X-MS-Exchange-CrossTenant-OriginalArrivalTime: 08 Dec 2017 22:39:29.2769 (UTC) X-MS-Exchange-CrossTenant-Network-Message-Id: 92926589-45a5-4c2d-d5fe-08d53e8c8be7 X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted X-MS-Exchange-CrossTenant-Id: 3dd8961f-e488-4e60-8e11-a82d994e183d X-MS-Exchange-Transport-CrossTenantHeadersStamped: DM5PR12MB1674 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