From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1752549AbdJDNZN (ORCPT ); Wed, 4 Oct 2017 09:25:13 -0400 Received: from mail-cys01nam02on0084.outbound.protection.outlook.com ([104.47.37.84]:31550 "EHLO NAM02-CY1-obe.outbound.protection.outlook.com" rhost-flags-OK-OK-OK-FAIL) by vger.kernel.org with ESMTP id S1752149AbdJDNOt (ORCPT ); Wed, 4 Oct 2017 09:14:49 -0400 From: Brijesh Singh To: x86@kernel.org, kvm@vger.kernel.org, linux-kernel@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 Subject: [Part2 PATCH v5 05/31] KVM: SVM: Prepare to reserve asid for SEV guest Date: Wed, 4 Oct 2017 08:13:46 -0500 Message-Id: <20171004131412.13038-6-brijesh.singh@amd.com> X-Mailer: git-send-email 2.9.5 In-Reply-To: <20171004131412.13038-1-brijesh.singh@amd.com> References: <20171004131412.13038-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: MWHPR2201CA0056.namprd22.prod.outlook.com (10.172.59.30) To SN1PR12MB0160.namprd12.prod.outlook.com (10.162.3.147) X-MS-PublicTrafficType: Email X-MS-Office365-Filtering-Correlation-Id: 68dfb25d-3f80-470c-d1d4-08d50b29e348 X-MS-Office365-Filtering-HT: Tenant X-Microsoft-Antispam: UriScan:;BCL:0;PCL:0;RULEID:(22001)(2017030254152)(48565401081)(2017052603199)(201703131423075)(201703031133081)(201702281549075);SRVR:SN1PR12MB0160; X-Microsoft-Exchange-Diagnostics: 1;SN1PR12MB0160;3:VQ9Dw15HUczh4y0lDSrHNL+u4vYubcLw+LNx13kRh8cnQKtPdsUFo9uSyyD6vOeGGWusrayqjdz99gUL0Hev9UzNeNA7lSz5X94KEH45iiDTZh7CKvbXlYe4bEV6iuB5my2vyRaLfSciJ8X7WOxaPzBDG7tJq1TkSTxP4jMRFVdBmCRcrQ47aSuE9itlSLzgLp5XtOJtOZ/u0Y9kp86MkaZ6KTsb9aT9sx6oXXPohjUUR2SzibymB5nm7KoSXrNq;25:k7fE2mQ/7x/QSpyTgD26++4WK3IpPuaykgywDWG6cMlAZ3HafED7HlsUWV+So1OP6j3mfgylzoC1JjXwxdX9/g7HilfCXaCLYLFAAGbKAZve9g+hfhJBKQ3qErqAyCoSEcpbGVPgSlqYbNwmx9+WKhKHdC+fWR42SRssS2Z0DWAqrY1KkMqdsopmRzBvEO4dn6Dt8fXq7fsI5d1hrpF67vgucU3KZhsjkPlOAG8t4nLxzYKsezXFG1CnDbxRSAhuXCtRvpWuQS9cmU/wNCpI2BM/UoLKDlINUe/fLTdfhJujpo20o5MSlb0P/9DrpHXSOP10zR6EiMafRQSZmCfNMQ==;31:8UCMC23RIjWUsLdXpVBN+yd2bRDRRxeviuAo1lA5+qanJI15bXNogKYOkoOsEA8szW9QLn/1qIfkKAptIq7OZYCJA7668kfhL8TFtd51uDSYCqnI+hADDAvHBR5PdNxyEpPHlbhKkoBsKe/1AOWCf3Lv0Xq2TSqJJ5IsXlI/HvKdu+jsyuNP8UaO0IKBPC8dc2mfnRrBygyWRbwVZKSihyQvYAii5rk6Jo4BiBGuzNY= X-MS-TrafficTypeDiagnostic: SN1PR12MB0160: X-Microsoft-Exchange-Diagnostics: 1;SN1PR12MB0160;20:Sf/ExIif4vomRw6BJuGDsS+ry90k4YcL4772yQWbBZx7m1ZdtOJJWnhrBRWABTVgofnNZgDNKIR9b7TNqcrq/bEriQGhDP836aHBE8wEuahbjKovQv+tKWLsy06e8qvv7xtq8ppkGBF+d9BF1+sTV1nmamzHQ68kD47fLboFyTYmwKWonPywAGNwdqNB/TMusRG/B0YqmLujHW/b6WaIsMk4ADPbYCu/Rat1+McHsbKnLcE0DvAzQNpA/oxRaq5atVQJ6XNnCl2No3aI5Mrhu0TU5OEIoFJiZAX9/94KkkkB8HBElNPkPg5Oija872oQWI0fo+o5O7vbSHmJ9jCfPEbxTCmNQhibhRUGAwNSrYLl2VnAVvT6l0r8DeeoY4n6oykKvqm1n3rf9i2EOoW+i4tVI3/iPyT9yRj/eEuRrlbw+nTu//9PMxqHFubavbJsW3OjFs/5GpjgQ+UPK+gfjqJzEb1abPmdoOumWbCpqaIRY62FXG6OwCmvaVG1GTYJ;4:ZKnvBJ3eofNEbGZTDjarjplXEFUN9RKgkEUT5z3xoB7gf6wo0V2MHdvgBbygd5G1eWOQPZGe3IgJrxe8PKsiRFUE2yI2D3FGSM6x5pfWUEPRj30zg0nJoTTnDBEzTPxV1MAxsrtwrjBlxyYIvUZNz88SI1H+OyCzZV05hN6OocZmtj3FufLd7vI5ie1Z2o7IZuPWTHaLyLUq1I9OHRdkiPZUOkzrlAzhD96vGJ52Q1wJPjVKxnvAxhh2B9o2SvF7vU7oKkQ/QMMAnlPJS3iN/wa3RyxltdOJpWsurUEkSWDQbYf2vUtoUXdFF4js0Hgg 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)(3002001)(93006095)(93001095)(10201501046)(6055026)(6041248)(201703131423075)(201702281528075)(201703061421075)(201703061406153)(20161123564025)(20161123562025)(20161123555025)(20161123560025)(20161123558100)(6072148)(201708071742011)(100000704101)(100105200095)(100000705101)(100105500095);SRVR:SN1PR12MB0160;BCL:0;PCL:0;RULEID:(100000800101)(100110000095)(100000801101)(100110300095)(100000802101)(100110100095)(100000803101)(100110400095)(100000804101)(100110200095)(100000805101)(100110500095);SRVR:SN1PR12MB0160; X-Forefront-PRVS: 0450A714CB X-Forefront-Antispam-Report: SFV:NSPM;SFS:(10009020)(6009001)(39860400002)(346002)(376002)(199003)(189002)(97736004)(86362001)(23676002)(76176999)(53936002)(50986999)(1076002)(6116002)(3846002)(478600001)(36756003)(47776003)(101416001)(33646002)(6486002)(66066001)(189998001)(68736007)(105586002)(53416004)(50466002)(4326008)(54906003)(8936002)(305945005)(2870700001)(81166006)(5660300001)(81156014)(25786009)(2906002)(8676002)(7736002)(2950100002)(7416002)(50226002)(106356001)(316002)(16526018);DIR:OUT;SFP:1101;SCL:1;SRVR:SN1PR12MB0160;H:ubuntu-010236106000.amd.com;FPR:;SPF:None;PTR:InfoNoRecords;A:1;MX:1;LANG:en; Authentication-Results: spf=none (sender IP is ) smtp.mailfrom=brijesh.singh@amd.com; X-Microsoft-Exchange-Diagnostics: =?utf-8?B?MTtTTjFQUjEyTUIwMTYwOzIzOnU1VkJ2QjFyV29kZHY5N09pU3paamJnR2Vy?= =?utf-8?B?VnZkL3ZzWFdjcjhRTzhITWcwUXh3NmJlNTcycGt3U1U0UE9jdmMwK3NENnRK?= =?utf-8?B?TGJURU52R1RwMFVYVFpUTGpsMVBWeDJiUTNvOGRTYXNlVUp0UHNWR0taUkZ6?= =?utf-8?B?K3YzeW0rV3lVUHlFajBHbzN0aHBqZERHK1VKUVA3WkpjN0xlVHhmbzJOajV1?= =?utf-8?B?YXpJZ2cwaFhyVjFKeHBmSlA3RDlzSVlla01KYjVBdnpUQ1lXUytoSTZRRnJD?= =?utf-8?B?RVFsNWR6NE9nMlA2MWxrTnhXTTNnNFB5OW1YRmxTeEVoM0JWVksyNXN3bTNO?= =?utf-8?B?NW5QcHNhdCttTnlEQ0JxZmNhT0l4SGxIVE00ZHFqdytoWW16VkVIUUtPajFn?= =?utf-8?B?RlpHL1BKY2YrM3htakxkZXJ0VnczU29MNkgxUEl0Q2x6bHJTeEZ5Z3h3cDVn?= =?utf-8?B?T0pEMk1kQmY4aUZvYUVlaVp6bk1GZmZzeFJYVTYwd3NFUjlBazA0M0VKdjJG?= =?utf-8?B?K3FrWUhHb1ZYV1hOdTVPanVPV0tSZWRKWGFhY0FBTUxYQlQrSWh2akh0VlJv?= =?utf-8?B?ak9kOVFaYXFScUllcFZYdWwrbFM1M2ttZGxkMGtMbExqMVgzazJjQ1BqVkNP?= =?utf-8?B?UVcvMitpemwrVENiTE8wWVZYaTZiSCtHKzNqb2pqOWo1dmlQMno0bDlGUm1l?= =?utf-8?B?eklDREZ4SmV5aDAxSHV6Q3VoMzc3QW8vN3VoZ01GU2NCQ0pianNYYmpHYnJX?= =?utf-8?B?amd5eEkreWVXNWZJV3RMcTNxWWJGT291Zy9YZkUrbGY2cXRXQXdUMU1Kd1ZQ?= =?utf-8?B?RndOSVg0NzI0YThoUVRBeGRwajRiMlJHRDI4T0ozL3hmWTR1RHgyN1dvaUZZ?= =?utf-8?B?bUMvTGh2a2J2aXZjUTBQMFNFQkQ0RUxBQjl2dXU1emNGTEJ4UEZHQXE2V1ov?= =?utf-8?B?TE05UlFFak1oN3dEc0FtaXVRMFNvSEYyRnd5eGsyZFhSOC9KaU9ZU1hCYkxI?= =?utf-8?B?RHhtaGhpdkxvY2xweGcyWUVMZXp6aUdydXduMytQekRweSthVmRlY2NTYTRv?= =?utf-8?B?NDNielphb1ZCZGt4bWh2Wlg3VStOclUrVlFZRlZzR01ORjZIQmZoTFNTSWFJ?= =?utf-8?B?REJGaDU3YjNha1o4YUpCWUlhWE9oaFovS1VYZWxxV1JDd2Fvb2prejVjSHJF?= =?utf-8?B?NUVvRllDY0VSYmpkSVZFV2lGbzQzN284clczczhYQmJ1eHk5Q1FEZHdjL3ZC?= =?utf-8?B?Z3hXekdta0NjdHhaRU5EZ2tRZnNEdFVpQXovQ3Zic1k1bjlxMzVKWjRlbVBP?= =?utf-8?B?Nm9HSG1aZ2xXbktIZUV3N05VR1hkeFRiRUtGaUhBVldnQWkrejMxYU14Unhm?= =?utf-8?B?M0JoZEZ4UmNReElHRE0xTkJZNDBEaC9jL0dUMVFud1l0bWhRZmpHZkJsWmhx?= =?utf-8?Q?i4G+SPjbWjJZKK1aIOxYxXI4oY9?= X-Microsoft-Exchange-Diagnostics: 1;SN1PR12MB0160;6:snTA4WITOS7I05c6BmsSWuTL6oL6rtKX1hNkOyfw8hfuWCMdrzXQBbLO4hYenykmT5vawm5ngVpECf8yVdfUlZ+msA0K1E3dtIBS1hj7hxEU1UQ98XCwbhI7bSJJrAq885SG5+9eAGPuyyv1tXQBAl/4DMpTTtegi2JXil1ovnYmsRfvVFICBl1ohZGm5HF3OM5MsKq7oX0f4K2pU3aD8iZt3ETPPIPOMxaRsAwo/tSCZh67k6dt+hkLcjdJUWIkys/yc8HfRkpC4smCChzE2FAw+nDB4ITk73XjnOBprlGE7Y6ZUZu5WMzEUx4x8AZ0jjdWQMTo7x8fq44k+08IgQ==;5:IdzzrWqN0DFCqmbMpv5DjuKTQrWgJpsuge8+w43jp9R73JY0PY1F0w6uMEMj958tviNcsz9lRPVO/e80SEeBz6QrJBABwwsfwWZMEpSRE/7DdM2uMprBCikFaePwfWEk1daF/fn42FsxG23UksPLMQ==;24:Hy4u42mbeIpg1GjxcZ0/tWO7Wunb8t4gFXxiLghfkPTg6LcE6bijosRsOJutDVT0FwX9mVI4BXW00EWKxhU0JNdCqtiSZGx++RxeFFnJi9Y=;7:ZFg8z+cWg2oWphNQc6RadBAdXRNJm6pT4WPGajPbh73tyd2fLnMJtRtso1Mg/X9ll9pqYWcU8gyEt/ujoVUizIw0x09eOSwfU8IqCijQ3/7/YUAI4c+EdszbJYPY1iFKOy01Ex5E1849sWSZHCpSz08PpeQHA31R5o+hCgd/xHa79ggy9bv8G61vka1WdwWxE0BO9/4hJUtvDXHUOZMdyOLtoFWAmKnutN9BVIsYdqU= SpamDiagnosticOutput: 1:99 SpamDiagnosticMetadata: NSPM X-Microsoft-Exchange-Diagnostics: 1;SN1PR12MB0160;20:jWm+3zgu3/N8VwAwiHuPY4t6aXPdV8gaKgYoLvjGYEBNydNnuhSiEir59fOF7OpYcKKLAd5rD26BzP3F7wZrI930ZqsfqJYwZzK/GU/hKg+zj49/24+yf5bQEfd+8DEnmYRDngi5wcJZpYELA48LTwKcnGiiTSOCf1811SgWagKVguc+dQNIoHKd9D75WtPI8Y8dimvV2G70NR824oUAsotcogv0E1RZKNEHtXIgfVVFRCSC5mgvWeHzS493mBxU X-OriginatorOrg: amd.com X-MS-Exchange-CrossTenant-OriginalArrivalTime: 04 Oct 2017 13:14:46.1464 (UTC) X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted X-MS-Exchange-CrossTenant-Id: 3dd8961f-e488-4e60-8e11-a82d994e183d X-MS-Exchange-Transport-CrossTenantHeadersStamped: SN1PR12MB0160 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