From patchwork Tue Dec 5 01:04:05 2017 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 8bit X-Patchwork-Submitter: Brijesh Singh X-Patchwork-Id: 10091957 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 B67F260327 for ; Tue, 5 Dec 2017 01:15:59 +0000 (UTC) Received: from mail.wl.linuxfoundation.org (localhost [127.0.0.1]) by mail.wl.linuxfoundation.org (Postfix) with ESMTP id A70C8294DE for ; Tue, 5 Dec 2017 01:15:59 +0000 (UTC) Received: by mail.wl.linuxfoundation.org (Postfix, from userid 486) id 9BC5C294F8; Tue, 5 Dec 2017 01:15: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=ham 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 2FA77294DE for ; Tue, 5 Dec 2017 01:15:59 +0000 (UTC) Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1752856AbdLEBP5 (ORCPT ); Mon, 4 Dec 2017 20:15:57 -0500 Received: from mail-by2nam03on0083.outbound.protection.outlook.com ([104.47.42.83]:22016 "EHLO NAM03-BY2-obe.outbound.protection.outlook.com" rhost-flags-OK-OK-OK-FAIL) by vger.kernel.org with ESMTP id S1752218AbdLEBFG (ORCPT ); Mon, 4 Dec 2017 20:05:06 -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=r4T/+XkKcYrV3GTZEsitfSVP7jn4PmAVS6QD2EdRd3I=; b=dDnWvuvsWpj6zLG6q8vaqQPcnynZNqIz9ItxiuImDO2o+pqTqm4QzCZSC4NZJz7rILSkIGBvGMctguU661ZRClsr410eBwl9Cnmrrvm6UP1fSXGeH6zgDyZ8dp9Y5w6UXDoh+SNg7z74aIKtVv0bMiLwl/WcaoZ2+Ck3d7h0uEY= Authentication-Results: spf=none (sender IP is ) smtp.mailfrom=brijesh.singh@amd.com; Received: from wsp141597wss.amd.com (165.204.78.1) by CY1PR12MB0149.namprd12.prod.outlook.com (10.161.173.19) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_CBC_SHA384_P256) id 15.20.282.5; Tue, 5 Dec 2017 01:04:58 +0000 From: Brijesh Singh To: kvm@vger.kernel.org, linux-kernel@vger.kernel.org, x86@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 Subject: [Part2 PATCH v9 05/38] KVM: SVM: Prepare to reserve asid for SEV guest Date: Mon, 4 Dec 2017 19:04:05 -0600 Message-Id: <20171205010438.5773-6-brijesh.singh@amd.com> X-Mailer: git-send-email 2.9.5 In-Reply-To: <20171205010438.5773-1-brijesh.singh@amd.com> References: <20171205010438.5773-1-brijesh.singh@amd.com> MIME-Version: 1.0 X-Originating-IP: [165.204.78.1] X-ClientProxiedBy: CY4PR0601CA0087.namprd06.prod.outlook.com (52.132.96.156) To CY1PR12MB0149.namprd12.prod.outlook.com (10.161.173.19) X-MS-PublicTrafficType: Email X-MS-Office365-Filtering-Correlation-Id: 008e6268-b531-4900-0892-08d53b7c34c8 X-MS-Office365-Filtering-HT: Tenant X-Microsoft-Antispam: UriScan:; BCL:0; PCL:0; RULEID:(5600026)(4604075)(4534020)(4602075)(4627115)(201703031133081)(201702281549075)(48565401081)(2017052603286); SRVR:CY1PR12MB0149; X-Microsoft-Exchange-Diagnostics: 1; CY1PR12MB0149; 3:P/dFMvUg7AB/nBzY8yRycF3qK9CvmS05m/RcYusLD6tJdxbXyAdkdUoDhf/HCSEChLDqW0o/JyexRQ+/Cx8dmE4KBW9www1DWZU+Y4X+QUlSu30lv3fiB+WwqpzHPjAS23+50e/mPxj7dxbHlZ9qCavBiybX3BrMdUhTMSkcYFCFXzqOo/Ela0YlOqzbls4joZ2EyDog7ELPvHIKzrv2g5ZNI5Usgw21FHwm4PWMC/211y0gRzfwDBrklrjW6a8T; 25:nwo1rQg2hOnGqNbpTwrQQXxe6MrQvcyur/hkQHmkQBlPutI7tWlM8Uy0iDvvmWf5WgaFKLHk+z9HwCzknWZin0D8jyoJVRfdCXdyXUwwnq7784w4WaPCAH2FV8XKe8IVZwvla7R1CxpvChMQgtTO+zFEAAfwiZ/ZJFRqOqQlti8eeReILMT1ZNJF7yViPcWYUnYXGJgSXiqBb5c/M/KcXCX35/F+Sy5+S29j+seHnXIYutWzHZMKOvkqDhyaAowNd8zqxiD3LEH0y0p/0FMhE9DoMrKEiaq8XgM0gbWjXXy21dD/1nLlBaF858ZYnGlHq+gPH80ea4w12z4rx8vnqA==; 31:eKc0Tv+m+Hj7A3Ih68aYUdkHC1oR1XSAlE7xZ5pla3S3Lyjak1n+HaGNUIOJ11Hs6kVT4m/w/mIsXp6WMROiLUaqODm3vgx5xSisGtN60QJHsJp14DowRolxqnj2GsBRR82VpotLCzz7qgSXvENueJ7mvtJzCTkn8Ly5KtYM203BogFvgiP5SGHEAXGnpjRsw91wmgJGLwCur81Irac2tE6lyaDRMzD6eafzaddnJYc= X-MS-TrafficTypeDiagnostic: CY1PR12MB0149: X-Microsoft-Exchange-Diagnostics: 1; CY1PR12MB0149; 20:8ZwufGrPajPg+h1JqWFEnJD/jedP4yL0eREm88830Qx0JaDK0XFGqrKPIoN34o09RI1ArUgiTDWfE+sPQq9VsnfcyR/ANG1UpWPE7NvMAN4RPG3bj39DK0iXGdPUDMJYbhz9ipnbsEfpDnZEW400fVMHckfk7it5baIq5lz1Wy9G5dy7ss/piuTJRw4VwdZa60YrU0Pck900w3LNgF3DReiwsI7BP9MDLz/M4mnXbCyqsfePw156+h6DBoCJ+cSVfPNWLNnQgpIyxTyID6c7bz78yE0URlkoC8jKZr+XOAfYFBK7/jjoVvFbUQrloVulLJb5Y1WxAQMKJDaM6H2VZAlL8V8sgx41V83jYZMHKPxd/FUhQtN0OxEKs6q9wlqTmVZojP2GtZ/Li/7nLd/Lq9pM/8K+xhktZHNPP9rJ1bBxKnYm+FeQNpq0JtmZj6P3270fV6F69Oq1c7QJVfTgnxWH/xhQEKN6IDhAx0TaONte+xykrZW3jPjPFeKVXuTz; 4:O8/SqxMf0zmjtgFkJCPr/zUh7AwqjZuSBXsgRaUpS11z5Ki7IMg/+9mxnfjGYU9GK/WJKLDIfK61nE7qTlFTiq2+/xE5KPg+AxnZdj8rW6rqXw9uPlvP/FfgSC/DgUPYbu65bZMMwlMFW+7L1aC8GCZUzNj6xhh4/hHnDqPfuCFY3WgkK6Ayj8xXdMZksitShsloVe2RIPywvr3KYRppSR5CU7P+rtkEkkg2rZEyWpw9mnC2kA3JQaE0gaztxYc12O9Llw6efoKGC49uH26x4/7MkGmL8g52zrkJ0hDr91EneaAsG9iC/VTD0Ul2+EFowQxCo8qfk6W7HqjNg9oscA== X-Microsoft-Antispam-PRVS: X-Exchange-Antispam-Report-Test: UriScan:(9452136761055)(767451399110); X-Exchange-Antispam-Report-CFA-Test: BCL:0; PCL:0; RULEID:(6040450)(2401047)(5005006)(8121501046)(93006095)(93001095)(10201501046)(3002001)(3231022)(6055026)(6041248)(20161123558100)(20161123555025)(20161123562025)(20161123564025)(201703131423075)(201702281528075)(201703061421075)(201703061406153)(20161123560025)(6072148)(201708071742011); SRVR:CY1PR12MB0149; BCL:0; PCL:0; RULEID:(100000803101)(100110400095); SRVR:CY1PR12MB0149; X-Forefront-PRVS: 0512CC5201 X-Forefront-Antispam-Report: SFV:NSPM; SFS:(10009020)(6009001)(366004)(39860400002)(346002)(376002)(189002)(199003)(16526018)(189998001)(106356001)(478600001)(7416002)(2870700001)(101416001)(23676004)(52116002)(97736004)(86362001)(7696005)(33646002)(54906003)(25786009)(105586002)(76176011)(316002)(2950100002)(6666003)(7736002)(2906002)(6486002)(50226002)(81166006)(81156014)(8936002)(53936002)(8676002)(4326008)(1076002)(305945005)(66066001)(6116002)(53416004)(5660300001)(47776003)(68736007)(3846002)(50466002)(36756003); DIR:OUT; SFP:1101; SCL:1; SRVR:CY1PR12MB0149; 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?MTtDWTFQUjEyTUIwMTQ5OzIzOmN1QkdjKzk4enc5aHFCMXJvK0dTS29PR1h5?= =?utf-8?B?eE02M0tjbGtSTTkvQ1B0VDNuRHpRVFgzYi9PNmJaek1mL3RNSEVqZFlTMzMx?= =?utf-8?B?aUxTN2hNa0dBMk94dWVuZUhRcndSYWQwSCtLWWdkbjRZb0dQWjdnY2c2ODJO?= =?utf-8?B?cGdCWjR2UmVrSE5pSkR0Q1o0b1NnN2tFSkN4clFqYjdmbEVOZFlrd1RldlFX?= =?utf-8?B?WXM4WUh6N3lEbkFPOWpkMStOeGxzRy9VMEhIazRFVm1QTHpGNXN1VHhGcDRZ?= =?utf-8?B?SU1zR3pVaWFxU2w0cWdTaGdjczdia25tNXl1TnRJNHQ0dXo1WFdlOXlZTlMv?= =?utf-8?B?S09hRVpuNE9nOXRMRThxRmJTb1FNVERlejVVQjlLZGt6bTlnSmFvUXUvNWJF?= =?utf-8?B?S1ZYcCt0UHhQaTdCU1NZU2RVUUluTXZsZngwN0ZqNVJROFRMUDdyNXpTZmlC?= =?utf-8?B?c3FzSlgzNEM1RXNYMCtsWEZHdERrdE04ek4xV3RMSk0wMlI0L3Q3cVF0dzNu?= =?utf-8?B?T1BVTHl6YXdUelVTU003c3VHdmVJQTQwdFphYmxCY2pIc0F0bFplcXFLczkx?= =?utf-8?B?bWNxc3FNbTBRYlZBalRGL1UvUCtlU1pIU0E4YkxHNzY1eXpRWDVHV3B2ZWti?= =?utf-8?B?Y3hxNzg4bmZXZmE3TmVYb0k4b2YzV3VCcDdadmpkRmtEUlpDRHdTeTRuSEtZ?= =?utf-8?B?aVc5S1A1ZGtxTGZ4UmtsT2dzNTd2Y0tKVTdoUE5jR1RRTjJGSy9Jc3dwS1R1?= =?utf-8?B?QzBFZyszbzY0ZUlPYUROU3JuZXQ0RFUvaTNPV1lKL2labHgrMlhJM3Q2bktt?= =?utf-8?B?VG54QnJ2anNWRzJTd2NOeHpEaEZWUlFoRHlYYzZJR1ZGb2FhT2JibEFzcmJu?= =?utf-8?B?ZytpQWJDRzljTE1tVWUyU0RLRjZjUndzNzV3WjREMXRqOER1WXZKV2s0TXpL?= =?utf-8?B?NmRDbVJVcGVkbkRXUTFDd1E4b21LMTFmc0FvMDNiOVNObm5SN3Y3MTFiYjRp?= =?utf-8?B?bStuN2FFSFBZNzhkbG5tUWhHQlg0MDhWckVIUGlkVEZTYmNVVWR6bkdqRmhQ?= =?utf-8?B?QlpZdWpXMHhreEZJMW9oTDE4b2RaU0V3dmVwYzFIR1JLdGZTTEg5czlvUHEx?= =?utf-8?B?M2pxWGJEazJqNDd5Z0w1elUrS1FJTnFKQnIrWlJZL0lWOWFOZjY5cWxzT1pD?= =?utf-8?B?NjJnRFVLQk9OY0JQTko5U3FOMk1aU0t1OEtXZlVXWGhqYVFkSGRaVzdKMlp5?= =?utf-8?B?U0RXd2lPUSs5ckZVSVJsZVVLZWROZmxGMXpqUktEVXczNzl6WTJxK0s2S0N0?= =?utf-8?B?V21PdmNJVnZhdTgxa3RBd2IwUkplZkhYNXZkSlR5T3Q2aERlUGpHa0lGRGJ3?= =?utf-8?B?NXlqdHE2S28wMEtMbUo5TEtSUlR3YklNRjNxbWZJVWI0RFhseGI4cnBsWmRl?= =?utf-8?B?ZkZIQm1yajM4MG1pWGpJS0pWU28rZ1J2TUFSaXRHKzVSNks1eUpBSVVyTWZ5?= =?utf-8?Q?JQ5A9osSWmKUWAVN1i6mhAgqE=3D?= X-Microsoft-Exchange-Diagnostics: 1; CY1PR12MB0149; 6:Az8n4+jjKEMs7XRcSwNxZLwEIijeYOOs7y2g1Ht62+S/qUrLnQxYzEmtj1HOjOI6tmGleH4ODsrwk/zQCFm7Gy+Os+W6Liu30B5XSOkGcTgjV3nvZaTfYDed5dKF2CQeaQNwN3eGXSmN4jfmPHX2Le/16U4R09ZjjKUDTBRgSUv6YSS2avAOi4y+4nO0d8gibPNdQ/p0GXWZucwLr6n1iMVk74z/i/CD08eR7Abcfc6x9VzM93xMD2hVCg7Www0gIhb7U3QyavPEOJ4GRojuRYqRYruAkLDbqzVYl3PbDTBibAaMutagAmg2kGRBiB82aMPdXFDGAi0hM3yzhooahZAWIh4fxCOeR5Cx2fT/rd4=; 5:kxg0oIdKFhZsgAshsZm9YYtG0v+/92eKYuDiIYS4UJvOOargG0V8TMF1J7iNojy83x+WwLyajXYWE8xcI/6QAgX9hF78YumbEX6FiIq4YQ6KsqgmtY0AnSXCxtTFt+19dNe86JQeZPBY8Wdwnn2vN6IJ4HF06Z6WAubGb+rCoB4=; 24:8YGaXC8d4gGNkwrFpwnel8pjkS7HOy2/Vkblf42cmIw7j6LkZ7lUlJZegTsi/poZQalIgAj4RRIRKirJ3Y+HgmxXL5asShTFZYIAWGXVxb8=; 7:dZyzyZ7/NUKv6TBH+BRRjRnHBNoX58MPCbGwlvjc98Pu0lpbPxyIPM+GxQSc0GBtRx2vewmvK6SEHa2fC2G7o4fctOKyKqfiG2NgY0Qon6q+QXMh2Cwzsl2ejW2GXtOn+b8FUl4tXzoATnacM39o42Geg4uE7A9j4LguHa/6kMmxHKxPLYAM3w4bmMlvReVO0vnClaUPzM46V/+5YRlWBKzVuxGvHiB23+6XgvFVSqUGqg7wtDprjF17geHmrVNs SpamDiagnosticOutput: 1:99 SpamDiagnosticMetadata: NSPM X-Microsoft-Exchange-Diagnostics: 1; CY1PR12MB0149; 20:9lHw3yw0R8pUeMftpiRl0yqY2qCEkMkQuT3H2WdYKLJi+/YPThETBbNJa6anvo7zCMX+KSkpX5wmKe+KvIFD0w/nrm6XRhv8NPd0IffTVBBni9OgQauL2zFWKOFkI0uzZbGy3WdWKDdJ2n1tP57koAxNIkCTjswDhrHzapMPMXxLOHKBx0pxw+WhV/w1Bgaf+vkXY17hr4XHaaMCd9zI/Lz+cWnReDUifPjTmGi0bf5V7DSYCPcfuMToma+rib+B X-OriginatorOrg: amd.com X-MS-Exchange-CrossTenant-OriginalArrivalTime: 05 Dec 2017 01:04:58.4364 (UTC) X-MS-Exchange-CrossTenant-Network-Message-Id: 008e6268-b531-4900-0892-08d53b7c34c8 X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted X-MS-Exchange-CrossTenant-Id: 3dd8961f-e488-4e60-8e11-a82d994e183d X-MS-Exchange-Transport-CrossTenantHeadersStamped: CY1PR12MB0149 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 1c8158a6ee06..e403cf1f6ba3 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; }