From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1752665AbdLEBGI (ORCPT ); Mon, 4 Dec 2017 20:06:08 -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 Authentication-Results: spf=none (sender IP is ) smtp.mailfrom=brijesh.singh@amd.com; 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 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit 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; 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: linux-kernel-owner@vger.kernel.org List-ID: X-Mailing-List: linux-kernel@vger.kernel.org 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); -- 2.9.5