From patchwork Thu Nov 7 18:00:57 2019 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Babu Moger X-Patchwork-Id: 11233469 Return-Path: Received: from mail.kernel.org (pdx-korg-mail-1.web.codeaurora.org [172.30.200.123]) by pdx-korg-patchwork-2.web.codeaurora.org (Postfix) with ESMTP id 98B5F1575 for ; Thu, 7 Nov 2019 18:08:18 +0000 (UTC) Received: from lists.gnu.org (lists.gnu.org [209.51.188.17]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by mail.kernel.org (Postfix) with ESMTPS id 6C65D20869 for ; Thu, 7 Nov 2019 18:08:18 +0000 (UTC) Authentication-Results: mail.kernel.org; dkim=pass (1024-bit key) header.d=amdcloud.onmicrosoft.com header.i=@amdcloud.onmicrosoft.com header.b="GSGpz4Me" DMARC-Filter: OpenDMARC Filter v1.3.2 mail.kernel.org 6C65D20869 Authentication-Results: mail.kernel.org; dmarc=none (p=none dis=none) header.from=amd.com Authentication-Results: mail.kernel.org; spf=pass smtp.mailfrom=qemu-devel-bounces+patchwork-qemu-devel=patchwork.kernel.org@nongnu.org Received: from localhost ([::1]:46822 helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1iSmCf-0002lR-Fy for patchwork-qemu-devel@patchwork.kernel.org; Thu, 07 Nov 2019 13:08:17 -0500 Received: from eggs.gnu.org ([2001:470:142:3::10]:57055) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1iSm5n-00031E-71 for qemu-devel@nongnu.org; Thu, 07 Nov 2019 13:01:13 -0500 Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1iSm5e-0005nM-Vk for qemu-devel@nongnu.org; Thu, 07 Nov 2019 13:01:09 -0500 Received: from mail-dm3nam03on0603.outbound.protection.outlook.com ([2a01:111:f400:fe49::603]:21216 helo=NAM03-DM3-obe.outbound.protection.outlook.com) by eggs.gnu.org with esmtps (TLS1.0:RSA_AES_256_CBC_SHA1:32) (Exim 4.71) (envelope-from ) id 1iSm5e-0005gc-O0 for qemu-devel@nongnu.org; Thu, 07 Nov 2019 13:01:02 -0500 ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none; b=Qd/fz+s183BGpD141j869uclWRvlVInhWtedariZQ9qvmi8bXau7Ct/+b6LoO922M+bE59GZ2lQfeQoNLlYSPe3EXSW/L22NT90FSBcZ22nu4JSv9ceRW66O3SDt9Rz9wvTCy37ae7FeDBMWcD8o6QAqsv2z4dTGO3LLfpTiLAlKcgoi1U0KSdVogZImGg5OC2EaAjSgm6k9vd9JZYkRftk1kBn4eIH/rXgc706YzN96Jf14iModJSUATZJO8Zv2K3Mtyn/Wa9InGJ40TkJ/4La0/+KE6z5rSky6UTHLszltb6dnKQ6DKQLjBjgDyhftQl/rFL8O1NGV6zozQzlVfg== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com; s=arcselector9901; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck; bh=pJHVJRkH0L6faA6B4hVpMbpLi34iYQc5VQfEpFC44/A=; b=InfSFH68BtjV7/KLvQksrMNVVUCZqdqnZ5dOeE7ZGNhTyqCDSjzWuY85lz1pTd8iFUs9hVuTtuhHItRGkotZ+2DFjji5+lAQhfme2bPlDCCHu8uAB1MIYcGvNVCNlHcg2pJAlO29bApy9AD02iYMItUG2HhrK2VGT8k5x1wMOJHQ+KZDun9+USJ6ENLQ7ty8VeGvpwhFnAgS0vO6c7fVqyNNgp4P6qpI36KAIiDgmUTWvWedIMy4Sr17ppyv7LOT1C4e/ZNRW6BwuNvCLOFzIckPvTz+n0ugiZrq9FD2eZQakpwm8tPCD0/5lfsfBpVOdZMxcHuvVIEg9n7y/mVPAQ== ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass smtp.mailfrom=amd.com; dmarc=pass action=none header.from=amd.com; dkim=pass header.d=amd.com; arc=none DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=amdcloud.onmicrosoft.com; s=selector2-amdcloud-onmicrosoft-com; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck; bh=pJHVJRkH0L6faA6B4hVpMbpLi34iYQc5VQfEpFC44/A=; b=GSGpz4Me8RSFWlIUVhPOi1A6eL7GKHvsLs7RsXEdvpO5zLB+iLWuMkMdlDOayPWY6650OGnOOzbcNKFTPBNZGzUXDbdzIYoR+qf3jpwlIjYzYUBa+BW7D3M/Detu21Ngi9sxKgwXmILOahQI6sao9GNDvqKml1aX0ypFezFQoNI= Received: from DM5PR12MB2471.namprd12.prod.outlook.com (52.132.141.138) by DM5PR12MB1196.namprd12.prod.outlook.com (10.168.237.11) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.2408.24; Thu, 7 Nov 2019 18:00:58 +0000 Received: from DM5PR12MB2471.namprd12.prod.outlook.com ([fe80::d0f5:b875:7b5c:46c3]) by DM5PR12MB2471.namprd12.prod.outlook.com ([fe80::d0f5:b875:7b5c:46c3%6]) with mapi id 15.20.2430.023; Thu, 7 Nov 2019 18:00:58 +0000 From: "Moger, Babu" To: "mst@redhat.com" , "marcel.apfelbaum@gmail.com" , "pbonzini@redhat.com" , "rth@twiddle.net" , "ehabkost@redhat.com" Subject: [PATCH v2 1/2] i386: Add missing cpu feature bits in EPYC model Thread-Topic: [PATCH v2 1/2] i386: Add missing cpu feature bits in EPYC model Thread-Index: AQHVlZVOB38a0NQpEUCbl1A7MIyayA== Date: Thu, 7 Nov 2019 18:00:57 +0000 Message-ID: <157314965662.23828.3063243729449408327.stgit@naples-babu.amd.com> References: <157314957337.23828.3860599077487615762.stgit@naples-babu.amd.com> In-Reply-To: <157314957337.23828.3860599077487615762.stgit@naples-babu.amd.com> Accept-Language: en-US Content-Language: en-US X-MS-Has-Attach: X-MS-TNEF-Correlator: x-clientproxiedby: SN4PR0501CA0008.namprd05.prod.outlook.com (2603:10b6:803:40::21) To DM5PR12MB2471.namprd12.prod.outlook.com (2603:10b6:4:b5::10) authentication-results: spf=none (sender IP is ) smtp.mailfrom=Babu.Moger@amd.com; x-ms-exchange-messagesentrepresentingtype: 1 x-originating-ip: [165.204.78.2] x-ms-publictraffictype: Email x-ms-office365-filtering-ht: Tenant x-ms-office365-filtering-correlation-id: 1fa8e694-af66-4e4d-b62e-08d763ac7112 x-ms-traffictypediagnostic: DM5PR12MB1196: x-ms-exchange-transport-forked: True x-microsoft-antispam-prvs: x-ms-oob-tlc-oobclassifiers: OLM:7691; x-forefront-prvs: 0214EB3F68 x-forefront-antispam-report: SFV:NSPM; SFS:(10009020)(4636009)(396003)(366004)(39860400002)(346002)(376002)(136003)(189003)(199004)(66946007)(86362001)(66476007)(7736002)(66446008)(64756008)(66556008)(386003)(26005)(102836004)(52116002)(76176011)(71190400001)(103116003)(25786009)(3846002)(2201001)(6116002)(6506007)(71200400001)(478600001)(256004)(14444005)(14454004)(66066001)(8936002)(110136005)(81166006)(81156014)(6512007)(305945005)(2501003)(8676002)(5660300002)(186003)(99286004)(11346002)(6486002)(476003)(446003)(4326008)(316002)(6436002)(486006)(2906002); DIR:OUT; SFP:1101; SCL:1; SRVR:DM5PR12MB1196; H:DM5PR12MB2471.namprd12.prod.outlook.com; FPR:; SPF:None; LANG:en; PTR:InfoNoRecords; MX:1; A:1; received-spf: None (protection.outlook.com: amd.com does not designate permitted sender hosts) x-ms-exchange-senderadcheck: 1 x-microsoft-antispam: BCL:0; x-microsoft-antispam-message-info: TKHfUhMwCEvJRe5Y6CshxCDv/QkVXWe4ayOjxmTX8Ggdohhz6FBK+9LFMvpF5SyBAE/MbyVnNwGmszz4IVTKqJXqB/0wsFRUgMA5iSI7e7cljPEAefJU9w4WNkXjd4MsZDWgj9X29n3DKWzZkx6ksWXLRwQYefIbIhezl1cYRNLO2WdzvK1nSacPIl59jcFbOhs1bHcPwYu8K7m+Iis9h2Pg0NB8LypqkU901yfQ5DLUO5V1k0hVaDJG974tc3cnHnuAAv0H7+CfFa8Eeu6vkDlev61kH64JIN0k3L0GuEFif5NGP/40ThYupohW7OF8j6odhw9nTTJXcBKN8JqMjXoqR8zCznH/4kgPk0GeHNUJP6lDW0hFlKPwUjlpfw7yXSiqkQwjF/Tjlc6b+H++Pl6CRxYRmBlOP7u5mSz/dJcL1BoANupR6ejyRZ1hlx8P Content-ID: <4144E5BE16C1E2469B73FA84A66B1112@namprd12.prod.outlook.com> MIME-Version: 1.0 X-OriginatorOrg: amd.com X-MS-Exchange-CrossTenant-Network-Message-Id: 1fa8e694-af66-4e4d-b62e-08d763ac7112 X-MS-Exchange-CrossTenant-originalarrivaltime: 07 Nov 2019 18:00:57.9790 (UTC) X-MS-Exchange-CrossTenant-fromentityheader: Hosted X-MS-Exchange-CrossTenant-id: 3dd8961f-e488-4e60-8e11-a82d994e183d X-MS-Exchange-CrossTenant-mailboxtype: HOSTED X-MS-Exchange-CrossTenant-userprincipalname: eVL8/WviUIVvO0UnnT2NnQo1twatUCwvUuSa+mIyMMdOFjYdbc2u8VCdvyiStQxl X-MS-Exchange-Transport-CrossTenantHeadersStamped: DM5PR12MB1196 X-detected-operating-system: by eggs.gnu.org: Windows 7 or 8 [fuzzy] X-Received-From: 2a01:111:f400:fe49::603 X-BeenThere: qemu-devel@nongnu.org X-Mailman-Version: 2.1.23 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Cc: "qemu-devel@nongnu.org" Errors-To: qemu-devel-bounces+patchwork-qemu-devel=patchwork.kernel.org@nongnu.org Sender: "Qemu-devel" Adds the following missing CPUID bits: perfctr-core : core performance counter extensions support. Enables the VM to use extended performance counter support. It enables six programmable counters instead of 4 counters. clzero : instruction zeroes out the 64 byte cache line specified in RAX. xsaveerptr : XSAVE, XSAVE, FXSAVEOPT, XSAVEC, XSAVES always save error pointers and FXRSTOR, XRSTOR, XRSTORS always restore error pointers. ibpb : Indirect Branch Prediction Barrie. xsaves : XSAVES, XRSTORS and IA32_XSS supported. Depends on following kernel commits: 40bc47b08b6e ("kvm: x86: Enumerate support for CLZERO instruction") 504ce1954fba ("KVM: x86: Expose XSAVEERPTR to the guest") 52297436199d ("kvm: svm: Update svm_xsaves_supported") These new features will be added in EPYC-v3. The -cpu help output after the change. x86 EPYC-v1 AMD EPYC Processor x86 EPYC-v2 AMD EPYC Processor (with IBPB) x86 EPYC-v3 AMD EPYC Processor Signed-off-by: Babu Moger --- target/i386/cpu.c | 17 +++++++++++++---- 1 file changed, 13 insertions(+), 4 deletions(-) diff --git a/target/i386/cpu.c b/target/i386/cpu.c index 07cf562d89..6b7b0f8a4b 100644 --- a/target/i386/cpu.c +++ b/target/i386/cpu.c @@ -3116,10 +3116,6 @@ static X86CPUDefinition builtin_x86_defs[] = { CPUID_7_0_EBX_SMEP | CPUID_7_0_EBX_BMI2 | CPUID_7_0_EBX_RDSEED | CPUID_7_0_EBX_ADX | CPUID_7_0_EBX_SMAP | CPUID_7_0_EBX_CLFLUSHOPT | CPUID_7_0_EBX_SHA_NI, - /* Missing: XSAVES (not supported by some Linux versions, - * including v4.1 to v4.12). - * KVM doesn't yet expose any XSAVES state save component. - */ .features[FEAT_XSAVE] = CPUID_XSAVE_XSAVEOPT | CPUID_XSAVE_XSAVEC | CPUID_XSAVE_XGETBV1, @@ -3142,6 +3138,19 @@ static X86CPUDefinition builtin_x86_defs[] = { { /* end of list */ } } }, + { + .version = 3, + .props = (PropValue[]) { + { "ibpb", "on" }, + { "perfctr-core", "on" }, + { "clzero", "on" }, + { "xsaveerptr", "on" }, + { "xsaves", "on" }, + { "model-id", + "AMD EPYC Processor" }, + { /* end of list */ } + } + }, { /* end of list */ } } },