From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1751861AbdISUrM (ORCPT ); Tue, 19 Sep 2017 16:47:12 -0400 Received: from mail-by2nam01on0052.outbound.protection.outlook.com ([104.47.34.52]:32170 "EHLO NAM01-BY2-obe.outbound.protection.outlook.com" rhost-flags-OK-OK-OK-FAIL) by vger.kernel.org with ESMTP id S1751779AbdISUrD (ORCPT ); Tue, 19 Sep 2017 16:47:03 -0400 Authentication-Results: spf=none (sender IP is ) smtp.mailfrom=brijesh.singh@amd.com; From: Brijesh Singh To: linux-kernel@vger.kernel.org, kvm@vger.kernel.org Cc: 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 v4 08/29] KVM: SVM: Prepare to reserve asid for SEV guest Date: Tue, 19 Sep 2017 15:46:06 -0500 Message-Id: <20170919204627.3875-9-brijesh.singh@amd.com> X-Mailer: git-send-email 2.9.5 In-Reply-To: <20170919204627.3875-1-brijesh.singh@amd.com> References: <20170919204627.3875-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: CY4PR04CA0071.namprd04.prod.outlook.com (10.171.243.164) To SN1PR12MB0158.namprd12.prod.outlook.com (10.162.3.145) X-MS-PublicTrafficType: Email X-MS-Office365-Filtering-Correlation-Id: 84f82f13-009a-432c-5b9b-08d4ff9f908a X-MS-Office365-Filtering-HT: Tenant X-Microsoft-Antispam: UriScan:;BCL:0;PCL:0;RULEID:(300000500095)(300135000095)(300000501095)(300135300095)(22001)(300000502095)(300135100095)(2017030254152)(48565401081)(300000503095)(300135400095)(2017052603199)(201703131423075)(201703031133081)(201702281549075)(300000504095)(300135200095)(300000505095)(300135600095)(300000506095)(300135500095);SRVR:SN1PR12MB0158; X-Microsoft-Exchange-Diagnostics: 1;SN1PR12MB0158;3:luS3beu8MmwNbXxVuFwZ7x9O5s5fWgfiecDyMp443KUycftSsWjNEKt+x2gJVoOqg0SQBRJSCjBsJtaXi95PFWbIJkjXm02YWZhM0Pwr3yhw53cmhoJ0ZmjoHk0V0L6h7bKmTirIvImQ/4dGaltZ0YsGVdYweIA+tzYbLWz7hI/jmJN8f5TOxbUrde2rygLjkDwNDTsHNvdfbHFnO08GNYhgqrK2X2uPO6f2XCQHLw6eItmrYRDxcAukahR0nsh5;25:Q9ywBWdYH3LE2Ftwuo2ZzTMk+H8t/yujb38WxJijY55/ioLE55XgGMJB3wJ8GBFwRBC8qbe4AhklLxM7siH1XwLaUiC7w8/5lOVliAYx5Y1xol6GQaUuzKL6OdGabbhEcTnTVNEyrcJfybMDxHOSEvaVlxmEZuiYzSSciKys8AUFjUGtDes/Ud1zxilYlXQTFTvWa7QAzjn7N4aFr8tLC9Pjn49oJJ9uXmKw5DH/qWnb0S40cTMFEXHYa5ZzeAi5Ft/CVrEnmbl7ahKlnfuN3isbp/ftYDXzXf3ENXXcy87tQRcxSNKvPIyDEJ9Yt0nLYwHL5tbBUdeZDFZWV5uZZw==;31:gVM5+2LqF3lhCWidnLoTCFn61Ij/qmrasDMfspCKS0Q89MEgTpJhSW4/ixYL3fwoeFh1tKwHz3Y2/3ArmtKKN0aifIeA37OpqYZglQt9743hlrW+Nsmz6b9gxUg2PPJsG25GG89tj9WTVy25Cvr2aJq+h/Mr+KArHdJ3ZXJ+CE7ZhZTmKKtWOlwn5asZQjMMbJP0j3Zlu3sbFzYqbY6U2XtCLoM+NePdt9kMvFDjnd0= X-MS-TrafficTypeDiagnostic: SN1PR12MB0158: X-Microsoft-Exchange-Diagnostics: 1;SN1PR12MB0158;20:+HXF2u1mc/aGahTj/bDG8Sd0Vzqf8gXfbIRbU4Qhf6l+gMSF7/A7gkbowIynTG83nh4Iu0mpRqtNkm42wSe9Ta1PFo+lVF2DuIJQlhlFlJQfj0pWVN3+vcVQjK1NGPYfR1wk4NftI8TCtt3LntsfH6xFp5A5ZWzB9FANitybU8WY6LebJ8vhCafXVW9m76YZSn5njq/Jjaw8lcgjZPTzrHeaGZYZix3xv7izU1FL4CYOnZizDvaltuisSx9xuNLtjyOx2J0rSmuM1W37lqLpJ8LFO6tm27Olb1EMlkwmrlPXWWlL1KIONxR0C3kloaSsPB8B6um4qqvb+17RqcNf32BVPfwNG7jlZ2D2LvfIU9VHHQker9xfypPZsDncL+EOD4WmFr6UXL7jV6ZY7rRpVwpUBkF/mVTG8JP7Vxojwa6qnIiQKq5AdUwxj1z0HTLclBKVoqxfeeFoPetuanLksP2gOXGW/ozXT1SdxezW5dpsmRtJTUo+QUXPytbzuwdN;4:ncWvvkMz0g35mGFqQrexGdY6PXLUdxZCMXCXQ6SmPOc86PTkttP7eovKAUnQK/E0xfw+DkGKFMQz/BYh7JIJVgm4KnWiAdFpnpwmV8OJXVQmFF3nCSGAQaOFvL25l/Vnt4K/HSc27ndNzqse8ao16oN73Jn5JZYRT4pS8psipdb1dzQXb0V0Urof37Upn5JdeM1/RmFC/hDKuGH6BD+6MWz0th+nq7TZerYmC/Yc0W8b6Qao7PYFPfRMvoSyLZmRvZx/OQK/Wk97oa53eiSNrXV3Bg92XxxQowXUtFfap3cVrdJVNxYdqT19sELg7Ak0 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)(93006095)(93001095)(100000703101)(100105400095)(3002001)(10201501046)(6055026)(6041248)(20161123560025)(20161123558100)(201703131423075)(201702281528075)(201703061421075)(201703061406153)(20161123555025)(20161123562025)(20161123564025)(6072148)(201708071742011)(100000704101)(100105200095)(100000705101)(100105500095);SRVR:SN1PR12MB0158;BCL:0;PCL:0;RULEID:(100000800101)(100110000095)(100000801101)(100110300095)(100000802101)(100110100095)(100000803101)(100110400095)(100000804101)(100110200095)(100000805101)(100110500095);SRVR:SN1PR12MB0158; X-Forefront-PRVS: 04359FAD81 X-Forefront-Antispam-Report: SFV:NSPM;SFS:(10009020)(6009001)(346002)(376002)(39860400002)(199003)(189002)(86362001)(50466002)(8936002)(97736004)(6116002)(3846002)(7416002)(81156014)(8676002)(50226002)(2950100002)(81166006)(316002)(478600001)(16526017)(6666003)(7736002)(66066001)(305945005)(47776003)(6486002)(189998001)(53416004)(25786009)(101416001)(2870700001)(50986999)(76176999)(53936002)(2906002)(68736007)(36756003)(106356001)(1076002)(4326008)(5660300001)(105586002)(33646002)(23676002)(54906003);DIR:OUT;SFP:1101;SCL:1;SRVR:SN1PR12MB0158;H:ubuntu-010236106000.amd.com;FPR:;SPF:None;PTR:InfoNoRecords;A:1;MX:1;LANG:en; X-Microsoft-Exchange-Diagnostics: =?utf-8?B?MTtTTjFQUjEyTUIwMTU4OzIzOlpVbU9NVUlla1ZiY29xR2dpc0xmT2pZSkFM?= =?utf-8?B?Q0FLazlqUWpId1RHKzErNXp2M0lIVjI4OEVKcVR3V1hyd0VtdHNCZEY0eDhu?= =?utf-8?B?djlsTWZIbGwyMVFYbHZCTENGZFFyVitVU0tjeXdaVnVvZUpMYnZySjhSeTNz?= =?utf-8?B?WHVpS0t4cm13YStiZ3V1MXdOS3Y3RldhQUlodDNYc3NIUVkwaE5rUGVGQUFh?= =?utf-8?B?ZVhrd09FWC9GdDRQY3lIRUFYaEhQcTBuVkprODlVaytvWjJaMEwydm5nTW9Y?= =?utf-8?B?MUlUM2E3d0IwSm5jTnVwckE3SEh2QVhyZ2VHbTlYalF3MmtxTXZVcm1aZnFW?= =?utf-8?B?M3VQYXpWZzBpRS9CWVNScHZYNXAvc1pzaEJVV1V6cGQ0MDZiTDJQck5MZDR0?= =?utf-8?B?SEpNcnpycmg5aUtKVHcvOTJOa3JhSjRpZFJEam9vcU1Wa2hJVXRmblA0aVZU?= =?utf-8?B?NU40c1loRDBoQkNyK09YVnpyNUxVK0RpSHlGNXdMQmMwQktJZHJyeFR3Qis2?= =?utf-8?B?azI1ZzNOaXFPSTY5RnVUemsvYXdnUE5KVFdSNTd6c00vTzNrczJsQ2ZkcW00?= =?utf-8?B?MkJERUlDS043TERTUFplcU01K3NkcGFPSjVXZjJFVHFJU1VTR01SK2hOblRV?= =?utf-8?B?bE02VlB1WWl6akdUQjFON0Eraks3bHBPTXNLVzJ0SktKTUsxRktiMzlwSmxo?= =?utf-8?B?ZHdIWTVqaCtKSXc3MXp3RVNFTWQvd2dLcXNsY3FmNTJDZ0xoRmZBTUtEVnNi?= =?utf-8?B?WW5uempmUmVpYUFhcnFTNXkvdzIvOUZ6UlRUcnFadzFIZExhRTlVNDR1eHRY?= =?utf-8?B?THVEVXZ5NVZXc2RmSHg5N3lyWUVjaGxtc2pGa0VOajd1bkFyRHgzYW15QjNq?= =?utf-8?B?d3hGUjRHZDcxMVQybkNPdHhOU3VadnpJTDA3VUlnZVowR2N2bWJPWVJLWlBP?= =?utf-8?B?cHNXTk9Qa1d6Mm5Sb1F3bmdkRjJPMzltbzFUTVh5M2pxNUNjWllnY1JWK3pm?= =?utf-8?B?cE1Xa3h6TzNHMC9UZzF6cHdRWVBGVlMxK1E2dUQ4V21SS2N3cXV2bmd3ajVi?= =?utf-8?B?bVFaWEVGWGEwelpPUUJXMHQ1Z3RURmlGRm4wSkJqRm44NmNzeEpZWmVCUFFh?= =?utf-8?B?NGRXdWFqQU54UUhSaDA0QUI3aUVreWY2OTAzMlZFMmxwNTN1S3F2UmRHTFlt?= =?utf-8?B?emZqSnFFS0FVTExVUTc3cTEvN1Z6U3ZiaGRhb00wdCtTMGZJaWtPRW11Yk80?= =?utf-8?B?Y0ZoNEtKTXFmZDRIMExuS0ZIUmF6SkdVMk9vdEdwYkpybm1DOWlHd3JGQXFT?= =?utf-8?B?cUNUV1BMNVY3TTZLOHliVVBER0VZS1ZzVEJ4OFhWVWF1N0ZmRUo1NkcwcWdC?= =?utf-8?B?WWMxc3BxbDlCNFZqRWRQTWI3ZDIwUittbDFBbVZFOVFzRmdEUG9RVWFaRmh2?= =?utf-8?Q?cOqH7HWjSUBZCFg3mNrR6hS5wHw?= X-Microsoft-Exchange-Diagnostics: 1;SN1PR12MB0158;6:zvBHewE7Iix6orDXU8pLFrEpeNFPyWMrgu3Gm+GO12vbYdx6DKe1PE6KSqin2fng8etCMRb5D6tRc93XDZE2rbjAMPBXeg3jvLXR609mbcsdowaRo47YEAbtIX6gr/Oaey10rtELM22PbDTpWi9t0LeWbAYzamuJFeiEM+eHLq+9mMXjmqAkFcyLLgYQbubms/KhgLdvdTuBEV9hYmwfv0gGl09loCEH5NtqDK3HkqCB3bn227J5wtG82O6IQ/mi0FT2OxjdTgDMzRVhc+EKvyZQYezT5flT7S+Z97KTWdyijSrllBh9jkTS7+8wvIsaubgOzEUMup86mR+09Xq1Bg==;5:Dl8QmzMPmmUbmHEVzJCWBIiB+NosgQ+a1h5UsKDesQ9vhuA+kereXOWmSlVrsPbunVkAXAZW3Jdxt+S5pxMRutYUteJj3c0t3Sho10cyW6/U+9urRhKldUEIBnEdFVbLKa12epKQdqELlJA/ToEz1w==;24:5N0Dd++e311VW7hdIIiZNoi5AZQImkB9wM0OOXnBVuI1Efw4YSzJi3EFGOUFOx5PXeWx7O/xueNItpghviC9UFC7yjYVUeLb2bvvqyls9vk=;7:AY24j/atoGd5NAPKgVmA3xJjSlSbTPvxZwFOe8zk4laO5gYNKj7Psj2wxoAfdNUvxjoQRWvWM3qQWRb82TEKko8719NhjCZHN7qZYDyB2nIYqWGv4x32isW0LJF9pmNTs6XkBbWPR+mul6RKAdgU+TNYuxWJl9ueLckt1RtlTrrBmkzIAt+vt7qFDuSnxysTBhYniPajAqJA9isf7oci58hrnj63/Ucy3aKg7qZhqA0= SpamDiagnosticOutput: 1:99 SpamDiagnosticMetadata: NSPM X-Microsoft-Exchange-Diagnostics: 1;SN1PR12MB0158;20:PUtK5lLlKE+9X9YQ3yAyG2TiqzCfaMMXspBVks1W5ejl91pu/MOsqOg8ExtHjsDFxbXAtMnYy+VM/UlcOJI85PREDO0a2zXmNTFS3XUvJcHnL/x3FnwaeImitl3mP6c3mHbS4zBtJQtWdwvQzKFR3zzz01nLntGiObhXDkSeMdJcFE5bYrnF3d5VEkS+G/pz4G2dCFSd7/AVJDtjVlb2p6Ma40F6KdPp8eAmQQZ5CmZsN7qgwvr8qpD4XJVm1UBQ X-OriginatorOrg: amd.com X-MS-Exchange-CrossTenant-OriginalArrivalTime: 19 Sep 2017 20:46:54.6891 (UTC) X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted X-MS-Exchange-CrossTenant-Id: 3dd8961f-e488-4e60-8e11-a82d994e183d X-MS-Exchange-Transport-CrossTenantHeadersStamped: SN1PR12MB0158 Sender: linux-kernel-owner@vger.kernel.org List-ID: X-Mailing-List: linux-kernel@vger.kernel.org In current implementation, asid allocation starts from 1, adds a min_asid variable in svm_vcpu structure to allow starting asid from something other than 1. 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 Reviewed-by: Paolo Bonzini Signed-off-by: Brijesh Singh --- 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