From patchwork Mon Nov 6 18:10:54 2017 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 8bit X-Patchwork-Submitter: Brijesh Singh X-Patchwork-Id: 10043977 Return-Path: Received: from mail.wl.linuxfoundation.org (pdx-wl-mail.web.codeaurora.org [172.30.200.125]) by pdx-korg-patchwork.web.codeaurora.org (Postfix) with ESMTP id 75BFB603FF for ; Mon, 6 Nov 2017 18:12:16 +0000 (UTC) Received: from mail.wl.linuxfoundation.org (localhost [127.0.0.1]) by mail.wl.linuxfoundation.org (Postfix) with ESMTP id 6AD2429F53 for ; Mon, 6 Nov 2017 18:12:16 +0000 (UTC) Received: by mail.wl.linuxfoundation.org (Postfix, from userid 486) id 5EB9829F5B; Mon, 6 Nov 2017 18:12:16 +0000 (UTC) X-Spam-Checker-Version: SpamAssassin 3.3.1 (2010-03-16) on pdx-wl-mail.web.codeaurora.org X-Spam-Level: X-Spam-Status: No, score=-6.9 required=2.0 tests=BAYES_00,DKIM_SIGNED, DKIM_VALID,RCVD_IN_DNSWL_HI autolearn=ham version=3.3.1 Received: from vger.kernel.org (vger.kernel.org [209.132.180.67]) by mail.wl.linuxfoundation.org (Postfix) with ESMTP id E15A629F53 for ; Mon, 6 Nov 2017 18:12:13 +0000 (UTC) Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S932560AbdKFSMM (ORCPT ); Mon, 6 Nov 2017 13:12:12 -0500 Received: from mail-dm3nam03on0078.outbound.protection.outlook.com ([104.47.41.78]:9872 "EHLO NAM03-DM3-obe.outbound.protection.outlook.com" rhost-flags-OK-OK-OK-FAIL) by vger.kernel.org with ESMTP id S932421AbdKFSMB (ORCPT ); Mon, 6 Nov 2017 13:12:01 -0500 DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=amdcloud.onmicrosoft.com; s=selector1-amd-com; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version; bh=B049K7JiteOcgBO4QKn+R1VXfQdWGbS8HZKl4MTXIgQ=; b=S/omKq24J8+0nfXw5TV8wtQYudbLERmUWZZ9MNYJw6RtRHuSyrhXUuERxU3Ila3MnuEN5lpVyBB2L1zUxHSQucT9k2iXV7Vv+bjcfSU9CDf63lIXXBr6JU5HffaItK2Rujh39TonUab25ju5h4G4GeF+y7eRKS6x19i3frw38Ik= Authentication-Results: spf=none (sender IP is ) smtp.mailfrom=brijesh.singh@amd.com; Received: from wsp141597wss.amd.com (165.204.78.1) by SN1PR12MB0159.namprd12.prod.outlook.com (10.162.3.146) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_CBC_SHA384_P256) id 15.20.197.13; Mon, 6 Nov 2017 18:11:56 +0000 From: Brijesh Singh To: kvm@vger.kernel.org, linux-kernel@vger.kernel.org Cc: bp@alien8.de, Tom Lendacky , Thomas Gleixner , Ingo Molnar , "H. Peter Anvin" , Paolo Bonzini , =?UTF-8?q?Radim=20Kr=C4=8Dm=C3=A1=C5=99?= , Borislav Petkov , x86@kernel.org, Brijesh Singh Subject: [Part2 PATCH v8 02/38] x86/CPU/AMD: Add the Secure Encrypted Virtualization CPU feature Date: Mon, 6 Nov 2017 12:10:54 -0600 Message-Id: <20171106181130.68491-3-brijesh.singh@amd.com> X-Mailer: git-send-email 2.9.5 In-Reply-To: <20171106181130.68491-1-brijesh.singh@amd.com> References: <20171106181130.68491-1-brijesh.singh@amd.com> MIME-Version: 1.0 X-Originating-IP: [165.204.78.1] X-ClientProxiedBy: BN6PR10CA0031.namprd10.prod.outlook.com (10.175.102.145) To SN1PR12MB0159.namprd12.prod.outlook.com (10.162.3.146) X-MS-PublicTrafficType: Email X-MS-Office365-Filtering-Correlation-Id: 7f6d71fb-76f5-4619-73ab-08d52541de73 X-MS-Office365-Filtering-HT: Tenant X-Microsoft-Antispam: UriScan:; BCL:0; PCL:0; RULEID:(22001)(4534020)(4602075)(4627115)(201703031133081)(201702281549075)(48565401081)(2017052603199); SRVR:SN1PR12MB0159; X-Microsoft-Exchange-Diagnostics: 1; SN1PR12MB0159; 3:1iOv6gaU5cy5AI9Cxn+QWjhkNDDpBIInC+b7QCfYfxTsYSCt/hzLNOfQrvLpqXvorhHyCykUtoutorGEWDPrRf5CCo/wHTiR/WXmCb3Lof7dvA76LpzI/a5pWalmmnJFXq6fq3pobb4gY7YfDAs83nbQEgoahT+Z/OB4zvKBZF1RW79i4gaeHriD3Pa452e/ADox1ZWVk4A8N5XXWWQJpKbpCxvzHz4sTBayanyzqxmYJ99PbfPaj98Ybq0/RAQj; 25:VaKlfYjn+uwAS9LLmm+JADMrZA3zD8sgbJEh+YROouCxbcUq/oExvWEclWZK8RxPpATB+2T81xNu8vCvQEH+82D9wDR1YLQfVoZ9BbNJ3aXCkZ03JC8nDM6fAXaj0tIzah/RkCnm71IISPXuZKkshh7W/Iw28wStO/NU/Zq/fuyXkUoSXQAoQ5+IkMisNTj6CVB3tPxYZE8x4kp6WIiF/TZ1aPSMLyczZ8gRH5WmWHr8kwppOJjzc0eMzglgXjFSGq7lymi3NUrHJ3Wzv2ncz+KldPaIrCoXizR+60i+gPyh/qnv46C00Fh2Ren9jNjONGU3pAWYnsTvlYB4mcTt/Q==; 31:8wbwxQcmpuWftYe2eRf4qHL71mmKkt7/ZHHAiZY/47DGE6WoFqolS0H/kIA0Zlf6wgACWCC/jf/LS95pzIff+tyf1wiuW5QOhk3ESWm3lg8DNSrZPnN/8IpezMEMO0mNfnirpX3BRj2nd+NcvSglGgc7+Hqj04hIMVTfz2EBJJ37kTIUHSFEnka01z3NnmuBdv2lBPqW80GPsWjrfcCLOGXeEtfA9YvV3RnbRHHAYe0= X-MS-TrafficTypeDiagnostic: SN1PR12MB0159: X-Microsoft-Exchange-Diagnostics: 1; SN1PR12MB0159; 20:Ee2PWazSccJDawj5ahudTzEeqcF30X92mTDk9dhtRE7/4HM/fWWg92WrHBvbz9o0AYXc84nf+U/nLFmDzUnX0AbGT5oDprk5aEEkc9t5pTl2ADnjueB2We4d0dnwDp/uhhO3BKZl2m1da2+3GEp+OicgRorLRjASy2Fuu7NNHQf40gv41CVtjGVgNmAKRJjTPu4eY1b2VVnnSvvRZJy+pdPXfRiHgC21jjr+AbrbhvrxMujjDPl7dbrhXamlY478uzflVKbKHzeB8FdCkAsGJDGUgatRK5cpw2w9QlhR6kCpoA/JqArdHJTM9qZSDKzbKZFrwu1RBFhTvnAl7wSFcpej37aL/c2YEXbGjtyocP+eBFvImJOB7cJZnLjW8U2w3t1dwaVM+ZQm6hLONkC72etAy6yX94k9bkfGgq6l3DQVfOCLgUO9DGq9Iv8Z+g9I0roscaakGTA+i/Dc0UjbN/HxJfk9odAlOC1ApnbCaDRK1ELEKaIZaUBG8vMqm1AZ; 4:jDhpnbFljwM576F3lE9GQ5VYD8eM7oz92kxhXjEe1GxbQJi1hoveWkrQiThVP4xzeE4hz9rRAU+hgbBKZEhvFuTgqhfI68a9bT9A3nLXmrhTSOoK8M4UQUFbndvwGlAmxmVtxyf8NcMvyn2TphnN3FpXpRbqX2kyBq9faqSxtSrzFLTFxnJBvxvLMJiMVkNAtsOxh8pUa5P1Vqv1/axxFnWlNzrNkAvlMkR/dK8Kd/xJxpydL3dK8xhc9amQ8DBma1pMqyDAV8kyYMXDRbi5TNCKM5RvYSkReTjMNJpSy5NtW/a7epo9T6RLh21Dh0ielMtNHBNe1K0lBbDbbVlQbl2oJe658OhaXi5HZR86uiJJAYHwJU0+maFrX9HnVO4j X-Exchange-Antispam-Report-Test: UriScan:(9452136761055)(767451399110)(211171220733660); X-Microsoft-Antispam-PRVS: X-Exchange-Antispam-Report-CFA-Test: BCL:0; PCL:0; RULEID:(100000700101)(100105000095)(100000701101)(100105300095)(100000702101)(100105100095)(6040450)(2401047)(8121501046)(5005006)(3231021)(100000703101)(100105400095)(3002001)(93006095)(93001095)(10201501046)(6055026)(6041248)(20161123564025)(20161123562025)(20161123555025)(201703131423075)(201702281528075)(201703061421075)(201703061406153)(20161123560025)(20161123558100)(6072148)(201708071742011)(100000704101)(100105200095)(100000705101)(100105500095); SRVR:SN1PR12MB0159; BCL:0; PCL:0; RULEID:(100000800101)(100110000095)(100000801101)(100110300095)(100000802101)(100110100095)(100000803101)(100110400095)(100000804101)(100110200095)(100000805101)(100110500095); SRVR:SN1PR12MB0159; X-Forefront-PRVS: 048396AFA0 X-Forefront-Antispam-Report: SFV:NSPM; SFS:(10009020)(6009001)(346002)(376002)(39860400002)(189002)(199003)(68736007)(97736004)(4326008)(316002)(16526018)(54906003)(7736002)(8936002)(2906002)(81166006)(81156014)(25786009)(53936002)(8676002)(2870700001)(1076002)(6116002)(23676003)(50226002)(189998001)(305945005)(86362001)(3846002)(50466002)(33646002)(66066001)(36756003)(53416004)(47776003)(5660300001)(7416002)(76176999)(478600001)(6486002)(105586002)(50986999)(2950100002)(101416001)(106356001); DIR:OUT; SFP:1101; SCL:1; SRVR:SN1PR12MB0159; H:wsp141597wss.amd.com; FPR:; SPF:None; PTR:InfoNoRecords; MX:1; A:1; LANG:en; Received-SPF: None (protection.outlook.com: amd.com does not designate permitted sender hosts) X-Microsoft-Exchange-Diagnostics: =?utf-8?B?MTtTTjFQUjEyTUIwMTU5OzIzOlZwcC8xYTB1S3ZOdWRINWZzcCtTM0tHWmww?= =?utf-8?B?VU9pTS9PaHAvY2lqZ3JPUEVjbVhSODhML3FWTHVyR2s5TUdvR3VQeEdXZnFI?= =?utf-8?B?akF3M3dWVlUxUU9pdUtoTnYrUG0yU0ZWQVduYXFHS3FLNkZZbDQxekVOS1JE?= =?utf-8?B?Y0YydUFIeTk5SUlidFM5RzR5ZDhDTnNRcmZGMkpHQ2ZBdjI0QlF6NlQ3QXBL?= =?utf-8?B?N2JuTkIyQ3BBa25SRjB0RXFKNGwxMk0zWUI4cmFYdTdvTlhQNi9ybjRvNEcy?= =?utf-8?B?OVRGTkl2Nm1Pb0FpZjNRZzhqelZ1S2pqak5EVS9OMFNJTU91Ly9MS0JyKzds?= =?utf-8?B?NENHdHFTNGYxNjBxVDRUb0xUd1ZRYmNOVmpWOWlDbWNSbDR2V2xXaXlDeDFu?= =?utf-8?B?M0xYQ3grbXAvbWxsY1Z6bDVNMXJrVkRIUTVZS3pwUGUrS08zbHhTVktveGRz?= =?utf-8?B?THpxcUZiVVQ2WnpzVDgxMEp5SXRKeWxzMjVjM2d6elVWMUxDY3hoenBzS3F2?= =?utf-8?B?RW45Z1NBcUF6QnFlRlZQbXZRak5LemhLWnFSUWl0OVNlMXlaM01CdFloaStL?= =?utf-8?B?blAzNDFHUnFoMEZLenRLVTFPcVljdWxSTUNUeGNCdlBnMWtyUGtYT2QyMWlC?= =?utf-8?B?YUd3N0ZsS2swd2h3eU0wTWZ5b250dnFoUWNhUUxGU2dMS2Z2MWcvUE9nSG1U?= =?utf-8?B?anFjMm5vcVJKSXBPZ0VkYjExZlpUWjdIK3dvNG04MExyV0J4VVFxcVNVTkJs?= =?utf-8?B?RXdGV2xGZkxpeVBVb2E2YlhMc3drajV1UDNacDdUVmFRbTljLzVKTUFzeEZ2?= =?utf-8?B?eHNVRUk3U01qdFpRcXBHa3ZLTnEwSkltTXdDTVV2UUlGOWZ0Y2FLTXl5U080?= =?utf-8?B?dDhKQWJzTVJyZDRYMUxIbStBNmswN2twdlNrMFQwN3hoalhUNjBZeXdHVW5r?= =?utf-8?B?S2pjcDBPNTJNZlhxdEJuU1V6RlVTb0dOejRIdTVJeU5pa2xBUVNJcE5UNXlv?= =?utf-8?B?N3AwVDRTWE43VzdNN0lGZ1hFSEE0d3VnQXBZaUZvNGloeFFSQUFFTTFXVlBp?= =?utf-8?B?K0J4OTB5NlZsV2I2RXE5VjB6UHo0S1NVSEZEb2JjS3JrMkpzNVFGeThJbDVq?= =?utf-8?B?d2N3dStCaVorTEIvS08zTEhYRUp3ZlhiWlJoNkwrTWh1Mll3Y0xSMi9IdG1J?= =?utf-8?B?S3AySlloWkpLdTVEODBueUFxWVc2UW5obEJsMFhnbk1BbmFIc1Bic0JyTXJI?= =?utf-8?B?WlBvcEFiT21zRnBhbG4rWHBhTXBiMTJ6aWc4d214R1d4Y3VJVFVyblFUbmlT?= =?utf-8?B?eU12NERPeGhzM3VXODdVc2dIWVVrTmV0N216NmdqT0hWT1VxL3F1T1F1YnRz?= =?utf-8?B?ak5HMVBEVjhka3hucEJ3YVRmWUJVSXltMlZHRXdvZlZZeGVoTUZMUVliZHhH?= =?utf-8?Q?pvMnEhshXylrTSHWI5FtiSv0Qlu?= X-Microsoft-Exchange-Diagnostics: 1; SN1PR12MB0159; 6:QG9hfn6qiKgKKpxLag04Kt/yyfwIKy5AssuYMtpu2elx5b3jU6uJIH+VR8lUYQbYPmBsYSYxsQq/BvFArLMlja0yOcn3LZtUbyuU95ROi/hozMNsAsrjOyd0cSwgCBH9FOWzPz8weX+X3K/hanFj/ZUioLhBF2sj/a+zQFkJwLUpGKq5yI0MerGx99zF426bWl0tya4NDT/Hxj6GBEu4hnmFkCOGRWur8COHSxjxaHVfl9a7jRIK0/iWwe/xhND6nG6CTGsZuQ9BCqCSVrHIIid8N5Hf09B4WAvZ9kb4rJ+khHgT4pFK5fCjXRTKdM6wvV4LfTeyk5Kvc1UjpCpARvRTk/ekC5Quur9O2cEpPI0=; 5:f72VI9BTh+sywPlhgdCsfia3m0bUNtPAZViZtWrGC2OkIhWGcCjRYI3ApCqsm1Vtov6ltT5kD/J3B3M1W/iMYPgGUvCMSIzonLv7xmo4CmweEbPuT2Ndl571/0Bpz/UkqDoe0bNXNIck87wYL2lN5HKmjSSGzGj9nDhugeLepso=; 24:v5izJNTsZZ5TeEjrXQ2rnAyZqeSzibIJ7jMj1uLGImStwEhJiSBJWLcxXl0GXttcCyKtfSS0xOku+Yu373cCzRKtuRd9hy5W+BUrh7T5iJM=; 7:u+sJPHQnZTM5RzlYHmhqDWtvKZsrCmGw4cmin6rHSwYXbdrEt1XcZuL/DeKWDp69O7QAZaKidQ3F5gnIs9uAa+Zc8I0hViOW/+BCXGBJjWTQ/QiX5Hp1JHx0rbdUunzB99GcPGTQ/OB7K6C5JceBaklPVhvLddzJVTTwIrkPvDFDeyrral56tej55SURINBjcdRzUakd1/Oe5FWNIOb8DhBOxhDD7Gj6HPn3WT7/Wrvj0VxaxzYvhelCuqlcm0pe SpamDiagnosticOutput: 1:99 SpamDiagnosticMetadata: NSPM X-Microsoft-Exchange-Diagnostics: 1; SN1PR12MB0159; 20:0aoINdPU2OSdldlmXtpC8+Wfh1dFu9fgsc/xAwRfzy0K/Jhm1ZBDuA9c68YYRE1hhXKlDXvlqiHlFr2OotK9SuyUy7WaLtFF0aM16dB3wLp99RFZ2JlTanYI4hhkCkIPg+uP2BCm99DWoE6KE0ZUcDYCId4TO7exQh9TtROlF/Ndz7As77fmgfvmxz9lJ1Wtvsy2NZ7CnjK/g+4PEj2AdLsj2/zvL/TFrodBZgUY2vCoNjamT3/uaP5vHC/HEnx9 X-OriginatorOrg: amd.com X-MS-Exchange-CrossTenant-OriginalArrivalTime: 06 Nov 2017 18:11:56.8471 (UTC) X-MS-Exchange-CrossTenant-Network-Message-Id: 7f6d71fb-76f5-4619-73ab-08d52541de73 X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted X-MS-Exchange-CrossTenant-Id: 3dd8961f-e488-4e60-8e11-a82d994e183d X-MS-Exchange-Transport-CrossTenantHeadersStamped: SN1PR12MB0159 Sender: kvm-owner@vger.kernel.org Precedence: bulk List-ID: X-Mailing-List: kvm@vger.kernel.org X-Virus-Scanned: ClamAV using ClamSMTP From: Tom Lendacky Update the CPU features to include identifying and reporting on the Secure Encrypted Virtualization (SEV) feature. SEV is identified by CPUID 0x8000001f, but requires BIOS support to enable it (set bit 23 of MSR_K8_SYSCFG and set bit 0 of MSR_K7_HWCR). Only show the SEV feature as available if reported by CPUID and enabled by BIOS. Cc: Thomas Gleixner Cc: Ingo Molnar Cc: "H. Peter Anvin" Cc: Paolo Bonzini Cc: "Radim Krčmář" Cc: Borislav Petkov Cc: kvm@vger.kernel.org Cc: x86@kernel.org Cc: linux-kernel@vger.kernel.org Signed-off-by: Tom Lendacky Signed-off-by: Brijesh Singh Reviewed-by: Borislav Petkov --- arch/x86/include/asm/cpufeatures.h | 1 + arch/x86/include/asm/msr-index.h | 2 ++ arch/x86/kernel/cpu/amd.c | 66 ++++++++++++++++++++++++++------------ arch/x86/kernel/cpu/scattered.c | 1 + 4 files changed, 50 insertions(+), 20 deletions(-) diff --git a/arch/x86/include/asm/cpufeatures.h b/arch/x86/include/asm/cpufeatures.h index 2519c6c801c9..759d29c37686 100644 --- a/arch/x86/include/asm/cpufeatures.h +++ b/arch/x86/include/asm/cpufeatures.h @@ -197,6 +197,7 @@ #define X86_FEATURE_HW_PSTATE ( 7*32+ 8) /* AMD HW-PState */ #define X86_FEATURE_PROC_FEEDBACK ( 7*32+ 9) /* AMD ProcFeedbackInterface */ #define X86_FEATURE_SME ( 7*32+10) /* AMD Secure Memory Encryption */ +#define X86_FEATURE_SEV ( 7*32+11) /* AMD Secure Encrypted Virtualization */ #define X86_FEATURE_INTEL_PPIN ( 7*32+14) /* Intel Processor Inventory Number */ #define X86_FEATURE_INTEL_PT ( 7*32+15) /* Intel Processor Trace */ diff --git a/arch/x86/include/asm/msr-index.h b/arch/x86/include/asm/msr-index.h index 17f5c12e1afd..e399d68029a9 100644 --- a/arch/x86/include/asm/msr-index.h +++ b/arch/x86/include/asm/msr-index.h @@ -378,6 +378,8 @@ #define MSR_K7_PERFCTR3 0xc0010007 #define MSR_K7_CLK_CTL 0xc001001b #define MSR_K7_HWCR 0xc0010015 +#define MSR_K7_HWCR_SMMLOCK_BIT 0 +#define MSR_K7_HWCR_SMMLOCK BIT_ULL(MSR_K7_HWCR_SMMLOCK_BIT) #define MSR_K7_FID_VID_CTL 0xc0010041 #define MSR_K7_FID_VID_STATUS 0xc0010042 diff --git a/arch/x86/kernel/cpu/amd.c b/arch/x86/kernel/cpu/amd.c index d58184b7cd44..c1234aa0550c 100644 --- a/arch/x86/kernel/cpu/amd.c +++ b/arch/x86/kernel/cpu/amd.c @@ -556,6 +556,51 @@ static void bsp_init_amd(struct cpuinfo_x86 *c) } } +static void early_detect_mem_encrypt(struct cpuinfo_x86 *c) +{ + u64 msr; + + /* + * BIOS support is required for SME and SEV. + * For SME: If BIOS has enabled SME then adjust x86_phys_bits by + * the SME physical address space reduction value. + * If BIOS has not enabled SME then don't advertise the + * SME feature (set in scattered.c). + * For SEV: If BIOS has not enabled SEV then don't advertise the + * SEV feature (set in scattered.c). + * + * In all cases, since support for SME and SEV requires long mode, + * don't advertise the feature under CONFIG_X86_32. + */ + if (cpu_has(c, X86_FEATURE_SME) || cpu_has(c, X86_FEATURE_SEV)) { + /* Check if memory encryption is enabled */ + rdmsrl(MSR_K8_SYSCFG, msr); + if (!(msr & MSR_K8_SYSCFG_MEM_ENCRYPT)) + goto clear_all; + + /* + * Always adjust physical address bits. Even though this + * will be a value above 32-bits this is still done for + * CONFIG_X86_32 so that accurate values are reported. + */ + c->x86_phys_bits -= (cpuid_ebx(0x8000001f) >> 6) & 0x3f; + + if (IS_ENABLED(CONFIG_X86_32)) + goto clear_all; + + rdmsrl(MSR_K7_HWCR, msr); + if (!(msr & MSR_K7_HWCR_SMMLOCK)) + goto clear_sev; + + return; + +clear_all: + clear_cpu_cap(c, X86_FEATURE_SME); +clear_sev: + clear_cpu_cap(c, X86_FEATURE_SEV); + } +} + static void early_init_amd(struct cpuinfo_x86 *c) { u32 dummy; @@ -627,26 +672,7 @@ static void early_init_amd(struct cpuinfo_x86 *c) if (cpu_has_amd_erratum(c, amd_erratum_400)) set_cpu_bug(c, X86_BUG_AMD_E400); - /* - * BIOS support is required for SME. If BIOS has enabled SME then - * adjust x86_phys_bits by the SME physical address space reduction - * value. If BIOS has not enabled SME then don't advertise the - * feature (set in scattered.c). Also, since the SME support requires - * long mode, don't advertise the feature under CONFIG_X86_32. - */ - if (cpu_has(c, X86_FEATURE_SME)) { - u64 msr; - - /* Check if SME is enabled */ - rdmsrl(MSR_K8_SYSCFG, msr); - if (msr & MSR_K8_SYSCFG_MEM_ENCRYPT) { - c->x86_phys_bits -= (cpuid_ebx(0x8000001f) >> 6) & 0x3f; - if (IS_ENABLED(CONFIG_X86_32)) - clear_cpu_cap(c, X86_FEATURE_SME); - } else { - clear_cpu_cap(c, X86_FEATURE_SME); - } - } + early_detect_mem_encrypt(c); } static void init_amd_k8(struct cpuinfo_x86 *c) diff --git a/arch/x86/kernel/cpu/scattered.c b/arch/x86/kernel/cpu/scattered.c index 05459ad3db46..63a78d5fe505 100644 --- a/arch/x86/kernel/cpu/scattered.c +++ b/arch/x86/kernel/cpu/scattered.c @@ -32,6 +32,7 @@ static const struct cpuid_bit cpuid_bits[] = { { X86_FEATURE_CPB, CPUID_EDX, 9, 0x80000007, 0 }, { X86_FEATURE_PROC_FEEDBACK, CPUID_EDX, 11, 0x80000007, 0 }, { X86_FEATURE_SME, CPUID_EAX, 0, 0x8000001f, 0 }, + { X86_FEATURE_SEV, CPUID_EAX, 1, 0x8000001f, 0 }, { 0, 0, 0, 0, 0 } };