From patchwork Mon Nov 6 18:10:57 2017 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 8bit X-Patchwork-Submitter: Brijesh Singh X-Patchwork-Id: 10044161 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 E33E160247 for ; Mon, 6 Nov 2017 18:26:59 +0000 (UTC) Received: from mail.wl.linuxfoundation.org (localhost [127.0.0.1]) by mail.wl.linuxfoundation.org (Postfix) with ESMTP id D914B29E00 for ; Mon, 6 Nov 2017 18:26:59 +0000 (UTC) Received: by mail.wl.linuxfoundation.org (Postfix, from userid 486) id CC76F29EBF; Mon, 6 Nov 2017 18:26:59 +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 480DD29E00 for ; Mon, 6 Nov 2017 18:26:59 +0000 (UTC) Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1754073AbdKFS0Y (ORCPT ); Mon, 6 Nov 2017 13:26:24 -0500 Received: from mail-dm3nam03on0078.outbound.protection.outlook.com ([104.47.41.78]:9872 "EHLO NAM03-DM3-obe.outbound.protection.outlook.com" rhost-flags-OK-OK-OK-FAIL) by vger.kernel.org with ESMTP id S932445AbdKFSMJ (ORCPT ); Mon, 6 Nov 2017 13:12:09 -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=t0vszhg9ojWdm7hy6k4rDGEou19iyTw3Z+9hMYkRLCw=; b=kRO4avVrJyx0zqspe66760YwOVwYWVcv+FcTXq4Puq5gxEIgB9Iny0hISXnsPzdIZiX1nCA5xQ0RnLXM/ZCEtRgsMsEUCAg3vRXnZnE18YuuqwyXJEsgIZTeEUMgIHaW8knQp2llOEALLyW+gMzS/BH/qy7QaOrNFlaaif7xFvY= Authentication-Results: spf=none (sender IP is ) smtp.mailfrom=brijesh.singh@amd.com; Received: from wsp141597wss.amd.com (165.204.78.1) by SN1PR12MB0159.namprd12.prod.outlook.com (10.162.3.146) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_CBC_SHA384_P256) id 15.20.197.13; Mon, 6 Nov 2017 18:12:01 +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 v8 05/38] KVM: SVM: Prepare to reserve asid for SEV guest Date: Mon, 6 Nov 2017 12:10:57 -0600 Message-Id: <20171106181130.68491-6-brijesh.singh@amd.com> X-Mailer: git-send-email 2.9.5 In-Reply-To: <20171106181130.68491-1-brijesh.singh@amd.com> References: <20171106181130.68491-1-brijesh.singh@amd.com> MIME-Version: 1.0 X-Originating-IP: [165.204.78.1] X-ClientProxiedBy: BN6PR10CA0031.namprd10.prod.outlook.com (10.175.102.145) To SN1PR12MB0159.namprd12.prod.outlook.com (10.162.3.146) X-MS-PublicTrafficType: Email X-MS-Office365-Filtering-Correlation-Id: 9dea19b9-e68d-4032-bb26-08d52541e11f X-MS-Office365-Filtering-HT: Tenant X-Microsoft-Antispam: UriScan:; BCL:0; PCL:0; RULEID:(22001)(4534020)(4602075)(4627115)(201703031133081)(201702281549075)(48565401081)(2017052603199); SRVR:SN1PR12MB0159; X-Microsoft-Exchange-Diagnostics: 1; SN1PR12MB0159; 3:idoLOuyjEldTf3SfZ6q9mtx4exc/xUBEW3J05bXEXq1gSxeO/NnUh9/xlKAeYgr6CnmqfwsXRgtOPKYItM14HjaHkXMNuqwfkTNuHSKeXpxwk9MrsDZMCQxoSuzPQtmEgZdRUqDDCL6XPz3101ZEWXBKCLnWQngYlsSDzGYKjscR7SiLNi/112q/XD0PmuGyJ+xPgzgLdDZPVz0ewrFyvykOc+7d8Qzd5SysrMXWB0TXXwQjwYH9F9cmNLDQw+8W; 25:UQh9RTc+x2vP4PDVUEgrqKMcInwkeI7+3IiJlHEE7s+6//yvYXaRsU3POzUCxmKL5Hf8+8vzSu5V8UKzRgBmQMpaWm3fDKCZWov/hyssoGEVgmD2JZ08lOhq3pW7vJb82K2t9QqJuQSjSPiXgJ59Mq47rL3hvGDN+UQOpqgF1Cl4p89h+biCUWlazZD9SCs9wiljkS4mbECGM1082HzSYDf/us31XYQOFqWBo6IdEcFHGcApiteZD9lAMh43rZl1Lpm+jaI1/nda6DDFpJvKWa4YnhADut1vyUZ/JvrcLrXPzG5Lwd/fONJBG2d4mtXOE3cf6T7rOBdsD+s2VLxMRg==; 31:Ep+fKpq3RCY5x9Lxj8J9BoCXkRKWMlQNN3HWh32uE2oxt/BXR1yPB6randwz4eDCf4pIZ1VDxV5GIcsz69+2oNNn0zslWqe9lRTbziFDUydsWjmRnu7ww2Iy8pKolQ+dtnTWCdnY7wyW9qsqKg3NCl0DBokpv7EG0MwZMkT6tHc5r1Qa7Al5YH0kZF0pope5WPzoDC9OZPjSQdEsylZO7SWqRKCy2et0ANFKKMjzbFc= X-MS-TrafficTypeDiagnostic: SN1PR12MB0159: X-Microsoft-Exchange-Diagnostics: 1; SN1PR12MB0159; 20:DLeuHpBroZ4kZEt4fTvqv3QitCmTNMb0TiudJlJEmLK0bIKjvnuxunQeCPQ42ruqkCcXmiChsrW5M6bq1vX8sBlnURwDoSRlS/elPOYKTRITWF8bGZ3K5n3nW1MjfUVO82BBHETfkCJ7neowcIU3e37xftG2W9seq4iSOBkyV7QSoKzzcia1dzSLp16qMicFgBnyFIQ5YkBVF/t1x2jw1b3YSksH5Hw/aA25KR2+AcYLSoKAoSR587j+kGp99nkBv272ti4x+qOIGqjkEHss1umO6gEg9lisezxjPC31+vXws5rsAdyiX78Xbl9T5sorHwEgb/xXXJJKWEY3BgSZ3IlfeiML/mM2v4JHgVVrwKZAhIgB6DsPysigWbkT5bCw1aREVKjPJUaOCzq/65/Y6XJSt63FmWM8AmpsLLL+Y5q9D26a0AdKFQKriq9Czu8roQTHJGavmEa+GqRHz0Z4dDgtg4YLvoCJLjEIzvQ7r1S5A63ZKsfu5rofRH4s/vIJ; 4:VglfqCKRuhLHogtIphMRodbSLmUci/cGK1oL3yw1dfTVkGhejuJozvvLa+17LJfWCx9jk9qW4NeZGNr2r5Ek7IzC2KQIvJqcy036H5SGTxo9Bjclgv2+vUeLwxAUIMTvzrWPbPUdbziPreTSaqqdnwMmE25FLYrCBgJ54qBcDouD+Kw/CjhOQCA3reMq2GZaT6L0kYklQiWLPN+uwUVSwLfZGg3UhKNFU70cVwAa0tto0nqb3URMR9GRvp3I2hqtQR005GwGSyZHy5+ZUhcw/6LQ7KGNqg+B5Yv8bB2Gloui8ki2c4aZjP4MTEY49cRDfeSyEjjdhqRbwoKHQAWWxQ== 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)(3231021)(100000703101)(100105400095)(3002001)(93006095)(93001095)(10201501046)(6055026)(6041248)(20161123564025)(20161123562025)(20161123555025)(201703131423075)(201702281528075)(201703061421075)(201703061406153)(20161123560025)(20161123558100)(6072148)(201708071742011)(100000704101)(100105200095)(100000705101)(100105500095); SRVR:SN1PR12MB0159; BCL:0; PCL:0; RULEID:(100000800101)(100110000095)(100000801101)(100110300095)(100000802101)(100110100095)(100000803101)(100110400095)(100000804101)(100110200095)(100000805101)(100110500095); SRVR:SN1PR12MB0159; X-Forefront-PRVS: 048396AFA0 X-Forefront-Antispam-Report: SFV:NSPM; SFS:(10009020)(6009001)(346002)(376002)(39860400002)(189002)(199003)(68736007)(97736004)(4326008)(316002)(16526018)(54906003)(7736002)(8936002)(2906002)(81166006)(81156014)(25786009)(53936002)(8676002)(2870700001)(1076002)(6116002)(23676003)(50226002)(189998001)(305945005)(86362001)(3846002)(50466002)(33646002)(66066001)(36756003)(53416004)(47776003)(5660300001)(7416002)(76176999)(478600001)(6486002)(105586002)(50986999)(2950100002)(101416001)(106356001)(6666003); DIR:OUT; SFP:1101; SCL:1; SRVR:SN1PR12MB0159; 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?MTtTTjFQUjEyTUIwMTU5OzIzOlBzdTUwNC9tRTVQTEZDSVhMREx3bGRacmht?= =?utf-8?B?K0ZTTWEvZTh1WUZjVDM3bEs3Q3UyNWZZMnQ2Q2xIQ2JpaTQxZncvaGJzNnFB?= =?utf-8?B?R2NKZmcvd2VsMWh1VEJpT2VvT3phbFRNUENuMXIySmV6dG1nWFZzTUVteEZV?= =?utf-8?B?QVBoR0wwQ09zZTBSUEpBSURzK2hEc2MyWGt1ajBNUFVzaHN4WHIyVEF6dGhs?= =?utf-8?B?RkRsR3EranBua0hGcFlLVk0wejVDMFBhV0U5ZE9rbGpXWWRsYXlEOGJONnVD?= =?utf-8?B?c1Z6bkZsaEZmUXJsTDBubG5mbUYvd3EwRUptaFAvbVRrVWZDbG9sYUVBTFJM?= =?utf-8?B?NlRaR09GQ0xHK013VlpWZUR6UEVvY0RhVHY5VVh3ZEpvckhYNTZYN2NOQzJ5?= =?utf-8?B?anVPTzZQK0hwbjZZZjZOeFI3MVN4aGRGY1VmVDhwa25nVmttcFVkcDJXaUNW?= =?utf-8?B?Sng4UnU0aThLNWlFbm0xZ3Z6SHNKcVlsUEVPLzN0RmJKTWFNbVJTNzF4emxo?= =?utf-8?B?clYrL2ZlWFhXakZjSDJwZytiRnl1b3hLNmNncTVIVkpvQ1Q5bXdTRHlsZmxX?= =?utf-8?B?cmcyNzlDaWVXaVVabi9LbFRKNHozN21iOEtrdDNlYU82YVZtempVOVFaZ3ZN?= =?utf-8?B?aDBNK0Iyd2xkSVVzS2VXWThPSXkrZkNSNmZLamdQS0hDMWkvVUVJazU4MFVZ?= =?utf-8?B?NjJXbEdKY1JVVHMxQ3I0U2g5U0EwSjBxWlNMYVVkeTB2VkE2N3dKaUpPNDNv?= =?utf-8?B?anlEblR2ZnF5SGFydEF0NmZDS2Vjemt5R2Q3ODFRb3pyMGt2Qm1qNmU5U3dH?= =?utf-8?B?a3cya2YrMUUyQXg3S3NYZXR4ZE02WmRqb1NnR3QzN2tScFZGa1pLNWx0eUQw?= =?utf-8?B?STFCSHp2RVh3bFNSYUVTOUNFNm5aVzNpUG8xM3FUeEdVNjhXdENzRFdsdnVj?= =?utf-8?B?Wk5iRUhJbTB5MkNCcHE0U2RHMGVSZ3FTVU9EMUJRTXlqT0Z0bkxJQ3ZBdWVm?= =?utf-8?B?Ky93L1RzNCtGdCtSNENsQ2FISWxkYkd4Zk5FY3l0bTZCNXBWQ2pSOXg4NnlR?= =?utf-8?B?M0VhQXR0bStTY09EejZuVHkyejd2QVFWOWQ4NGpkZUdnamFmRU55NjZHSXN4?= =?utf-8?B?ZEY3MFlGaitEQzVZUEZvNGdIb04rTzhsY3d6M2oxdHpROVEyQVZaYWlKL29S?= =?utf-8?B?VXJYTitlbGFqWkRnakN4dkhWeFVqWHNwTHdqRm0xMC9kbGJ1cTdRRXFhRkNu?= =?utf-8?B?K0JURjhzRFk4UEtESDhTVHNPaDNaRGw5RGFheXova2gwc05aQ0VJR0V0UlI4?= =?utf-8?B?d3FwdEU2S3djV2xWRzdGMStvVVlpeU5wNTdvdG1PZGk5N0pkS2FkLzlvV2VG?= =?utf-8?B?Kzcva0dNUzFpakQxdGVIVVNJbWpYK3ByWUIvVGl1U1dMSVA3M2VyMlhLaVRM?= =?utf-8?Q?nROUcvjHZpQGlMayo+MbJJ6S4hw?= X-Microsoft-Exchange-Diagnostics: 1; SN1PR12MB0159; 6:JGI7X+j8up3i0q46G600KuUPDFiAEjwQ8yZ0hwnwONGt0p64OAdLFOpLOrO9XOJXnPo9OVjt2fVnngnWDvgP/1UtOx7IK9AKq2rT4tF3d4EmNguOAPzsJ/aHrZLqW0a4ai9WAGk+usK5CfsXQCk4qe+E9+fTE15+V9zStFFQkgZhKej5ODJSnZmrP+4JRtErjSMlaKKLaU8kw1EAYFHZVEZkPmnT1Q9tl1DQCCL0QtgyHKXw4RUjv4ByqrcG+RVHmyH02oFJiWrybUQBKJXxvtV4CkOvHyaQMk8MEFMjmNmhtwWxBIQVRqTCtqBH/ytE6ltPlNmyTkgLZb1Lgu7lQI8Nr+aHEgN64I+hsrr7ABU=; 5:+RqcvwVb6lkQZyyhtK5MqWyiwoXpBgQAS5pjTbv2IpGPG2XdA3vrmRDIHZelX+3t6cl3Uf6Nm76oVLAPJqWOcBG/68P8Tb2izU91B7LHw4KRdVYXkTvuRREPlITyZSBB030R8l73T5ubJjWnAACG55I8quSlW3KV8ftVGHTY2Is=; 24:DgeFjFMtc9uIxhDjWOEKySyXhiUWurBVJB1HqOHC85Vg/kZy5foprmW8hMd+G0MHNnDxR27HDf4GEcDLKZxKJa889y0hvDTWyO0GFc7xBZo=; 7:0noSTIVT0nwoepVFiJs0MEIxfYLXbwtQ28s/fBKhyDM8RO0P3crD4wUdnQD/F6InAi6seNqM+72J4WzPS2Y5mZloQLh+6yNHAlrwR0FfI/1l6sC6jMqEAQWHz6xBQFAczI+MYrcM7bHwXLRac9Iexn3AYzAiD7jxtSJmgzDQAJHiQhM0O/+Bs385W5GjvYVTaNvr/pCcWdoQAg3s+C4O0UzNrz//7pirSasLquyhkxf7CmuVCuhreG+vljhwEIPi SpamDiagnosticOutput: 1:99 SpamDiagnosticMetadata: NSPM X-Microsoft-Exchange-Diagnostics: 1; SN1PR12MB0159; 20:vvlgMEcOKfqmtSdC0FqqQNHXa6y5zUcCXo70n0Olnwyv1lNVgsaci0YfbrDIdD6yhsrkK9ApHcWZgzHbe5TtWAlBqqZILDKIdrjZeO1GU7jYrFJh1Dxt2EjOsVrhLDwn+YrGHdyCEi8zCPrbrNQ+sqhMSuk1lLOpWGEyyvMOjlNrHrzTf3wtk+m/MaBnWon1zyORp87V7OZF8iMxS6NyEQCbW8o4ryFLM2XvVd9s60/rPSpO1xVDVTaNOx7kVhci X-OriginatorOrg: amd.com X-MS-Exchange-CrossTenant-OriginalArrivalTime: 06 Nov 2017 18:12:01.2691 (UTC) X-MS-Exchange-CrossTenant-Network-Message-Id: 9dea19b9-e68d-4032-bb26-08d52541e11f X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted X-MS-Exchange-CrossTenant-Id: 3dd8961f-e488-4e60-8e11-a82d994e183d X-MS-Exchange-Transport-CrossTenantHeadersStamped: SN1PR12MB0159 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 93c1b2e77d76..f51462b782d5 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); @@ -2088,7 +2090,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; }