From patchwork Tue Dec 5 01:04:22 2017 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 8bit X-Patchwork-Submitter: Brijesh Singh X-Patchwork-Id: 10091817 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 0982160327 for ; Tue, 5 Dec 2017 01:06:29 +0000 (UTC) Received: from mail.wl.linuxfoundation.org (localhost [127.0.0.1]) by mail.wl.linuxfoundation.org (Postfix) with ESMTP id F238329426 for ; Tue, 5 Dec 2017 01:06:28 +0000 (UTC) Received: by mail.wl.linuxfoundation.org (Postfix, from userid 486) id E7235294D9; Tue, 5 Dec 2017 01:06:28 +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 717E229426 for ; Tue, 5 Dec 2017 01:06:28 +0000 (UTC) Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1752630AbdLEBGD (ORCPT ); Mon, 4 Dec 2017 20:06:03 -0500 Received: from mail-by2nam03on0057.outbound.protection.outlook.com ([104.47.42.57]:42880 "EHLO NAM03-BY2-obe.outbound.protection.outlook.com" rhost-flags-OK-OK-OK-FAIL) by vger.kernel.org with ESMTP id S1752514AbdLEBFo (ORCPT ); Mon, 4 Dec 2017 20:05:44 -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=AKTLJZt+GfLXcM1ytnwM8LVpFWyXRmCfDI6RS0hwFKs=; b=Lz06xVftdZCrV2e2dJIAoyjy9d1gAFiFXoxLBO+bRruBOmMPuboo6U/TwkyAbpPg5KEV8CUBMsz8a9QVd+RvjY2eniJuRUAAABV1pYod/RAHocB/cp2oZ1xhWxWZCL3TK/EQHRx5RHW+eXOYi3TKfqSbdZVuDSLW4uVrHlhm6co= 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:05:14 +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 22/38] KVM: SVM: Reserve ASID range for SEV guest Date: Mon, 4 Dec 2017 19:04:22 -0600 Message-Id: <20171205010438.5773-23-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: a528d9b4-9e5a-4a4f-bd70-08d53b7c3e34 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:JHyHbw1yp08LOend6MrYCWCwqSUSwyoY7apwv4nisWHwt/0fzPrFZ33x4iInuFriA+Ni/5gj47qwa6P1eE6l3i7d113GAekd+FOYcJ9JzBZEwbqrrhvqFVMir0QAEIsuH14T7hgMIEZ6la6tXVApm2c2xeQgCUVGt2Y7xsEPFsewbJyJVdLh5awiRxPYGIrd7m1bNlh5CYU6E/WxmpRJtUbzJpxKPy8P/lm8mx13SJHnnvVtCTMVf36ULE8tbNSd; 25:UgO8T9uvJx+riHP/CAV4vdyxmOR4cgn6IpV+4g/boKDSJGoSf9xiDOLrq2U7sAMBHalU1KsBkK/fzuApynn+SIRkLCtwhpK+6Yk1jqclkqAf+klF48AvIEm45TJVf0iE9ves6KdSW5aueauGcx+dv7OmXoGbO3tDjKlc6ja1QtnzVgBtbB/kvdkSicALcx1V9aE1NDJgtrOMhjuzxndzOQKL/8GOqCud7gv7A4H1gDHT9IKJyw8S9mYTW1+h90uc/EfeGBRMBQRurZBbp3tMZ2Od37QgeJ41uFCibwHFiCjm4FK+ejRto6P00vxi+KiSvfayDfcau/D1T/Na7178TA==; 31:GMrEs11swnjj4/QAakib2Ok1BgNb6LlbgUKIPgBGctk5P0VMB03vsp+OSTMwsfetBgCN2TsRMzVIq5UoRIT1IICXRr/oay9VHTBZZL1zysl+2ROYYH3tF46sWr56IaACLrIh/Jaw2jzJLc2zkfW394+B8HU1SR1f+Hw4wGPfGfdTv09O3UDdfSBz4MbhZLbuQvZ4/OyzgoAs9xBMv4X7E1mpm/oj8Z0sLYqm6oH7NV4= X-MS-TrafficTypeDiagnostic: CY1PR12MB0149: X-Microsoft-Exchange-Diagnostics: 1; CY1PR12MB0149; 20:nmYTLGBwbw4XZEZyJqlex0qo7e5cgCWAdvraulcJnQGjRLf/pZ3169qxMVCQ4iHKOS7Y3hD2U70xIHjT1n+SsMlgCBoSu9NpSj1AQKUf8kjUk/1Gvd0VLGvyNpY5NCYJUhcT7iZGy4wDqgsU2zG9w8TjmjmsD/LcC9ghte1oDjjO/8Rtv20PcuqCCMUrbzSAaoBxs7Geu/UYk2tsq40aTb33tY2wCZQgS98XRGqjHIZATjJIdN513LERz613Ix9jPjtN9UmQy79D8NWAoYDRehnELLqutIT21GBzsH37kT0m5JNU2SnfnZZpc88Q5rCv9QWZf/qnuND+3PYKnGb/DM74xqt0HiTJ3j0Gifcz+Wkyr8LyFKB0Vunrp6JY8GjFSjdg3jfEByIFDVHPyLTw5uzemz7o9S9UssfW8YaXb8xaMFZqH9A8rjk1uw5IrIMAiG1jEI8KxPeus1Fyehkwdw6x8eV2Q+L9pTSQNZHttv/eff2r/YHMsT2r7Rj8Z9OQ; 4:Xh7EhkzNwL/igak/QJRtGpLAnocXPKhXLgHMaDcPO+QBVxZQUkLaw2F6CplYHvf+lmW+jrUWCGZGmsxmo7YZPN/wVCVkArgCwG3Y7TylOGwRYki2bONwp+750e5GW9g1eMnvsb73scc+44O5g8MrcGFcRH/cTo+758naet/TbFIiyF/289zQxGPIKwE5MjSBzcpt6wjlzUmPhDuAWT/icgVgAPHoL9LxCfU+YYV+Y9pEDqH0Mbk6h3qiDbJxDWxAfT3kV1Lo51MimtA4bOqoMNcG3V12mkxoYFxo7k04xVct6igPSq72f4yvR87N/Sa4Azzhv6sS0iWXKObi2kqNTw== 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?MTtDWTFQUjEyTUIwMTQ5OzIzOk5EUjZiQkZEZzdXa0hvMldOVk1UQy9rKzY3?= =?utf-8?B?aWQvOStrWHhhc1Qrd0ZXamF6YWl3VFVEd2IvWVdEVksyZWU3clg3TmtXNm1x?= =?utf-8?B?enpSQVdmM0dVVlNGTi9sNTd0ZEU4eWJiZm5KVDJydnBpQ1hDamtwS3M1cnRj?= =?utf-8?B?Ui9zUmdHRG1HY0ZOT0NUc0xrWU5odnE4Nk9QbDhkOXdpQkpoYVlFdlREQ3Jx?= =?utf-8?B?dzJpTFpUcm1MZThmRzl5SEVRRFRMYWREUFl5aFIxUDNPcXJ5aWhxd3RhUXg1?= =?utf-8?B?THNtdFhZNVJqY1l1S1B2c1YvNWcrWHpHWmhoRDRnb1d3dGRxMkp4ZDBIbkow?= =?utf-8?B?eWRxTC81ck9lUmpUK2hUakxjLzVsWVI5bUZWV3pKVXZyUUNWYTZQMnhZWmw2?= =?utf-8?B?OXh6dURFdktGcXB3T0N4TkNKUW5VR3pycjQrQjRlSGZNTkcvTUlQaWh0akxn?= =?utf-8?B?dVZMNk80N3JhN2dMWWtOZTNrdnloZ1E1d2FSajhyOE1SUWc4VVBRVjlMeFhN?= =?utf-8?B?ai9TV2dTU0JQRlIzQWU5QVVQN2Y0U1N6RVJxR1RzNlVwdVNvMWlFT3l6SGRO?= =?utf-8?B?V3hyMHZRZDB6dWprcGpIV1YxcFZPYlhvWk9zWW5WUlJKd3VHcjNsNFdtQTF3?= =?utf-8?B?d1JyRWRKSU1sZmRGSDlxRTVnQWp3R0NybTFCR0pvTzQyNDRBR3JodzRDMUUy?= =?utf-8?B?Um9nWDZURzF3dHgzeUlvQ25pM1FpOUtNODJhOGJmaTdJZlF2RkdPc2hTYUpL?= =?utf-8?B?OVV3cjlhVnkvRzNKdzNHcnpnMWUyMkJ4eURBYnR2U21tOFBNbXhxblljc1BW?= =?utf-8?B?WFowaXRYeWZGLzJJYXpqY2F1ZHlpVnhtem93VlkzZ09hL0NUVllOMUk5RHE4?= =?utf-8?B?NU5OV2JaMms2SEpuc2ZEbElXajJZLzhaMUFtQm56R2Z3RkNlUHF4VTVvZUNy?= =?utf-8?B?d1U2UUpQYnRueFE0dXVKQUhHczc2eFJiWDdRa2pQWG5McUw3WHc1WS9BL2tw?= =?utf-8?B?dE5UOVZIc1hBODhHVVVGZ3l1ZDVwMTZSdnh2TG1zL1lmM1dkQ3kwUVdLQ0FX?= =?utf-8?B?MXU1UkJHNnV6V3NnSE8ycGlyb0JXTmh5ZGJWblVpbXNMOEdBb3NSTGxXcFNo?= =?utf-8?B?S0JSUnVpN2RzRUJzREZKaXN5TU5HV2lPZ01YVDgyQzg3a2NJcjkxaVVtMkZH?= =?utf-8?B?N0NMeHpHQzBLanVoNExSaTFmaStiTFVqSExXR21VRDFBbjVjMm9ab0E1bGRx?= =?utf-8?B?TWlNdmo4czU1R1RGYmdtRnhsRnBEZVFtbEdDa2pnUTk2Vy9tK1pYSURJMHhv?= =?utf-8?B?RGpETCtndVhCejExSEVsUEIrSjhQTGVkUkhaWS96MUFtVVg3dmExbFVwVDUv?= =?utf-8?B?TzdQbDE0UTJWd2JLMVJCNUQ5Y0NScXNrUWIxN0o0NG80Mytqelg4aHkvRU9v?= =?utf-8?B?TGFpTmJ4S0lsbGlER3lkaktiR3JjQ2VyTlBaTC83TmJMTFd3WkhwRDdtT2Jo?= =?utf-8?Q?H9LGErHdBLuyehgd96um+BVaM=3D?= X-Microsoft-Exchange-Diagnostics: 1; CY1PR12MB0149; 6:PU38zLUHEsNv2DnuhcHTfMNweX0hNzEk4oRpihrcS2MFwU9CG/ay2jvMESiut8BbtL4P5wfxkR1czECdbPe8+AZs+ttnEEgjQuU7wjlG0LpxWn139ZeiScfGe9nfAvgK/+rJOZPHbqtTOuXNx3MB4gqUH3kHxhxZORLglVwwBnOOR1aTQjSJaxdS1ONFHRs0hpzzV1zGoZnaBiTOf+VBCGDcvlxc32VI4H7x7c1vrKD9UV1L1ikktY3RQo48wmyvkV4WE9XoWw1l8bCMU5bhH4jlcbsXgcWQafNw220UTQ6MwLvU3qJ6GHOTqwJzT+QmYhIMR6zUIuVbFIF9RtnQwKx16VZL4nsLOzTzPeJr6SQ=; 5:4Lgj3djbTviMFOMm2Q+wOXCLdXHTQyyp0rqBwgwT3V14xwYGrGaI0JvSgSyNJFEwjhiqs0MmNlyteJFjCcSmuNlymftrlJ9VbuLRJuM2B0CLdFKMesTkW6XMDQNDZe0/M357dnSiRxRaRydK6DAyAF0GvBr8BYqDvrV01wFPh/c=; 24:2n03o5qRy1Fl0jajnpfmFz+7gAZWYA/QiahQfP9fX1ounSQiS4zGK8AbSJAy248CKvgZ5SnLez4RxaxZ2TUdZAcKbQ/sktK9UbzabyOT5R8=; 7:IVkpLbLiLJ1eHCkQ8x5UvmELj54gl01Ds1SGf1954H+vazxnhyYyAXZooz5lEpph5rSRqupjM8wpOoprQgXL2rDrfHd2RTj9AODjLdf7rQhymwgLUXCcW0xBwXmpU+YUnW4JVGy5oX1XS4PnEgPdVp6W6q0uWMYlvv+O99fpn/7gTm+Jxa26U9rgQIEjP1JcFtyBwTifhkMcyg38LxDgHZPBaLPcH0+FaDBpoy3vJZBQCmOOIj/WXHF1Cy1dz0GG SpamDiagnosticOutput: 1:99 SpamDiagnosticMetadata: NSPM X-Microsoft-Exchange-Diagnostics: 1; CY1PR12MB0149; 20:jH659Sn5LnGLm6FF/+LXXUrHKwnkV9CYH3e8m5+/lLKu3g8G/K8gwJ96j8q7kWBFapzYvMpAXgssLvwrG16O4NigJDoH0YEhNOGbiIto1Ew1slON0YqiuW7+vuduGJfddvdLLzKqHpXWRxkSedUUc1IsQQzjA5bjfda1nq8VXt/5FeZlm623GoEYlBE8C2MfRYkWqDXwPfN3xFWUJ2G/zl7nMRXuC5AgmzvwXerUByBVJQwO8JUCF9vKttJA0AzF X-OriginatorOrg: amd.com X-MS-Exchange-CrossTenant-OriginalArrivalTime: 05 Dec 2017 01:05:14.2326 (UTC) X-MS-Exchange-CrossTenant-Network-Message-Id: a528d9b4-9e5a-4a4f-bd70-08d53b7c3e34 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 A SEV-enabled guest must use ASIDs from the defined subset, while non-SEV guests can use the remaining ASID range. The range of allowed SEV guest ASIDs is [1 - CPUID_8000_001F[ECX][31:0]]. 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 Improvements-by: Borislav Petkov Signed-off-by: Brijesh Singh 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 7e302a25bc45..bff7ce727a78 100644 --- a/arch/x86/kvm/svm.c +++ b/arch/x86/kvm/svm.c @@ -319,6 +319,8 @@ enum { #define VMCB_AVIC_APIC_BAR_MASK 0xFFFFFFFFFF000ULL +static unsigned int max_sev_asid; + static inline void mark_all_dirty(struct vmcb *vmcb) { vmcb->control.clean = 0; @@ -783,7 +785,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; + sd->min_asid = max_sev_asid + 1; gdt = get_current_gdt_rw(); sd->tss_desc = (struct kvm_ldttss_desc *)(gdt + GDT_ENTRY_TSS);