From patchwork Wed Nov 1 21:15:50 2017 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 8bit X-Patchwork-Submitter: Brijesh Singh X-Patchwork-Id: 10037669 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 6E193603B5 for ; Wed, 1 Nov 2017 22:11:25 +0000 (UTC) Received: from mail.wl.linuxfoundation.org (localhost [127.0.0.1]) by mail.wl.linuxfoundation.org (Postfix) with ESMTP id 3D92128BFC for ; Wed, 1 Nov 2017 22:11:25 +0000 (UTC) Received: by mail.wl.linuxfoundation.org (Postfix, from userid 486) id 325AE28C1D; Wed, 1 Nov 2017 22:11:25 +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=unavailable 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 A6CAB28BFC for ; Wed, 1 Nov 2017 22:11:24 +0000 (UTC) Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S933492AbdKAWLI (ORCPT ); Wed, 1 Nov 2017 18:11:08 -0400 Received: from mail-bn3nam01on0043.outbound.protection.outlook.com ([104.47.33.43]:12256 "EHLO NAM01-BN3-obe.outbound.protection.outlook.com" rhost-flags-OK-OK-OK-FAIL) by vger.kernel.org with ESMTP id S933458AbdKAVQs (ORCPT ); Wed, 1 Nov 2017 17:16:48 -0400 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=pfd8z8PctOReNNoaP/ql86Ytyw4TeWriDSdEBy/y6SA=; b=fmduzOycJkk0asM41RU2tdzqEpl1nTIHCcA7tEddo7g2G19VUyD8Oig0K8Y6SzNB5kKuBO4V7SL4IvpyqL70lM2j+2tNXSGsuvjTGXP38g+LTrvMdEkBMoKkVaCmbBI352Zlxxo4PqR8yznZgcxlsBf4D16937Pu1sRD56STjfI= Authentication-Results: spf=none (sender IP is ) smtp.mailfrom=brijesh.singh@amd.com; Received: from wsp141597wss.amd.com (165.204.78.1) by DM2PR12MB0155.namprd12.prod.outlook.com (2a01:111:e400:50ce::18) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_CBC_SHA384_P256) id 15.20.178.6; Wed, 1 Nov 2017 21:16:39 +0000 From: Brijesh Singh To: kvm@vger.kernel.org, linux-kernel@vger.kernel.org Cc: bp@alien8.de, Brijesh Singh , Thomas Gleixner , Ingo Molnar , "H. Peter Anvin" , Paolo Bonzini , =?UTF-8?q?Radim=20Kr=C4=8Dm=C3=A1=C5=99?= , Joerg Roedel , Borislav Petkov , Tom Lendacky , x86@kernel.org Subject: [Part2 PATCH v7 05/38] KVM: SVM: Prepare to reserve asid for SEV guest Date: Wed, 1 Nov 2017 16:15:50 -0500 Message-Id: <20171101211623.71496-6-brijesh.singh@amd.com> X-Mailer: git-send-email 2.9.5 In-Reply-To: <20171101211623.71496-1-brijesh.singh@amd.com> References: <20171101211623.71496-1-brijesh.singh@amd.com> MIME-Version: 1.0 X-Originating-IP: [165.204.78.1] X-ClientProxiedBy: DM5PR06CA0064.namprd06.prod.outlook.com (2603:10b6:3:37::26) To DM2PR12MB0155.namprd12.prod.outlook.com (2a01:111:e400:50ce::18) X-MS-PublicTrafficType: Email X-MS-Office365-Filtering-Correlation-Id: 721b3019-79cf-42f0-e24a-08d5216dd784 X-MS-Office365-Filtering-HT: Tenant X-Microsoft-Antispam: UriScan:; BCL:0; PCL:0; RULEID:(22001)(48565401081)(4534020)(4602075)(2017052603199); SRVR:DM2PR12MB0155; X-Microsoft-Exchange-Diagnostics: 1; DM2PR12MB0155; 3:mKCmi9cxU7OWH/iOLf/ruhWMY29te2rROitSW78+Mj2fVEio7rMguxxBJ21VcAxmb1nDyGxh1XwV1W9V7C/8tzrleDywH2FpfvodDuIFypVpCTaneL4K16lTU+sGONa4NcTOVbHB4lpnYXms/SnxTjCO8hboX9AB9OkxmI54FUMrpFPyILL/f4NwPbclZSb6TUoOymqZiMwqDOMJwfdwUkZBxu5RdxZBk+Z+GuEruGY+jZjYvEgiYzvyocdOZP4Z; 25:nMmSKpUVQgXod4hsX8clBIFpcOZt8RZ0E0Fd4+OM7u7NHj3heQRrleo+CUg05yEGUMWYaB8hdrbwHXWWw55K73dBN/4uQkFs37c16tQOazsYxyfYZqG7Ev7/BEEYGbp57F2/NEaYeOCryJuMuLG3zpJKZes4MNSvlGltKNbtJ7fFLhsOMSKKW+laD3eD6jrRce3m+uADQ+JMymv2KihVGzzhi/6yBzVAjOAKPfcc0unQj4Hl9gmzDTMpcSWdOrwWeSQ7VUw8efWExGC7QTzvfkUjBJmlrA23ITYgO8tDrfXFvT3/DtK8CbDDOVKXqW5ZOvYS45k+JIld6DvUZG8pTA==; 31:d+E3GAZdKZwHnhCAEJnMeR11mX8Iawp/RwOPTsRvZD9j2GxWlL52FH3XLuzx2UgUlEuN+DVXO9w2CzvoG0r6fqC7D5eDXAniROBfQo5oUYJhED0Lkefob6aLX8FqdnCRIPgHfCUo7sZIungK/vkYBRImConCGOIBaqIrJ9CWuw7bep0I1g3TWDuIwjaa2UcQ0PR1XYV7Q2PEbMg7ETMpikWR0DhiUT0rhiHDdziJV8M= X-MS-TrafficTypeDiagnostic: DM2PR12MB0155: X-Microsoft-Exchange-Diagnostics: 1; DM2PR12MB0155; 20:BrbQKRwdOmlZvqw3Ad3VUufg+j9RUtgY9npNjMTuOSIXauT2fjECqnNTUGie8bm0NG3WFo/jIDAolakQYAvfjnbXq5oP41PWPjQT9sAHGzBK65pI2U/H/40kG8qlcfyNYJzZRgo74Vk3IUH2ssAq7XDP4izlg5lvhr1qNz7Aq1M7q7sYgjyGCkopSaqG9jqetIiiIs96BmbZkqb3SBLKPrUIvuF5hojZBRdiq0EXPnOLMcqlWvuIJjAdOv85E9rKbGPwdTre3ZW38kgSTtmhW0JG0aFuN9Wq6nOkBx3EBYSGjzcV8myRD0WdiLmfkk8k9T38liMrcNv6ylVF0CQyrrWKidv5anv5cH884ycqw77UAGTXkXmu5wbo/9boQKBF2GL9oaC1Gjo+aWgA4uPACBHRycz8SX2qll9ZYG6weynKEXYcrtFAmRkklUhSQE9F7ltoHkAXnyeWPGRWh3eao1lkQ9L/Ya19Q8DrtaaK7XbPeVTHJ6oUczGApFCGlqEm; 4:JNWoax2/nAL5W8hWNicKDkimiaS3mkYSq59+EmcnUzEuhhaydAIWs2LlZeyMVpszzvRYvUOP9WDlSRlm2J+MlJ9g6KZmg4x45eEFjc/5x82+s+/c0t8Is9GxgLDPaSOJGOdcqMDuenY3sMvM561WTMoXleUYtvc5vmQu3+yRZPu3gie7CZHjZQyK0Ujd7WASPplRNDCGeb0eGG2naBBX9ylmrrcEy92vw+pfwyhWsPjGnjeLfavZEltEt+ZxLllb4nGW8GKiHKzD6BLVRVzKZvhPGd2Tls2DrLuzjmfgVHVENqw4v8gu9FTDvZB+/I6J4QAxFwxlbVeUZa9Pw2eomw== X-Exchange-Antispam-Report-Test: UriScan:(9452136761055)(767451399110); 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)(100000703101)(100105400095)(3231020)(10201501046)(93006095)(93001095)(3002001)(6055026)(6041248)(20161123560025)(20161123555025)(20161123564025)(201703131423075)(201702281528075)(201703061421075)(201703061406153)(20161123562025)(20161123558100)(6072148)(201708071742011)(100000704101)(100105200095)(100000705101)(100105500095); SRVR:DM2PR12MB0155; BCL:0; PCL:0; RULEID:(100000800101)(100110000095)(100000801101)(100110300095)(100000802101)(100110100095)(100000803101)(100110400095)(100000804101)(100110200095)(100000805101)(100110500095); SRVR:DM2PR12MB0155; X-Forefront-PRVS: 0478C23FE0 X-Forefront-Antispam-Report: SFV:NSPM; SFS:(10009020)(6009001)(39860400002)(376002)(346002)(189002)(199003)(1076002)(6116002)(97736004)(66066001)(50466002)(3846002)(25786009)(4326008)(54906003)(316002)(8676002)(47776003)(36756003)(23676003)(50986999)(478600001)(7416002)(81156014)(81166006)(105586002)(53416004)(53936002)(189998001)(106356001)(2906002)(16526018)(2870700001)(76176999)(33646002)(305945005)(7736002)(86362001)(5660300001)(6486002)(101416001)(50226002)(68736007)(8936002)(2950100002)(6666003); DIR:OUT; SFP:1101; SCL:1; SRVR:DM2PR12MB0155; 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?MTtETTJQUjEyTUIwMTU1OzIzOlhmZ2dGUlhMdW9ueHFIMHlmVzNYcmFlNTBK?= =?utf-8?B?SlRmejFOM0tJZTlibVhiRXdjRW41RGpEMGUxRUJuT1ZNY081QzJpNGlYbFpH?= =?utf-8?B?STI1aXk3Um8zeWlMcm4xMFdjNXlzSmloQ29zVDdSUU10VlpnYWl1L0s1NEhM?= =?utf-8?B?aUc3Q3VXSXZnVm5RbkRuUExFVVhuMjJGSzJxOU1WcG05MDNzTzBQYnovWEtI?= =?utf-8?B?Q0xGYlBYS1E2aG1jU2w1ekF2OXpyNE1rRVFZTnd2VzJYQ05uLytlWnpoNU14?= =?utf-8?B?cXIyVkp0SkZiUWpPcm9lZXB5WWVOU2pqYkJBemlxMmJWa1BLVnRoYm9qYzkw?= =?utf-8?B?eTVOUEU5UytHL3NvbWV6blVpaGpETzFlWCtyZEd6VURGMDlkUHdVRXBFRWFG?= =?utf-8?B?R1hiOWc1WjJtRWs4aTJ0ZTd1VjFZRGd0ZEpsRXh4TDIwNDVSMXJ5MWJVVThB?= =?utf-8?B?NWF2M1N1Mk9qK0dMUmk3S0FFbjZhdEhSZ3I2dWgwdjVmWEkzdFFHQzdFSTRT?= =?utf-8?B?cnA0N1VwQXlQM3dOaDZwYW00WUx4Wkt1R3BldHd3RjZLOVlkUTVkRmp2a3Ja?= =?utf-8?B?Ym04MjJSLzRKQ0dzdzA3aHBleHpVdHE0MSsvRVNWYnZPRzBCUjB1UGVTWmIv?= =?utf-8?B?Q1hhbnBuUmEwdkdnZjNEVEJKeFhGWTkybXJZMHZ3dzcyYWlHQmJEN0RPRE8x?= =?utf-8?B?M1RGZndUWDFJRmJma2kvMzlBUXFyU3c5VEFmd0NZdHZqT1cvZldkbVVqa2Zh?= =?utf-8?B?UDZ0ajFOd2xibFJwakVHcVdEVVh4Qy80NFVyN042ZXZMYmdmM2xTTHlJWDky?= =?utf-8?B?T3VOZ212OW5VNHV0aE9takZzbzQ3MlFSQTlaeGdRS1BtZDl3ZlZJbVJXWmt4?= =?utf-8?B?M3Avd2crbVhtMDNTcDBhYWJXMjBaQkNJN21FdUhUQllJbHRObjFsZzcyckI4?= =?utf-8?B?aVZ3MUQ0VThFdWU3dUx6TTBEaW5NbVJXQVdUQjFpaENUMk42bXRJOGhjTHM1?= =?utf-8?B?MENYR3pxLzFwWTd0WVB5aTdkclhaeHlFL1p6c2FEWlRRWERqQVFSK3FFZDNK?= =?utf-8?B?VTdvWW5hdjgxZEJmNkFZdWk0K2V2RHAwMG56UEdvOFQrYjNNbVd4NDlDQU9V?= =?utf-8?B?SHVMM0FMNklXMWZydDNMUEk5bzN5cVIxeVRXNUdyTGF2MVYzQ2lYTDV6VDdO?= =?utf-8?B?Y2x5TElhVTJEVHFBRG9WTGJEV3h3QVhPTUlvbE1NSUNLTkkxeUE3SWpLM3ZJ?= =?utf-8?B?UDdwbnJUTVVac1VSOGRrR2tHMjYxTHhDMFNTZjFpTVBkYTZuS0ZnMlRXSjRu?= =?utf-8?B?TGlJa3EydWFDL0x2RzNiZTgvaFZTa1d2U1NLd0FDa1JiQldPUFIrZnZyeEZi?= =?utf-8?B?L05oOE1xVnJDS29PZnFTekZ2TGoyZC9CakZmaGNJQStBWktpRW5KVHVRYjk5?= =?utf-8?Q?+I5MEtleV8fZRP2FJNk7sqc2qI0?= X-Microsoft-Exchange-Diagnostics: 1; DM2PR12MB0155; 6:vFjfG4MTje4wA6ZeTuyWV6zVABdw6hKd6TRTRi78uQCZCML/ikD9db8ozZq6tdNe/Jy9yLonws0L2Dx9E2InKxFroPwh/tQ/y2nBp+Iv6aEmluKZ+9tXFeGrQmXRiOgyMXHZRU5bbeRW5Q+0SPhCM9XlQ+6NxxSmlVv+58CC4z0No0mRooc+XZMtzUGdGcqvDUvZVwKUsnS8GJ7XovxD9CTMjOjNls/c6S0jBHrDhfhvZRZnmbbogVz5/TGMGQ595VHSi9MQ363I4DrLNikP/NmFS1pV8yZHIqXkeIMb1ftE7AqpnozQJ8kMOaqk/lpGn19eBTWcrNnbV57hZppWplfcRMg0l9i+Sryhc14kRfk=; 5:7bkPDo1vi3jesIh0GNw181bxLt5YfRJr1F+9tZSgkgHdrkUoCerIV4uxhBP+mdrV717Y7OEZ7isidAWFtnJTEwvGUxQKMApz5LfB5X39A19CzcM0moF0VK3nXandmOXbuIjqBw969FDAPZz61Msm4ZtgnWTvyzftG5G/1S6nd0k=; 24:mezgXn93x1WtMf9jw7GM6+OUR1VFbpLpHiZE830R0oH3/87VguNf3EuWKJIN8bml4mxKCfd0BCHD1ZgkWo+EViASogjz6VH0afAsQkPxRFw=; 7:ZxZPIPDTf9vPIm27vS7cwOzxfBbb4jPU/7lukP13bokypQFUDgQbLYiIp3SFLKsH8eCqylzLjeH71hQrC0sao2ddgh4y4ql6JOZsz+Wkd3xR50uxCL3RvnEX6oc9g/GRaBSyXs5SBencgDNqJa6LETc1ojFNP+sJZTLi4wLMmFRgRnpwyRMvHlUQQ/mUWcARabVECzmGgKC8iecW/mf//wN5TL79yGvxWNZS2+ISF1Gb7N4xmUmlcUueoStwK3lP SpamDiagnosticOutput: 1:99 SpamDiagnosticMetadata: NSPM X-Microsoft-Exchange-Diagnostics: 1; DM2PR12MB0155; 20:uwEuMmRWgqMtyTTB7musyeXkXYNz0gnp486/nyik4li6xNjUNL42KbjHGvZxFzXBV0xxDu59lRlwfXPtkmp608RRWXwZbw4+WJj6g8sWVTnT05PV965kIsl6lDyQ2iYXtLMDM2QreXCTqqA9wgN5im8cgN4kXVmqWE7V6oprf+YNShAqb/xA6yig/BhLi4HIfeNIFAbhNs/gsrSp8ZqnAhtTbRUoNXF9dNar++HwsD0WyJ3y2KFjtWLd8yN2GTGg X-OriginatorOrg: amd.com X-MS-Exchange-CrossTenant-OriginalArrivalTime: 01 Nov 2017 21:16:39.0005 (UTC) X-MS-Exchange-CrossTenant-Network-Message-Id: 721b3019-79cf-42f0-e24a-08d5216dd784 X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted X-MS-Exchange-CrossTenant-Id: 3dd8961f-e488-4e60-8e11-a82d994e183d X-MS-Exchange-Transport-CrossTenantHeadersStamped: DM2PR12MB0155 Sender: kvm-owner@vger.kernel.org Precedence: bulk List-ID: X-Mailing-List: kvm@vger.kernel.org X-Virus-Scanned: ClamAV using ClamSMTP Currently, ASID allocation start at 1. Add a svm_vcpu_data.min_asid which allows supplying a dynamic start ASID. Cc: Thomas Gleixner Cc: Ingo Molnar Cc: "H. Peter Anvin" Cc: Paolo Bonzini Cc: "Radim Krčmář" Cc: Joerg Roedel Cc: Borislav Petkov Cc: Tom Lendacky Cc: x86@kernel.org Cc: kvm@vger.kernel.org Cc: linux-kernel@vger.kernel.org Signed-off-by: Brijesh Singh Reviewed-by: Paolo Bonzini Reviewed-by: Borislav Petkov --- arch/x86/kvm/svm.c | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/arch/x86/kvm/svm.c b/arch/x86/kvm/svm.c index 8186b8d7c469..2c3a3c88596c 100644 --- a/arch/x86/kvm/svm.c +++ b/arch/x86/kvm/svm.c @@ -525,6 +525,7 @@ struct svm_cpu_data { u64 asid_generation; u32 max_asid; u32 next_asid; + u32 min_asid; struct kvm_ldttss_desc *tss_desc; struct page *save_area; @@ -782,6 +783,7 @@ static int svm_hardware_enable(void) sd->asid_generation = 1; sd->max_asid = cpuid_ebx(SVM_CPUID_FUNC) - 1; sd->next_asid = sd->max_asid + 1; + sd->min_asid = 1; gdt = get_current_gdt_rw(); sd->tss_desc = (struct kvm_ldttss_desc *)(gdt + GDT_ENTRY_TSS); @@ -2091,7 +2093,7 @@ static void new_asid(struct vcpu_svm *svm, struct svm_cpu_data *sd) { if (sd->next_asid > sd->max_asid) { ++sd->asid_generation; - sd->next_asid = 1; + sd->next_asid = sd->min_asid; svm->vmcb->control.tlb_ctl = TLB_CONTROL_FLUSH_ALL_ASID; }