From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1752000AbdJTCfA (ORCPT ); Thu, 19 Oct 2017 22:35:00 -0400 Received: from mail-bl2nam02on0041.outbound.protection.outlook.com ([104.47.38.41]:45490 "EHLO NAM02-BL2-obe.outbound.protection.outlook.com" rhost-flags-OK-OK-OK-FAIL) by vger.kernel.org with ESMTP id S1751920AbdJTCep (ORCPT ); Thu, 19 Oct 2017 22:34:45 -0400 Authentication-Results: spf=none (sender IP is ) smtp.mailfrom=brijesh.singh@amd.com; From: Brijesh Singh To: kvm@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, linux-kernel@vger.kernel.org Subject: [Part2 PATCH v6 05/38] KVM: SVM: Prepare to reserve asid for SEV guest Date: Thu, 19 Oct 2017 21:33:40 -0500 Message-Id: <20171020023413.122280-6-brijesh.singh@amd.com> X-Mailer: git-send-email 2.9.5 In-Reply-To: <20171020023413.122280-1-brijesh.singh@amd.com> References: <20171020023413.122280-1-brijesh.singh@amd.com> MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit X-Originating-IP: [165.204.78.1] X-ClientProxiedBy: MWHPR1701CA0020.namprd17.prod.outlook.com (10.172.58.30) To SN1PR12MB0157.namprd12.prod.outlook.com (10.162.3.144) X-MS-PublicTrafficType: Email X-MS-Office365-Filtering-Correlation-Id: 48b9b845-3c87-4556-8d57-08d517631ee0 X-MS-Office365-Filtering-HT: Tenant X-Microsoft-Antispam: UriScan:;BCL:0;PCL:0;RULEID:(22001)(48565401081)(4534020)(4602075)(4627075)(201703031133081)(201702281549075)(2017052603199);SRVR:SN1PR12MB0157; X-Microsoft-Exchange-Diagnostics: 1;SN1PR12MB0157;3:maqclfbhtBxDa9HYXZ1Y/79MvTKzgRLMXmI38fYr/Gn9UTYVQJ4/R6xVIJ/KSp7R+7o4LUOcduQOrMN17QIjBB9EsKozo+vmQ1vPGedqza1JrIWMxJIypRQKaOg+uKM1rFn5kD2NRauc4XZi3W9WGZOqQmpwpSoLaHIPOE7Y07mUcCh/vxdi30XTQP3r0vyoZ702Xf22oH5rXR6BFubipKu8S8/cBNcMjFHI6KxM1dIqmzyZ8jYEPDrUgkfSXjUf;25:g5YErgdkkNvPBCyfUqf8rGAtXAI4EtPHpme1JaxgJTS3Mj/mbBb46pXvYIz8j02kbVT7LfY6GA/1iuqy/Vue89SPviEQ2M1U3T9EMLY+q+son8Ki1yGnj7mYfBLleBOQFSEAQ/4xg78e5t+RQl5zf+YnxBxArdsX6Pib6fwa0qQmy6rbms4oef3L0qqtQeYtHZdCCEtVS5LTgjpua9vYhwHV7Ngt11MJBM+5JIhnyOv+JZX99YzBZbedP4gwbf3gNyXSsT2SDKcE/bfj/6xrG9caH6u83igvIlHBeuKK7w3f3qzH9WypWmUWkHUApqhd3klrjJ6YFSQpFiY9k/cWBA==;31:eB2H+jG3V5TQ4WOjIDGnUgrxzQUDhMQf9DtChEimSJ7qs8jc+n5UXK+aA1JnlVpiwQujSy0M3ksmZiU5TYF3COTup3BtV0J5EyiMaiiI+Uk+O2jhrdiHyWSJ+Rdcx+5G64NbqG3HHW5nZnehGDKw3E04GwNkFz6cOTW687w/+WmiDTHfoUM4iZsR3NU3zugzgCZ8Thi5bDco6wZLcQmynFBY/NNUEmiXCXaKB8cMag0= X-MS-TrafficTypeDiagnostic: SN1PR12MB0157: X-Microsoft-Exchange-Diagnostics: 1;SN1PR12MB0157;20:9HBrCLNladnZTZz7eIAVPXr9dQdO+H3zHvXIEv/gr01TF3NhmKQQOw14A12/PDjxeXfkhozJzM91GKk0EWP8CiznbI9RniTdkroVy/leOPU8Bv9xpUasPW1BY4z28FBaiPhyaxrMM+oLEYO8w4vMjq/8UvUYv7N3sO2W7A7gmkAmvdYbhJ/zE/2ldUo0MpcazPF8dvpxOyzW3Cajbnbj3yPpJXnAMMmcLKYx4CS3fmd63Doz32p8SS5TyTC+JSAxpYtopY4Ovn6MBBQKP/7eHOuNjEpczzaMfYyL2b/WuHt3qdGFb5w6DeNvAECDB49a09sBZ6h0KG7Q8lRARZJvxICM1QG+hLE2YSoGavtyqSchQ1J8ipTWl6HrTEse2eJW/SxYDHHnVinN0l7vl6AvBnDAr9Tw8lAmRkWz2cYiKet8m0KVSDFqtMHPKGDnsX+iMt0h75FrvuWhywjufGcl2t+yh4mxkVYAPlI6NH8Lw0eFB6NixfjSfJUWx3VtUhZz;4:oTDgPG0KZj1F4EToIMnlVgNG2RjTHZRMuhpR87geciaIxKGcpDuH68TSvLZjVOXeDsmrh3qJtXzAxE2++nGAmdhbbvCnBmS7mCc/PMxazRZknlimwXlOAsMwYbzMnbeH4XPq7Al3v5XDaWI/nK6KmdV+TXdLQRpIShJt1geNmQP7MmvR8IFRRM3FS9FMqjISKUauA4xMTJiU0cFz9tRzKx4V+IlazzLDN9nwhtMlqtvE3EnNAyDWW8olE2AGFzzTbBhQAVvc790/loIEupel324TAQVHc3yYJOJ6NkXcgAVE8+19ZTV9KmxIw0qu8L7e 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)(3231020)(100000703101)(100105400095)(10201501046)(93006095)(93001095)(3002001)(6055026)(6041248)(20161123555025)(20161123564025)(20161123558100)(201703131423075)(201702281528075)(201703061421075)(201703061406153)(20161123562025)(20161123560025)(6072148)(201708071742011)(100000704101)(100105200095)(100000705101)(100105500095);SRVR:SN1PR12MB0157;BCL:0;PCL:0;RULEID:(100000800101)(100110000095)(100000801101)(100110300095)(100000802101)(100110100095)(100000803101)(100110400095)(100000804101)(100110200095)(100000805101)(100110500095);SRVR:SN1PR12MB0157; X-Forefront-PRVS: 0466CA5A45 X-Forefront-Antispam-Report: SFV:NSPM;SFS:(10009020)(6009001)(346002)(376002)(39860400002)(199003)(189002)(36756003)(7736002)(68736007)(50466002)(1076002)(478600001)(4326008)(16526018)(316002)(53936002)(6486002)(86362001)(305945005)(53416004)(54906003)(50226002)(2351001)(106356001)(101416001)(81166006)(105586002)(8676002)(2361001)(76176999)(2870700001)(2906002)(50986999)(6916009)(23676002)(66066001)(47776003)(97736004)(6116002)(2950100002)(189998001)(8936002)(3846002)(33646002)(81156014)(7416002)(5660300001)(25786009);DIR:OUT;SFP:1101;SCL:1;SRVR:SN1PR12MB0157;H:ubuntu-010236106000.amd.com;FPR:;SPF:None;PTR:InfoNoRecords;A:1;MX:1;LANG:en; X-Microsoft-Exchange-Diagnostics: =?utf-8?B?MTtTTjFQUjEyTUIwMTU3OzIzOnlSU0k5Sk5MUDBmZXJxVmRUSDYycERZY2l2?= =?utf-8?B?RmtERnpBTUpxeFRvVFRFSzhzY0VNbHMvdmVZcElta1E0V2RzRm43QVhOR2ND?= =?utf-8?B?MGJGYVREUnoyZFgyTG0vcE1oNUI4RTQ2d2RGNzQ3NFkvMS8xZkFFZGF6anhp?= =?utf-8?B?aEVIZWlHYWQybHN3cU56N1RqK0dTSjUySFVvUUs0Njd1Wk1nSk5ZcTk3c2Vp?= =?utf-8?B?OEZpOEFMdklnMUxsaEZvVFBOOThZcXJmdEZjNUtYT0t6eU03R0hZeVFXTmky?= =?utf-8?B?SGo4aW9pTW5ub3pyc2VuYkJERzV1K3FKTVNSSURpN3BxSXNHUVI4N3ZhYnFU?= =?utf-8?B?MjdoSHdFa0c2M2ZQdVI1M3lSZG0ra1RJLzB1ZEhVQzIwbk1yY1dtNFJZTFhs?= =?utf-8?B?c3VuTHlCTzFMVkZZTVVsMGU5Uk5uenh2SVIxOXVKLzBsQUEzOVJPY2NNeHNn?= =?utf-8?B?TWpNbHFWSjY0cnY4Skw0ejRjWnhTYUJNVDlpQ21YT0lrWWVDMEhQVE9LMGY3?= =?utf-8?B?S25OLzN0WDBGRTVTczlCbUE0Z2NKVTlDWS9vYmlLZ3dzY0p6S0VnSk9tODJq?= =?utf-8?B?MUZNQjk5cExqMjYwM2VnS0FRME50K2EyYUo2V1Y2VzVwK2tOL3NnSjNFQVp5?= =?utf-8?B?dm56bHlGV1dCSVZLTkVaS3Y0a1dvcFN5eld4Q3FtZkpTWXdUaEJpTUp0TG9p?= =?utf-8?B?QVcwdEhMMjZ6RFplVE9PQWlodUMweC92RGowemRZV2haYitLdWpvdTZSNHhh?= =?utf-8?B?K3R5NmNNem45aXpHMnA3Q3JNcnRBUXlUWmE4Q3RLWVBScVdCdWN5Z2RmN0Fw?= =?utf-8?B?WjR0aGhDK0phRXQ3dkpncmxvT0NaTTBkYXQ2WnJXUVUyRnVPMjBhOWVTQWNT?= =?utf-8?B?R29BbFNIQzZRYWhrTUplY29lWGNPQzZHVzRBZXdhY0p2cTYyNWtNbzZHZVZu?= =?utf-8?B?NnRxeXE0OUg4c1VnRE8xN05LbmxFRVdRMzFpU0lvWlpOR3JEU0kzSDlTSldj?= =?utf-8?B?ekkxc0ZlL0d1Z1VGb21zS3NweVJKUDFUeDR4c2w0ZUp3WW1CRmtIYTRnNjZF?= =?utf-8?B?eTFxSkZwSS81S0p0ZTFvMlFjTExOSWlJTW9CUUhsc2ZhTFJZN2tzNk1XVnV2?= =?utf-8?B?eEZyVlZUZzZvcG41OUtpUkV2R0lLTFdtbWZrb0psc0hhS3NZc0hlUzYwL0Q4?= =?utf-8?B?WHVwWmlwbCs1bHo3TlM2dWE5clRHMVBmUml2T3czek14MWFjbEFMUVRJbzRB?= =?utf-8?B?SlA5ODk1NGg2YzQ0c0x3L3FWTVE4cVo0bmZqZ1pDOE5PVUpQb2pRdGwzNmsx?= =?utf-8?B?K2ZkUlV5d1VTZ25CMGlLRXY3TnZ2Ry93S0NZekVJT25jVlhCTWEyTnN3dWEy?= =?utf-8?B?N2ZUYmtac0loOC8xaEhrZVpNL2JWQkVQQW1KT04wc0lLbGxPZ2g5U0FkS0Y3?= =?utf-8?B?WDFPRnd0UE9IMW9lSjNRUVlESThFbmdqNmF0K0s2VCtZTU5vSWxSMThlTzND?= =?utf-8?Q?OZ5giUkCVEvwQMBmMOOLjbCKg=3D?= X-Microsoft-Exchange-Diagnostics: 1;SN1PR12MB0157;6:lH7gn8EvWWwXkHGFDY6ZS1Pox2PfUZvEYtyjHd4ZE4EmBU1cNmBptoeBxsuRJO5i0cwFX/5QQ3HDrv1NbegfuqMbhplGWbKmSUDdypId0ooxOadCZTT7FQLLgO34BoxQytFnD8iYCMvpVF8XEX2i1RFd4VdfFtsxSdQuKdr/9Yq9OgfQQhTKAwULzuoRs26y2G1Qadwar/N2/GOL8q3IQyG6kOvO5ANM2OGqXApSoiDR/5o9qx5rFGh39JfQQImsEJQmv/s1IU+jxak9bRNFeVLgyDDR32cjeykgXQP3USdzrvkoMBAwgXx7Kyvnp5Mp5wU3nhnDLkhTEdSbKL+PZA==;5:jzIzLVfdQyW5lfyNheczBEgZq+6SPdfc9QeYjurBpd8yxSdPBoVAVgc+gkk9O8GC2AOY9FcVma/LG3ejNAh989a9qIeh4ApfuSFPU2IZ0FVJnBQupwFxv1q+HWHz+BeqbL7/BlXwdgC+h8B+dE46Mg==;24:/g+Pa0FLFpve0fmI/RzZ/icHcLlEjw4LK0Pe7hEktC0Qdq7LoLX2/YNOQDHE4643SRbXwAo5EH8EE845lzq3tv16N7q9H2jEw1oShCcPqNQ=;7:7EcgFMZv7y1CKDtJbZ0w2Zg6HWLpH2z6x59yeNAIK8YDxgS/z46GsoDGUOGLIj1HOz8XG5tXs8csha1vdVDqUFitJYkSfMZm+VqoeMT4SW7+nkgRw560WM/pmc9W2GWmQz9iInf5wf+Fj7273HnKwWBdk4nVYvMpTQPoD+smk4mENkPZTZvOpF41m/4RmT6LkFnB8gxQ1nvM+GywDO25wIq24gBAtfcTWQrSwklKz8o= SpamDiagnosticOutput: 1:99 SpamDiagnosticMetadata: NSPM X-Microsoft-Exchange-Diagnostics: 1;SN1PR12MB0157;20:D6MR9ObaKtz6yKg95CIexwq30zysLzhvokd7QuJzL6tVYGY1Kxoohu8wGq2nD2wREhdDkGIU4hxOgA2gNmotrY2ZerwHlvdpcoHEiccSQoAsQfaimeJZvbxQnCqLW2WNsth6MEwLJ+OdHfIToWblvwstjLtv7ksGuPdKQjPSq9y2ef3Z11wf+TP5Xkba2P5cfmbcmWRijG+3L2hptUxP7E9dKE7F8lfzkZ0j96zkhnD6vhxp7I61iWvEv1g/PNnn X-OriginatorOrg: amd.com X-MS-Exchange-CrossTenant-OriginalArrivalTime: 20 Oct 2017 02:34:41.2683 (UTC) X-MS-Exchange-CrossTenant-Network-Message-Id: 48b9b845-3c87-4556-8d57-08d517631ee0 X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted X-MS-Exchange-CrossTenant-Id: 3dd8961f-e488-4e60-8e11-a82d994e183d X-MS-Exchange-Transport-CrossTenantHeadersStamped: SN1PR12MB0157 Sender: linux-kernel-owner@vger.kernel.org List-ID: X-Mailing-List: linux-kernel@vger.kernel.org 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; } -- 2.9.5