From patchwork Thu Mar 2 15:16:56 2017 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Brijesh Singh X-Patchwork-Id: 9600699 X-Patchwork-Delegate: herbert@gondor.apana.org.au 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 236BC60429 for ; Thu, 2 Mar 2017 15:56:18 +0000 (UTC) Received: from mail.wl.linuxfoundation.org (localhost [127.0.0.1]) by mail.wl.linuxfoundation.org (Postfix) with ESMTP id 1301F28485 for ; Thu, 2 Mar 2017 15:56:18 +0000 (UTC) Received: by mail.wl.linuxfoundation.org (Postfix, from userid 486) id 0750E285AA; Thu, 2 Mar 2017 15:56:18 +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 8F31528485 for ; Thu, 2 Mar 2017 15:56:17 +0000 (UTC) Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1751445AbdCBPyX (ORCPT ); Thu, 2 Mar 2017 10:54:23 -0500 Received: from mail-bn3nam01on0087.outbound.protection.outlook.com ([104.47.33.87]:52544 "EHLO NAM01-BN3-obe.outbound.protection.outlook.com" rhost-flags-OK-OK-OK-FAIL) by vger.kernel.org with ESMTP id S1753362AbdCBPwB (ORCPT ); Thu, 2 Mar 2017 10:52: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=ZX75tJ4Qqu+SdiNE/8IN3i6kAEpFgmf9CeblHpd59rA=; b=5F2AA8aMmylBOoyxjr5TYDGTtfzxyHMfl6QmWo9zR8FXn4VyMF0dXn0ZGSaFm/0ucG+tR/vM+ZKLulr0rxhHdeD5ZOmv3jvSvfQGUQyaSnD+7i7LOl83kCWQdn197gg7ExoS/WYnIWPURiQdsdnIym9F6IPC/5zbBHybRR3MhSc= Authentication-Results: vger.kernel.org; dkim=none (message not signed) header.d=none; vger.kernel.org; dmarc=none action=none header.from=amd.com; Received: from [127.0.1.1] (165.204.77.1) by CY4PR12MB1608.namprd12.prod.outlook.com (10.172.72.17) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_CBC_SHA384_P384) id 15.1.933.12; Thu, 2 Mar 2017 15:17:00 +0000 Subject: [RFC PATCH v2 22/32] kvm: svm: prepare to reserve asid for SEV guest From: Brijesh Singh To: , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , Date: Thu, 2 Mar 2017 10:16:56 -0500 Message-ID: <148846781666.2349.1816322796563357670.stgit@brijesh-build-machine> In-Reply-To: <148846752022.2349.13667498174822419498.stgit@brijesh-build-machine> References: <148846752022.2349.13667498174822419498.stgit@brijesh-build-machine> User-Agent: StGit/0.17.1-dirty MIME-Version: 1.0 X-Originating-IP: [165.204.77.1] X-ClientProxiedBy: BN6PR03CA0034.namprd03.prod.outlook.com (10.175.124.20) To CY4PR12MB1608.namprd12.prod.outlook.com (10.172.72.17) X-MS-Office365-Filtering-Correlation-Id: 43c22158-3d77-4881-d90c-08d4617f2ff3 X-MS-Office365-Filtering-HT: Tenant X-Microsoft-Antispam: UriScan:; BCL:0; PCL:0; RULEID:(22001)(48565401081); SRVR:CY4PR12MB1608; X-Microsoft-Exchange-Diagnostics: 1; CY4PR12MB1608; 3:9E7F4ODygucmgfQN44q0gFLhu+Cmqrtp0Qw+lGOE8Q/3alMPhD48Brs0BpNoyFfu9RVw3YY7M9OhcRMGrAW5D1cAPgMt0S7ccxXSH6rMe7xvi7M22l173uagpI8WNukmQVKlxKA4sCldmJp2MZXDlcgsBsaZqws06AJ8UyB00DlfvIsJhvCO47eiu1r/XXXiJVoRUHfXqzaOR1ONVtA9/kp35Nxohv1g13DueQ1I5RHCLo2bDeLiRHFlf/ybJSfPTL24lDP4hT5dxe74LDliGbDDbd5r9E4fkuz8FixAZN4=; 25:DMIO7aCt2F6f/iDMz+tfzYa2977znh/OQEGCCIlpF+1C5GJTPOxJY6OwDL+9p2J/jQvgoD+KtOM5PfqvKKOPQaibhpciMzIzN5FQgSrM6qyiAaVPN6oxBQC9CghPqo5Eu9ZpRelRgPSy8UhC98XwCLwTthSPQ/O+UiliSEU+bLHK2a+VwDjaHZMEA38lXOEOaA/WUOzIJqcgJ5PFy8ZFw2qnHqdLFCumYa7mX1HVaPihXdHzZ3JAAx36QE/5OjBV6eNSCPdWQVwpdAo9vGJGqlBGPAW4ycF2Gev5X5yUcU7tvHd0O/aTMdwjgh/65xIHEGjP2/HQjpGGvmIqsYVd8+sXwdvNYuaBRBxAZDOIKtCYl9dCIRgHEJhxKRIzMRQyfpc32IqNfmPB9ux7MVdd3bpZ9mGl7Yk8IBobvkwAi4wbb4CCr6GYgeu2HjENyfAd X-Microsoft-Exchange-Diagnostics: 1; CY4PR12MB1608; 31:biaQz0TlS8ie6qp9Ek3+hNswgS5ADBDqqcOL/yZiA1kZvZ9k7z2WA9EDeGTyBStorrobm7YfeN8cfNCgSFAJMnaV3E088h5OWPinQnE9mTHchKZDk/2LbCwipbGVf15QTVnMT4Evbm5gYL84dpxDkneimTUdWwSAjQmwkPxJX5tZc7dRDpISe9URRZbJ0IPJq9KMDoo7Oj490u9s3uCnuk4ibTi28dB0sQpYm6unfB0=; 20:XyUCB7eESnntDpygp1GzzuYyPGsr/0/sliWl0p52NMsbfQgVCNuHGvs2y+owLwmWygMV+BsID/Unpx9Di43WQKuizTgY4tnfMP8AY3YPKKNaYL8PrhowqNRnDvD0MQ6ElySIv5WhyJCT4OWvE+qWm+nSXwU61oqUKRVUBRTsPQ+/tIMtYcRmszng8BfanyKgGcfWLELdas0YBF3Fd9V9MrqWeEsYxD8+DPsMGRFrFu/FkA8W5B01ApQDo6Uk49oYCtFXJ40wrbJldxfbTKVIvG3wWrv9z+WZzxhpeBT7qX3LHr4s9myU4n8Qlo27mqk/KjhkkspTWAZOvV39QWz3SnLYKC+yIda48Kp34/5P//XJO16mCwPPkfaaFj2ymdiS7VVQRXJCHHxA1AtZYGzjsMNcFBy9XkiQEmJPPJeRw6DSmAOKqAFaOpp9tmflR5lDbYZMXGcuPPLEZAsNq2XAvqea1wlIxkvwIdSzhYovALk6C7trmGs5z68U9uZX/aco X-Microsoft-Antispam-PRVS: X-Exchange-Antispam-Report-Test: UriScan:(767451399110); X-Exchange-Antispam-Report-CFA-Test: BCL:0; PCL:0; RULEID:(6040375)(601004)(2401047)(8121501046)(5005006)(10201501046)(3002001)(6055026)(6041248)(20161123562025)(20161123555025)(20161123560025)(20161123564025)(20161123558025)(6072148); SRVR:CY4PR12MB1608; BCL:0; PCL:0; RULEID:; SRVR:CY4PR12MB1608; X-Microsoft-Exchange-Diagnostics: 1; CY4PR12MB1608; 4:9kjt1n2OO+7lpZX9yw4phNI7L9721VU1+ScMPUjBub/BSGJdPLsCKLgqfvyJkHvHWlUGYopPKoul0knL+gkb725a8ernGALzpu0vuSC2YHucPSTxV4LHvlG4bYrUt297flNak2zI1A+0G3gacRltEyxxdnqJrWhiUD7Jo9VaPxWfm9WPSMOlBp/xGk/66ClDBL2IHhLZASxGvNxmOFZbARQcGWJQ0q6KEQ/qZ934GBfbvpPwNjYg4YODtcg1zmE9rCGmmyC7JkPEae7atBAxgIXltNmLXgHF+4b69eZkSkZ6GydZaRnG4C6hWVSNSZej7pVPaaaVq2VZf4XiOD9ye2v1Zx6T+5KuuyoRvGdqEoEjnyENh3rnwz9pFhFM3tddChvkVnh2eU6RiIypB022lLRfdEkaktix0/4RkAg6/nClEWLAk5/j2d+jidGDOEml8XbRUy9zkaDMQ+RQT35dvR3Y6scKVdUnGNa2ilnd9ZFozAGiQJAUNvKaM5B3h0r/VepU5CmjkkfZMtKZuHb61dXjwtFSaHrNaootUi40etpARFSztkDvyBmBMqo0mElsbdw+tMkykqVbXYI+Pnx5Xrw5TVGc5jsCs/A5ej/my1FVr9/snXGr/PDMuRmTweWkeiWA5/XelnEAArSncnGZPz7EUZ3gB91s4rqBxU4ZSo4= X-Forefront-PRVS: 023495660C X-Forefront-Antispam-Report: SFV:NSPM; SFS:(10009020)(4630300001)(6049001)(6009001)(7916002)(39410400002)(39450400003)(39840400002)(39850400002)(7406005)(5660300001)(9686003)(83506001)(8676002)(92566002)(33646002)(7366002)(2906002)(42186005)(33716001)(103116003)(66066001)(7416002)(50466002)(81166006)(23676002)(1191002)(7736002)(47776003)(189998001)(53936002)(2201001)(38730400002)(25786008)(305945005)(50986999)(6116002)(3846002)(54356999)(86362001)(230700001)(76176999)(77096006)(6486002)(6666003)(2950100002)(90366009)(921003)(1121003)(84006005)(217873001)(2101003)(83996005); DIR:OUT; SFP:1101; SCL:1; SRVR:CY4PR12MB1608; H:[127.0.1.1]; FPR:; SPF:None; MLV:sfv; LANG:en; X-Microsoft-Exchange-Diagnostics: =?utf-8?B?MTtDWTRQUjEyTUIxNjA4OzIzOnVtcUwrZjU0cVBTQlNsalJiazcycWZCOHZT?= =?utf-8?B?M0hiVVpxUHppK005VTVzTDR4ZWcwRFF0dzZuTXpPNHdTRDFHcVhTOHdjZTZ0?= =?utf-8?B?ZmNicVRDRXNUSmZaOHpMR1RvcXlEdGU3RGh1S2gvSnlDMU1abkt2NlhJMDZ4?= =?utf-8?B?ZmErUExYVThidEZSbjhNcm1xcUdyZEN6bm85ZHZyUENZVUkyY0lzVUZQeEJV?= =?utf-8?B?aFVVQUdKbzBVQWxsOHV2ZTNVTXlZWUs1VzlxTjJnbWZseWp4akEzYzhyWkdG?= =?utf-8?B?S0IwSlpSZkZBWHE0R3FrZ2Fxc2ZSN240Qm1VWFZjSHltTjhIN25mZlExLzYy?= =?utf-8?B?Qk1ScGxNTHE5RE9lV0ZISzV4WTBqV284UW5tNU5sOEFBS1VTTE5DeVZScWdq?= =?utf-8?B?WnF2S2s2eDNyQ3hBYmIwNkI5Z05aZVJSN2RXc3JpWkZlS1llNHBXemh5UEdM?= =?utf-8?B?N1JDcDZJa1lod1FXVzFZelB2UHRjank5N2JkY2lQcTZhNk5RTFAvNHdxTXB6?= =?utf-8?B?TVFLKzBXWFZmYmVBZ3ZCdGpLSTYzSUtJVS9TajV6Y0xOZmQxZ2gyYm1xQUdD?= =?utf-8?B?Q28vTGNuVkQxQTgxZzhoeHJEM1BtelZwRVF3MEhLUzR0WXl6S1VRTHlEREpI?= =?utf-8?B?NzRLR1dLUnJyQUdpSGZscVhsVFc3akJWTTNGOStxeWtjeGtOazV6QVlXQ01B?= =?utf-8?B?TktVdk43c3UweGJlbnpRTERLVXg2TkJ3UHpqZDZjTDVCYTVHeDhRaTcrbkN4?= =?utf-8?B?cE4ycTJNT2RPS3NrVTVxOW81aHpqWHNwV0VwN1BlUXhRV1dRMkJrWkdXY0Rh?= =?utf-8?B?UGl0aFQ1UUF2NzgzL09WQTRSNUJBeWxmN1l5UWh1OG1EOXJONHRpOEtrOW5F?= =?utf-8?B?elJZdEVtU0xrWnZyY3FGeTZ1Mk5GWFhSS0k2a1JWTzdNNzJOSjlEOGZQalhO?= =?utf-8?B?MzJmcmFSbUVXdTM0U2tqcUdaV0NEZnFNMks1MVhncDhHT0VqUEhTejlnV3l0?= =?utf-8?B?eTlCSG4zSys5aXU3OXZrUnpBYmpIazNneFVJZFNVUklLVmhGajgzOTd0aWxN?= =?utf-8?B?bURXWGhla2JwYXkreUFqaXFHenZSMzAvSld0R1FHV243d0xuRGNwMEZIZy80?= =?utf-8?B?bHVjbVdsVmRwL0VpUmxtQjc5WmNpQ2E2S3ozQ2pTcDhRQzNHTXZyR050anUv?= =?utf-8?B?TjFiMnBseXpXQyt3bVFVZ2JCNjRwTjdadHV5SUV2N2U4RUwycERXTWRHMUpi?= =?utf-8?B?bjdFV1NOWEhKZCt6amlCMXB2Z1VKNWVGSVUwNW9iU0NLNnVGOEFzNUFxZmk4?= =?utf-8?B?aWl2V25RTXU0OHZvaU92MW15eUNpb0VSZWdNR2xVZDlwdkN2c1lEbUc5RzJI?= =?utf-8?B?QzdmK0UrUEdIWi81RVh6VCtadWJUWkxDR2FMNm5pK3Yxd2kxYWpBNHdCcnRy?= =?utf-8?B?WWVTSHNudG9vZEVURGdpU2s0cnVNa1VETExTYmZzcnVrNEc3dXJxMTNOR1pD?= =?utf-8?B?UXNGK2xJc2lOeHRMS2E5bHU1NHMxR0tPUENLNHpIaEVOcFpCSUNxWmFYdmNj?= =?utf-8?B?eSt5QWozZVVMQ0FoSkVleWY3UWFNc1Q1cmxEem5jRXZBa0xTY2REanJGUlB5?= =?utf-8?B?MUZKSDI2dnMvUk1DR2MvNU1NVE52YmQ2T1R3Z0NKaHJ4V1VKQityanpNbEcw?= =?utf-8?Q?+VZHxiIBk3epbIdJOE=3D?= X-Microsoft-Exchange-Diagnostics: 1; CY4PR12MB1608; 6:IwPk38DSmefGAbA0CvANYMOaMBtxzq320ju+8jihrolkJ43S7ZrzpE8a2yvnA6JD4Q/bQPq19RDUp7dS712PFa2fBqzqBZWoktxSRyJg77uFC/iFDjQudX0SHh2QmIbmkA5jYwvJKFOitUbMNxdEK7VlfXbZTISmOklUzzFaVL8j2Jw8lS+rAbnfTkrxtHqrKD7bthpMsoDez+kT9/HmU2ZB2/UiayBYDOGfwf6iCsYWz6DSmG3uG+ZqH7Ny6lA6mANihpG1g9jnIsLjAsTtx64GSQ11s9EP0z4n6PzXoD2gE9kKll6EVvEGC7z37gyS3IErhxtCqNbarD81z0SgE81I0uB7ApJY40g+60pJgi9dLGOIgnuQe78be2E1yZe5pKQ0ILPZH6462QfS1z8oiPrcMZatw+xA0ePA8N37qfQ=; 5:rv1PnrPAH13WCAWiLddfINtyY+PG4P9yICZWCh7rTO8tgNzvXn3hHFY9gkUBqg5ElQvOJdueRxojRzw3urbHJf9sSY7O9H5gLF3kMp/xjtI1cy3OvEw22q8Lpe4HrDIdXyr/qYmMn1vPEfSiskZ87A==; 24:MjOGEcJCh4iVAEAk+dmjHob+kZ9UcSjphW988FePARC9Aq0mO+dCvVI9SC22+gqh8iXaHvMLPxKDCbxmoTBeYjW+b2q0ljq0nGWdmwqLtjs= SpamDiagnosticOutput: 1:99 SpamDiagnosticMetadata: NSPM X-Microsoft-Exchange-Diagnostics: 1; CY4PR12MB1608; 7:YKm4qmcvF8UitT3FKML+TIYob/HE/Ic1iOBFKJowBT3xjS2aUOVHmUk/dXqsEfMj7Cl4KumpyxhuUP86+Dn4oNqaUMRBsCJQJtTW/xjd0mYBza00MQrp7OyinoNDUmkLvcGmnxQem7cI5+tECf/NJWXHFLDso1+Tdw/TT/mQePBH8kO0/hESJv/OK0dbvRr49yu8DPnjIhWsrjsmsgsCtBdMfbs0cnTRoT/fy8jwwUYK7Ok+AosFI91Ocn4RAbXKDgJydNSBuRE1b+5FVCGzZr918R98GDGqTOIKM92UocyKPq/ZNVKbHonhu+OM4Oa98+mf9bnQqrBf6RGbBoOsjQ==; 20:OpSsd4kOvdWUxBr02H6ugBno9IYn6AY/vilsVRKkR7gDnWaL2p43gCH5WIFCny77Ff1kU//GQXYbe44WaiK1OwpTEwmbzfqn74YKT82zzGMcWG0MzyJ6t7nzLg5ebjVx+2UsX6fI8lyWUJLO44rr4FnHVh8WvvHP1atVXH9XsuQMth2SixHR1Z4o23T+hKgdlwzY90jBWuuFRMD4yffp+zw1KvCSi1UB+ImSaIIcblx2TYQJDZeuAy9hFMnK1pSh X-OriginatorOrg: amd.com X-MS-Exchange-CrossTenant-OriginalArrivalTime: 02 Mar 2017 15:17:00.4801 (UTC) X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted X-MS-Exchange-Transport-CrossTenantHeadersStamped: CY4PR12MB1608 Sender: linux-crypto-owner@vger.kernel.org Precedence: bulk List-ID: X-Mailing-List: linux-crypto@vger.kernel.org X-Virus-Scanned: ClamAV using ClamSMTP In current implementation, asid allocation starts from 1, this patch adds a min_asid variable in svm_vcpu structure to allow starting asid from something other than 1. Signed-off-by: Brijesh Singh Reviewed-by: Paolo Bonzini --- 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 b581499..8d8fe62 100644 --- a/arch/x86/kvm/svm.c +++ b/arch/x86/kvm/svm.c @@ -507,6 +507,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; @@ -763,6 +764,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; native_store_gdt(&gdt_descr); gdt = (struct desc_struct *)gdt_descr.address; @@ -2026,7 +2028,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; }