From patchwork Fri Nov 24 08:43:31 2023 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Jan Beulich X-Patchwork-Id: 13467243 Return-Path: X-Spam-Checker-Version: SpamAssassin 3.4.0 (2014-02-07) on aws-us-west-2-korg-lkml-1.web.codeaurora.org Received: from lists.xenproject.org (lists.xenproject.org [192.237.175.120]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by smtp.lore.kernel.org (Postfix) with ESMTPS id 24445C61DF4 for ; Fri, 24 Nov 2023 08:46:09 +0000 (UTC) Received: from list by lists.xenproject.org with outflank-mailman.640266.998273 (Exim 4.92) (envelope-from ) id 1r6Rp0-0004hM-LA; Fri, 24 Nov 2023 08:45:58 +0000 X-Outflank-Mailman: Message body and most headers restored to incoming version Received: by outflank-mailman (output) from mailman id 640266.998273; Fri, 24 Nov 2023 08:45:58 +0000 Received: from localhost ([127.0.0.1] helo=lists.xenproject.org) by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from ) id 1r6Rp0-0004hF-I4; Fri, 24 Nov 2023 08:45:58 +0000 Received: by outflank-mailman (input) for mailman id 640266; Fri, 24 Nov 2023 08:45:56 +0000 Received: from se1-gles-flk1-in.inumbo.com ([94.247.172.50] helo=se1-gles-flk1.inumbo.com) by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from ) id 1r6Rmh-0001P4-4t for xen-devel@lists.xenproject.org; Fri, 24 Nov 2023 08:43:35 +0000 Received: from EUR05-AM6-obe.outbound.protection.outlook.com (mail-am6eur05on2061e.outbound.protection.outlook.com [2a01:111:f400:7e1b::61e]) by se1-gles-flk1.inumbo.com (Halon) with ESMTPS id 8cdd901b-8aa5-11ee-9b0e-b553b5be7939; Fri, 24 Nov 2023 09:43:33 +0100 (CET) Received: from DU2PR04MB8790.eurprd04.prod.outlook.com (2603:10a6:10:2e1::23) by PA4PR04MB9438.eurprd04.prod.outlook.com (2603:10a6:102:2aa::6) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.7025.18; Fri, 24 Nov 2023 08:43:32 +0000 Received: from DU2PR04MB8790.eurprd04.prod.outlook.com ([fe80::eb8e:fa24:44c1:5d44]) by DU2PR04MB8790.eurprd04.prod.outlook.com ([fe80::eb8e:fa24:44c1:5d44%3]) with mapi id 15.20.7046.012; Fri, 24 Nov 2023 08:43:32 +0000 X-BeenThere: xen-devel@lists.xenproject.org List-Id: Xen developer discussion List-Unsubscribe: , List-Post: List-Help: List-Subscribe: , Errors-To: xen-devel-bounces@lists.xenproject.org Precedence: list Sender: "Xen-devel" X-Inumbo-ID: 8cdd901b-8aa5-11ee-9b0e-b553b5be7939 ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none; b=Yb5MX3H/CR3nJGPjJyCJ+gTwsNfIMuKwh9tGGlsIpVPh7yLMyykgB6uGjmwAdhPGdOJrZjQXN2kzYNVOS0W5GHepG2t8GMRag4s1T+O6Sl2AwnL6VYx4cQiqGXlrwbmBUlZm5MpniN/jNH/BCfjdbGWDoLjlcvamQLfIaigd1c5eMPEcgOsi9x5RSq15UBzYdi/4p2fIXXp2DERRTK+4udoeA3omZjzXyaQ08NbqAR0gYaM/NgVXw2fQ5dug/bWwmbw0lE2GUHFJIy7COqS5TkVoF6S4t/RZI5B/GrKezppbr69YJ8BKE2MvYbBpWjxuwN1dRSfWlbT5FM3cgMTXyw== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com; s=arcselector9901; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1; bh=Szpwc2wO4UnJhZHXRLFJK3uPqEZ4uan9C+psmzvZ6/w=; b=aLFLQ1Q+5ZoBp366aP9HN81bksYgXuaKraGdIMR8hWFta1HtLvM0lmiT6e6lcw+sClIOdFuB50IKrg+ccD0BHjGu1MVLG/vyd7EFsoguKLilg85W7xxYHErxhNonl79blI3nqM8XTL/5XF4zkAv7mo3u50gXh7id/FTipnoAXFLuIE2vRbc/X/shSa/LCxoZ6stmoF4vx8wH8kFD/AOVLwPChF+R5+SatBnTFyKQ6xzRZnsyoQf4OXj7rDhuFyGy13QlZG6wOoD34un0/GK3Alc5Qs0NLImhOf+9f4fEzHMur51NhdwPQs/ckolJLrex9Mt8EavjbCcb814JA0EN7A== ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass smtp.mailfrom=suse.com; dmarc=pass action=none header.from=suse.com; dkim=pass header.d=suse.com; arc=none DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=suse.com; s=selector1; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck; bh=Szpwc2wO4UnJhZHXRLFJK3uPqEZ4uan9C+psmzvZ6/w=; b=iliFBDPLsIB147Mmjdq9xtvFf9wUy6Po68kCXob7APjDaDXgXHk7IVXgtDRcEQ+OIXkKMXBL52vByyiHsf0ktzcTApgQIE5IIrE5OuJ+qx2fmU2shlZMVVXNnfeRRBVb/edm6rYmWCBZA5KbYvy20fu/T3EXLm25icPD/Jc4iUheBWWSx4xD9KImFrMQEyoz9jA+XiGINTZZHeLpefvvGzkA4BiG0cGNnb0T3aq8G2HQLWRsdALHwAnzo070mYjbzpDZVZsJBs+xhthDEEPr3awI8506sfgqTk2Y6F6aj5XzUh9GDspn0yxY4guqlRn4Gn+AZ3OgR4R1Qdu1j4FDDw== Authentication-Results: dkim=none (message not signed) header.d=none;dmarc=none action=none header.from=suse.com; Message-ID: Date: Fri, 24 Nov 2023 09:43:31 +0100 User-Agent: Mozilla Thunderbird Subject: [PATCH v2 14/15] VMX: convert vmx_vmfunc Content-Language: en-US From: Jan Beulich To: "xen-devel@lists.xenproject.org" Cc: Andrew Cooper , Wei Liu , =?utf-8?q?Roger_Pau_Monn=C3=A9?= , Kevin Tian , Jun Nakajima References: Autocrypt: addr=jbeulich@suse.com; keydata= xsDiBFk3nEQRBADAEaSw6zC/EJkiwGPXbWtPxl2xCdSoeepS07jW8UgcHNurfHvUzogEq5xk hu507c3BarVjyWCJOylMNR98Yd8VqD9UfmX0Hb8/BrA+Hl6/DB/eqGptrf4BSRwcZQM32aZK 7Pj2XbGWIUrZrd70x1eAP9QE3P79Y2oLrsCgbZJfEwCgvz9JjGmQqQkRiTVzlZVCJYcyGGsD /0tbFCzD2h20ahe8rC1gbb3K3qk+LpBtvjBu1RY9drYk0NymiGbJWZgab6t1jM7sk2vuf0Py O9Hf9XBmK0uE9IgMaiCpc32XV9oASz6UJebwkX+zF2jG5I1BfnO9g7KlotcA/v5ClMjgo6Gl MDY4HxoSRu3i1cqqSDtVlt+AOVBJBACrZcnHAUSuCXBPy0jOlBhxPqRWv6ND4c9PH1xjQ3NP nxJuMBS8rnNg22uyfAgmBKNLpLgAGVRMZGaGoJObGf72s6TeIqKJo/LtggAS9qAUiuKVnygo 3wjfkS9A3DRO+SpU7JqWdsveeIQyeyEJ/8PTowmSQLakF+3fote9ybzd880fSmFuIEJldWxp Y2ggPGpiZXVsaWNoQHN1c2UuY29tPsJgBBMRAgAgBQJZN5xEAhsDBgsJCAcDAgQVAggDBBYC AwECHgECF4AACgkQoDSui/t3IH4J+wCfQ5jHdEjCRHj23O/5ttg9r9OIruwAn3103WUITZee e7Sbg12UgcQ5lv7SzsFNBFk3nEQQCACCuTjCjFOUdi5Nm244F+78kLghRcin/awv+IrTcIWF hUpSs1Y91iQQ7KItirz5uwCPlwejSJDQJLIS+QtJHaXDXeV6NI0Uef1hP20+y8qydDiVkv6l IreXjTb7DvksRgJNvCkWtYnlS3mYvQ9NzS9PhyALWbXnH6sIJd2O9lKS1Mrfq+y0IXCP10eS FFGg+Av3IQeFatkJAyju0PPthyTqxSI4lZYuJVPknzgaeuJv/2NccrPvmeDg6Coe7ZIeQ8Yj t0ARxu2xytAkkLCel1Lz1WLmwLstV30g80nkgZf/wr+/BXJW/oIvRlonUkxv+IbBM3dX2OV8 AmRv1ySWPTP7AAMFB/9PQK/VtlNUJvg8GXj9ootzrteGfVZVVT4XBJkfwBcpC/XcPzldjv+3 HYudvpdNK3lLujXeA5fLOH+Z/G9WBc5pFVSMocI71I8bT8lIAzreg0WvkWg5V2WZsUMlnDL9 mpwIGFhlbM3gfDMs7MPMu8YQRFVdUvtSpaAs8OFfGQ0ia3LGZcjA6Ik2+xcqscEJzNH+qh8V m5jjp28yZgaqTaRbg3M/+MTbMpicpZuqF4rnB0AQD12/3BNWDR6bmh+EkYSMcEIpQmBM51qM EKYTQGybRCjpnKHGOxG0rfFY1085mBDZCH5Kx0cl0HVJuQKC+dV2ZY5AqjcKwAxpE75MLFkr wkkEGBECAAkFAlk3nEQCGwwACgkQoDSui/t3IH7nnwCfcJWUDUFKdCsBH/E5d+0ZnMQi+G0A nAuWpQkjM1ASeQwSHEeAWPgskBQL In-Reply-To: X-ClientProxiedBy: FR4P281CA0408.DEUP281.PROD.OUTLOOK.COM (2603:10a6:d10:d0::6) To DU2PR04MB8790.eurprd04.prod.outlook.com (2603:10a6:10:2e1::23) MIME-Version: 1.0 X-MS-PublicTrafficType: Email X-MS-TrafficTypeDiagnostic: DU2PR04MB8790:EE_|PA4PR04MB9438:EE_ X-MS-Office365-Filtering-Correlation-Id: d836cb5e-49c1-41c2-62e2-08dbecc97052 X-MS-Exchange-SenderADCheck: 1 X-MS-Exchange-AntiSpam-Relay: 0 X-Microsoft-Antispam: BCL:0; X-Microsoft-Antispam-Message-Info: OXENjelHW7Sm+60ukAF35A3fHHbsR58KPEt8iFqOyplehV4ZgnOqaUjwRS0JVq63oQ6AC1Eu/CjlfHzHvCoHet7jDtIsU0QaHSJy5LjcyVBNCmi5gTPRYGV9OyB2CsRwLinBnXIoJ7ziS991F/s8cDePsHUJ8Rny3C9GFPADCxFunjnkbiZYpTDSza5Y2G6igEINa+9xtsLk4vObTdR93v1jHj/wqfrUC3WLzXjpqEINnhGLRH4zGT6HNCBmaZIMGOnKVIB+QWhE1+RJdZOLjYODY1vlZ+PB3frKAd4+ziJdGRuTJLqDRTAPPjXuK6RcCAnizdwYHYWXUFb/QVYGET0Wej+B1ctmJA1qJ0PiIos54sB0WjQvoSnvc/Bug23JN6EPjDS0nhubvO+dRndcTa6Vjf7OyyLAH9J1OxpV4gnuBz0QaxbQegrHV15ltq78aDHfPMN9TP3hbKP/xv48CJAcs3aiWQSd33UOA7BNV7kPqFp6PwNwEWKButkcb4PI5OhEsCwmLJ3u8Lh/AbRCDQbgIh4COo46xAzQpJmRYypI1ES+BgkXHOcZ/g/yUYEFkcYmRydvNqh3LJX+xRz9Pz5RSZGJdOumEbme62ie+enKWGYNJMx4cXG0j5iPhjUGlJHcNcl7ck+7TlK/z3MgMw== X-Forefront-Antispam-Report: CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:DU2PR04MB8790.eurprd04.prod.outlook.com;PTR:;CAT:NONE;SFS:(13230031)(39860400002)(346002)(136003)(366004)(396003)(376002)(230922051799003)(64100799003)(186009)(451199024)(1800799012)(36756003)(2616005)(6512007)(8936002)(5660300002)(4326008)(8676002)(26005)(6506007)(66476007)(54906003)(66556008)(66946007)(316002)(6486002)(2906002)(6916009)(478600001)(31686004)(86362001)(31696002)(41300700001)(38100700002)(45980500001)(43740500002);DIR:OUT;SFP:1101; X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1 X-MS-Exchange-AntiSpam-MessageData-0: =?utf-8?q?fQBUmqFatU4Hr8hmYZ8PszFgRk18?= =?utf-8?q?Y82g03jk63J7kKilEaouRp9s4FB/SOOy0jHStBIs8F3m9+0gEQpsMksY5fpP+qdQN?= =?utf-8?q?qbpLpw6QhS66Pjgy25KeflPV6jIwqITv1hgMZzQ85jSe61c27nI/PZ6mIPIvdMufG?= =?utf-8?q?z1QRgqqA6+ArBmfwEZNHsGcM1OgAjkVwY14cReKHCzyYrd8O4c5GpOT+KcB4EZiaZ?= =?utf-8?q?f0SLCImfH3eYJgCF0jKn8GI+x3CgeCJNnP+6rlwqVNH/Olr0n/2giv8PoLBiX/CLa?= =?utf-8?q?uJW2MZ4O1KDea29JTxVVVQ0zUpiu7XcdyH0b+z4HtW/xFNT8yrlU2pdPmhDSvMyJo?= =?utf-8?q?rIQgYhYwwSubRVt3jDezzD7daHBsgdgRUguqbN9reUCZ/q55GN3VFnW63qUuWRfef?= =?utf-8?q?cQLSeHwiBqQokQ9Jazyp2EIMjK3ss01YFODyORnvdLmKdvnoFkJcZ2+ocspxJwsrL?= =?utf-8?q?YF1rCEunOIXVY61x+pCQ74P4cTWYRzzN4Qm84dlf4WFjb9Dcq4zD9haWpg8w9FJ5U?= =?utf-8?q?L4jKs1BTkI3iJJxr/OSKuGeV4/UcydNXmmQAig0OfynQhLUMcdGaXeI4HH7oA+kb3?= =?utf-8?q?gKmqulQoI9tnpD9giq76vkE/Hle+xsKPOEcMIZRep0i/+ek5NMIp4h3tkYcdoSvJ0?= =?utf-8?q?tdIm9R9lF0o9juFBk9xlz0mIQVbbvz3GfA/Yf0ealhlqlqK7PcCKCo+Fbg9T6/k44?= =?utf-8?q?eY3UIhF7VoqwDomalXpRexummWU4AD9V8Uell33KHOxOFf4qmhNXo+xWcJPm2TG8L?= =?utf-8?q?UlIClkCbJ90/AK18CrL/7XwYqvVW3fytOp5D+K56yMV5D1DUNEEFwSSb6sLeS4op5?= =?utf-8?q?u5oVK/tyWSZqBs/8aA8acH7sYbJGU0P3aSsjkk1Cauk3u6KXgW8/lXOn667nPAw8J?= =?utf-8?q?+nEbC8bWOY810fKwhkM5WUnoryNIHWNiNszMIm0HeEL+ZJSpcJ0Szqp9A/wVZOCgM?= =?utf-8?q?pM4yWu9oZgU93fFcC9ELgoz3NcIHA+AB3dOP+9n1/DixRfbystAX9KmROdknDzl0M?= =?utf-8?q?SMcWVMsGb9Mya4OAoJG2gZkHqAiu5cRVEZcAbR4BmY5HO8UA6QRuZZpuCs6P94hum?= =?utf-8?q?SWxc5HlXh40Uzn1H4LgO0RsdihH5l56PrCUVTlSW6K6JaedzeU3bVZE1zJAtdcnHE?= =?utf-8?q?6aa82nQnc++vnH/HcexmrgQqoSPZLqCr2YSEPhcCD8ZHr0VfcTW84IhF3IFoLTR/z?= =?utf-8?q?ZMJhp6gmvOpouV6sjGLsOvJ16gcjnlCSF8CVJ5cWCdGSmYTR9E08D1tlalpJEUcmM?= =?utf-8?q?reAY9DIX+TIwNgXTpBGTgGq5TWPxk7MOe2XX31bKlvUbQWdW73ai7zXedUE/Ix/Qs?= =?utf-8?q?023RCfJPodugaEKaXhY5dlnvcDOOlvkWBzSSWQM/1sra1EfDiIBY4pLuNSiQ8UT+M?= =?utf-8?q?ZnsLYw1JUKWGC88cutb469HEaS4bJeJvbufSmSg7avxXfK7kq5O+vRrGozB+1Sdqr?= =?utf-8?q?aj55om4xCLipbXnP6NdwA3oMnGkuuL+bqffzLxmOev/AoBRlVSxVPefCrxZqKIyZC?= =?utf-8?q?pRsfEWK6QPCT?= X-OriginatorOrg: suse.com X-MS-Exchange-CrossTenant-Network-Message-Id: d836cb5e-49c1-41c2-62e2-08dbecc97052 X-MS-Exchange-CrossTenant-AuthSource: DU2PR04MB8790.eurprd04.prod.outlook.com X-MS-Exchange-CrossTenant-AuthAs: Internal X-MS-Exchange-CrossTenant-OriginalArrivalTime: 24 Nov 2023 08:43:32.1555 (UTC) X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted X-MS-Exchange-CrossTenant-Id: f7a17af6-1c5c-4a36-aa8b-f5be247aa4ba X-MS-Exchange-CrossTenant-MailboxType: HOSTED X-MS-Exchange-CrossTenant-UserPrincipalName: bIAy8xEwfSnkJR2cfWGOONq89L0VuWDPeVEUivjegATm54Gkv/s9sndbVTr/9z9eck8tsdaUX9LfITpamuXg1g== X-MS-Exchange-Transport-CrossTenantHeadersStamped: PA4PR04MB9438 ... to a field in the capability/controls struct. Signed-off-by: Jan Beulich --- v2: New. --- a/xen/arch/x86/hvm/vmx/vmcs.c +++ b/xen/arch/x86/hvm/vmx/vmcs.c @@ -162,7 +162,6 @@ static int cf_check parse_ept_param_runt /* Dynamic (run-time adjusted) execution control flags. */ struct vmx_caps __ro_after_init vmx_caps; -static uint64_t __read_mostly vmx_vmfunc; static DEFINE_PER_CPU_READ_MOSTLY(paddr_t, vmxon_region); static DEFINE_PER_CPU(paddr_t, current_vmcs); @@ -234,7 +233,6 @@ static int vmx_init_vmcs_config(bool bsp u32 vmx_basic_msr_low, vmx_basic_msr_high, min, opt; struct vmx_caps caps; u64 _vmx_misc_cap = 0; - u64 _vmx_vmfunc = 0; bool mismatch = false; rdmsr(MSR_IA32_VMX_BASIC, vmx_basic_msr_low, vmx_basic_msr_high); @@ -426,14 +424,14 @@ static int vmx_init_vmcs_config(bool bsp /* The IA32_VMX_VMFUNC MSR exists only when VMFUNC is available */ if ( caps.secondary_exec_control & SECONDARY_EXEC_ENABLE_VM_FUNCTIONS ) { - rdmsrl(MSR_IA32_VMX_VMFUNC, _vmx_vmfunc); + rdmsrl(MSR_IA32_VMX_VMFUNC, caps.vmfunc); /* * VMFUNC leaf 0 (EPTP switching) must be supported. * * Or we just don't use VMFUNC. */ - if ( !(_vmx_vmfunc & VMX_VMFUNC_EPTP_SWITCHING) ) + if ( !(caps.vmfunc & VMX_VMFUNC_EPTP_SWITCHING) ) caps.secondary_exec_control &= ~SECONDARY_EXEC_ENABLE_VM_FUNCTIONS; } @@ -456,7 +454,6 @@ static int vmx_init_vmcs_config(bool bsp vmx_caps = caps; vmx_caps.basic_msr = ((uint64_t)vmx_basic_msr_high << 32) | vmx_basic_msr_low; - vmx_vmfunc = _vmx_vmfunc; vmx_display_features(); @@ -495,7 +492,7 @@ static int vmx_init_vmcs_config(bool bsp mismatch |= cap_check("VPID Capability", vmx_caps.vpid, caps.vpid); mismatch |= cap_check( "VMFUNC Capability", - vmx_vmfunc, _vmx_vmfunc); + vmx_caps.vmfunc, caps.vmfunc); if ( cpu_has_vmx_ins_outs_instr_info != !!(vmx_basic_msr_high & (VMX_BASIC_INS_OUT_INFO >> 32)) ) { @@ -2153,7 +2150,6 @@ int __init vmx_vmcs_init(void) * Make sure all dependent features are off as well. */ memset(&vmx_caps, 0, sizeof(vmx_caps)); - vmx_vmfunc = 0; } return ret; --- a/xen/arch/x86/include/asm/hvm/vmx/vmcs.h +++ b/xen/arch/x86/include/asm/hvm/vmx/vmcs.h @@ -287,6 +287,7 @@ struct vmx_caps { uint32_t vmentry_control; uint32_t ept; uint32_t vpid; + uint64_t vmfunc; }; extern struct vmx_caps vmx_caps;