From nobody Mon Feb 9 04:37:22 2026 Delivered-To: importer@patchew.org Received-SPF: pass (zohomail.com: domain of lists.xenproject.org designates 192.237.175.120 as permitted sender) client-ip=192.237.175.120; envelope-from=xen-devel-bounces@lists.xenproject.org; helo=lists.xenproject.org; Authentication-Results: mx.zohomail.com; dkim=pass; spf=pass (zohomail.com: domain of lists.xenproject.org designates 192.237.175.120 as permitted sender) smtp.mailfrom=xen-devel-bounces@lists.xenproject.org; arc=pass (i=1 dmarc=pass fromdomain=suse.com); dmarc=pass(p=quarantine dis=none) header.from=suse.com ARC-Seal: i=2; a=rsa-sha256; t=1645611176; cv=pass; d=zohomail.com; s=zohoarc; b=VncdbqIMBnbbldVFLVg0DiFoXxBjN4od2aZZyCcJcisEIrlXb2Iu2ZMMhPOz5/WgjbIYMbcK+D6LSLDGmt8688KiK4MDW/oM/d+ABiRo9IJ4VYBeNPehlaKZlMZKloH5GrflC3oIuohPZGegMbcF2cultWESJ5vY0+hFuz/W0cA= ARC-Message-Signature: i=2; a=rsa-sha256; c=relaxed/relaxed; d=zohomail.com; s=zohoarc; t=1645611176; h=Content-Type:Content-Transfer-Encoding:Cc:Date:From:In-Reply-To:List-Subscribe:List-Post:List-Id:List-Help:List-Unsubscribe:MIME-Version:Message-ID:References:Sender:Subject:To; bh=LI5XIykVTVe8uWmfaLRy4nPxEkgSqXOP7UAzhSepRo8=; b=SFta2p3zrHFxsZJwIvPMNcNwYHRQd8Rtxfn7YZePl784G9AbGMK5o8jqCsCuwCUWw1YaFr8e9ltdOEsYayQf9SPyAYJnq7DJ6zICJ41cXb6yyjg6WNAtamAog/R/zMvOuIxAqipOuMxrrZVIMsfgyT0jpEjLD6sxDrOqrtgLCvU= ARC-Authentication-Results: i=2; mx.zohomail.com; dkim=pass; spf=pass (zohomail.com: domain of lists.xenproject.org designates 192.237.175.120 as permitted sender) smtp.mailfrom=xen-devel-bounces@lists.xenproject.org; arc=pass (i=1 dmarc=pass fromdomain=suse.com); dmarc=pass header.from= (p=quarantine dis=none) Return-Path: Received: from lists.xenproject.org (lists.xenproject.org [192.237.175.120]) by mx.zohomail.com with SMTPS id 1645611176858252.42193462092132; Wed, 23 Feb 2022 02:12:56 -0800 (PST) Received: from list by lists.xenproject.org with outflank-mailman.277261.473696 (Exim 4.92) (envelope-from ) id 1nModR-0005bS-GO; Wed, 23 Feb 2022 10:12:37 +0000 Received: by outflank-mailman (output) from mailman id 277261.473696; Wed, 23 Feb 2022 10:12:37 +0000 Received: from localhost ([127.0.0.1] helo=lists.xenproject.org) by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from ) id 1nModR-0005bL-DK; Wed, 23 Feb 2022 10:12:37 +0000 Received: by outflank-mailman (input) for mailman id 277261; Wed, 23 Feb 2022 10:12:36 +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 1nModQ-0005b9-6s for xen-devel@lists.xenproject.org; Wed, 23 Feb 2022 10:12:36 +0000 Received: from de-smtp-delivery-102.mimecast.com (de-smtp-delivery-102.mimecast.com [194.104.109.102]) by se1-gles-flk1.inumbo.com (Halon) with ESMTPS id 1eb8cc47-9491-11ec-8539-5f4723681683; Wed, 23 Feb 2022 11:12:35 +0100 (CET) Received: from EUR04-DB3-obe.outbound.protection.outlook.com (mail-db3eur04lp2051.outbound.protection.outlook.com [104.47.12.51]) by relay.mimecast.com with ESMTP with STARTTLS (version=TLSv1.2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id de-mta-35-edIydqH7MR2OtKPIzJmdsg-1; Wed, 23 Feb 2022 11:12:33 +0100 Received: from VI1PR04MB5600.eurprd04.prod.outlook.com (2603:10a6:803:e7::16) by HE1PR04MB3004.eurprd04.prod.outlook.com (2603:10a6:7:1f::22) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.5017.22; Wed, 23 Feb 2022 10:12:32 +0000 Received: from VI1PR04MB5600.eurprd04.prod.outlook.com ([fe80::d479:b728:345c:bd65]) by VI1PR04MB5600.eurprd04.prod.outlook.com ([fe80::d479:b728:345c:bd65%6]) with mapi id 15.20.5017.022; Wed, 23 Feb 2022 10:12:32 +0000 X-Outflank-Mailman: Message body and most headers restored to incoming version 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: 1eb8cc47-9491-11ec-8539-5f4723681683 DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=suse.com; s=mimecast20200619; t=1645611154; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding: in-reply-to:in-reply-to:references:references; bh=LI5XIykVTVe8uWmfaLRy4nPxEkgSqXOP7UAzhSepRo8=; b=bv1yK9+Ekcbop+xlAZ63wz3H3kdBRWjYJlKb88NCJS1gdGJvZDTwBPusYRH3/GsbyN+Gbi tEqJNjp+4wu0HEwuqS5W5tbvHxoEZVRs0UF6f1hZI80vQJ0Z3syNDMnTUlNepa/XYYjFNX TSmUgB+mOZ7IIrazcFI4Tx/hbh3HlN4= X-MC-Unique: edIydqH7MR2OtKPIzJmdsg-1 ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none; b=I8cJ3SunquUDnonYw6Ockk+aAATSSc52wp8pvvENqGSgjOVd73W0ccfD2SdVpEEZXJ+IQW10oscfLJmMK41kiFVxbQa+im+x7iLjHjUd2izuQ6O9Kjc5Tyk25MGf9JEElKFJAsg/xj0j4EHuOJ8XGNs+2mzKIJeztzdGYCoRWKn0jRJDql+8nZbdEnjteGnFGwIIcltlwkGj/RfGG0RZJRkbU1ofCJ6XRBSDdYLVf6v9MsTmz6yR6ZF51sBWzuVx/Joz3Dgs0k/OQbaLgKqgtJ+9zLDk2gKxR64Ha0RopRAe9da+kU+28ebcb9vWB4JtKIXTiadZATVoQKwZR6efIA== 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=LI5XIykVTVe8uWmfaLRy4nPxEkgSqXOP7UAzhSepRo8=; b=MQfWo27d7mIgjjnQGS7Z25Qy6FxRjutcbfQLnL2d2TcexSI0PjmJ6mXhirglBBrd68rDlpCoL8Kv9rpZFeDv0gnNhMk3FHN7hGCRxL+ZZ8UhtxqPDf84wigBf5/fJDIjS0gim8i1KQxe7sxAgWzgK6MY6uw3vqAeDlx32qnwvaWc4JxODpo+tRrNmdJG5eX4yPi06p6MaiciIfPneNSlQWy5mv/lma7jaxBxpe8kADGSp1FpZ6F6ub3HLJC2FskxXIcLCgYFVpQKe0r0qEWchFZrktD6vbuJtYvOUdCaB8xNOygSW50JIC85qByucb4yIl0fYQ3D4kmq3q2aMILLFg== 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 Authentication-Results: dkim=none (message not signed) header.d=none;dmarc=none action=none header.from=suse.com; Message-ID: <96f493ee-a360-ce46-7a61-5f55ca436295@suse.com> Date: Wed, 23 Feb 2022 11:12:29 +0100 User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:91.0) Gecko/20100101 Thunderbird/91.6.1 Subject: [PATCH 1/3] x86: drop NOP_DS_PREFIX 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?= References: <91935ffd-a270-f1a1-28f1-645fa4167fcd@suse.com> In-Reply-To: <91935ffd-a270-f1a1-28f1-645fa4167fcd@suse.com> Content-Transfer-Encoding: quoted-printable X-ClientProxiedBy: AM6P195CA0002.EURP195.PROD.OUTLOOK.COM (2603:10a6:209:81::15) To VI1PR04MB5600.eurprd04.prod.outlook.com (2603:10a6:803:e7::16) MIME-Version: 1.0 X-MS-PublicTrafficType: Email X-MS-Office365-Filtering-Correlation-Id: dfe5c7f8-e711-4ede-e782-08d9f6b5011a X-MS-TrafficTypeDiagnostic: HE1PR04MB3004:EE_ X-Microsoft-Antispam-PRVS: X-MS-Exchange-SenderADCheck: 1 X-MS-Exchange-AntiSpam-Relay: 0 X-Microsoft-Antispam: BCL:0; X-Microsoft-Antispam-Message-Info: nJ+6sQlvvNzyDeK2OqB4mBbs6UNNm/RXXDSt1Xwe5XOZ9biLHxAxkUy1Uv/02mevbUaE4AJjnr/s9U3iNM7/JBvOIL8FwTfAXDiyebn6ef7JXVQBsuG0vd/+rMnICktG4GrlQBxTfIPJ6XGyoeWCLVK4c5chvLYENKnUHQROESaTNbQS4xUS5HCCK0FwbbuQbbv05cNXDMJEo7pNMBG6eiFRC2ECq79Bx+XLeTzcOLLjxH6pVtCPlNYBgQKt29soQo6ej2Wkgm2OuZleZ9nPybCtrY1av7m8C4ehLR169d1myCLwgXbARgeHqWov+cGn3ZkWKvt935AgHvSa95qsbkDlM5uvNUd792pqn1WlGKiZ/o/5vK2i+8xFTT2RxtcwAFBauv6QgTkoCqzMBST0F6+Vf97Y6ZuqkpLjI3BERvkU4Et4HodIeytgy2jEmbt9GiAFIm3M0BdxJkEbE2/Ym6AYRkMxEA7ri+zZP7jd3Hl9l0/ZRPjf2G0Q0HPY6+0zv/q4CpZZJiN3K0NM4NwSzmGtsajLMcH7hoxHfkYsvKoNiynx9vz78hhuTGor7ypMwoZdo1r6A6tnin5DG/LklcOVgG505ntQ3cp06AKwCvvZkZ4ot1+YQziEnXSBkaYw661uEgDczJuQf5AnxX6GB6rhJiI1yG81xME7M5iJytv97xgElOSqORaQoX5kfIv7zbmKsgRqiwWbM2eqHxJXo5OEXNWLM6WKNS0IEWujGR1/xIHdNDivuHXoE4BQpUia X-Forefront-Antispam-Report: CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:VI1PR04MB5600.eurprd04.prod.outlook.com;PTR:;CAT:NONE;SFS:(13230001)(366004)(8936002)(54906003)(8676002)(6916009)(508600001)(38100700002)(2906002)(2616005)(86362001)(5660300002)(186003)(26005)(31696002)(4326008)(66476007)(66556008)(66946007)(6512007)(6506007)(6666004)(31686004)(6486002)(36756003)(316002)(43740500002)(45980500001);DIR:OUT;SFP:1101; X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1 X-MS-Exchange-AntiSpam-MessageData-0: =?utf-8?B?RFZlVkxpZ2xHeXpreVo2b2VSTGRGbGNMQVhvYy9HQjA2ejlBaWhtOEh6NkNS?= =?utf-8?B?Q2FXYVV2bDBkaWhnSzB6Y0RLaFdWdXgvb0ZGSDB4SXdiZDBSdWtGeG84UjNE?= =?utf-8?B?RVluWHBWbUNFVmtsMjgzV21JNzVQT1dadG82TFRiMVgwQ1ZUS1pKc2hYcG9B?= =?utf-8?B?TUkyeUl5MHN6T05tdTRjQjVyRjhOb0FCS0d6b1J3RTZ4L01hUUtpb0NqbUhL?= =?utf-8?B?RlhicEZxb0JPb0xIN2dOaGNvSE1XMEMrZlA1ZDJ6WlR2dENnR0tWeFNpcExD?= =?utf-8?B?cktLdGlqVERwV3d5azBKL2c5eFVWOVMzSGQ5RHVmdjFvUmkvNmpScmNUdUM5?= =?utf-8?B?L2tLUWd5cWh4NTEvazBIU2V3eDg0bXNmZTRld0R6T05GSE1aejIrOUQzeDlj?= =?utf-8?B?Sk9IMWJlazdjak8vTmZjMzFRRHNuSVQ4RWVGS0xGUG1JT1cwQXFPTFVQNjNv?= =?utf-8?B?alArMnl3KzFwUTEvQWFZMlJoUVQ2aE4zdHQzODFiZ2VscFBmYU9iTzlzWFY2?= =?utf-8?B?WUdCQmVJeVVGcnp1bnc4Z2VTejJOQ1B2ZDVEVmxZV3preHI3ejhGS0FHdDEv?= =?utf-8?B?RFlyUVovUGF6YWFBWXBhNlZmMTVyZEd6TWRZY0JSQWk5SVVhZzRHTzZUVkZC?= =?utf-8?B?MFpnLzM2MVB1U3FEbDZwY0JUN1hENnhNcFp3dGZvNFdBbm1NRHBvQ2NRRm45?= =?utf-8?B?T3ozKzJ6WS9RaVpuZlN3a3Q2Y2g2cFA4ZE5YVFc2WU9RSnFrNlFxbGEycDZ1?= =?utf-8?B?V0p2cXM2Tnd5bnVCNTVKSVlqR1JUZDNvdEtSQWY4WlpiM00zMnFyM3NhK0dR?= =?utf-8?B?dnpVTEZPMWM5c3diZnlxNWcrM0xYU3J6S013QXE4NHE3TW5NYmcvckNrQ254?= =?utf-8?B?WFo1Y0lYM3dlbmF5MCtCV1EveUc1a1B0UmdQcWZoSXRCdGp0SWRKTlhyNElr?= =?utf-8?B?ZHMrZS9lNUgrMDZPTGcxUXJGTThEMWg1OE9TWGNTWGZ0c2kvMGFXeklXL0ZB?= =?utf-8?B?S2l4SGl3Uk5JNEVXVDU1K05wL1VLY2Z5eHp2T0oyNi9wRFR2WjBWK2hUclRS?= =?utf-8?B?c3FITTV3aHJhOXQzZG5NckpwZ3NsVlZRdU8yNFJhTlhJVTg0UERRbGdNR05i?= =?utf-8?B?Tld6K0s5UEVBRWw1SkU5TGZ2SjZyYWtJa2NEV3FtanRRRjdVRkhGUWhDVmNI?= =?utf-8?B?MHM4QTQ3aFQ0QTlvSDFha0Z4cFJkWXZlM0hpUG5xUDEzUFo1RGJHWHdRRmk1?= =?utf-8?B?Yk5ZR1YrRUJmV1ZsVGczdU9FTktWSkp1c29FTnloZ0RlM3R1bVRKcUdranNk?= =?utf-8?B?UGVCRU0vY0UwUFMzOHJrd1Ywb3pKaVdPbFFGZExvaEY4Vi9QZHpDVkY3TXNX?= =?utf-8?B?Yk9Fd3VjaENFT1RaOE5lOStrUmZGMTlHWmR4bENaN3ZwTVN1Y0k1ZzI2c0lF?= =?utf-8?B?dVZOb3pSU2E2Qml2UW9oZCtjTS9wYjgxUEpkZ0FhMjY5UG4zdnRDQWd5TkZo?= =?utf-8?B?Q01PdkNSMzExT0xFelYrUTdkUWRTUDE4OGhRYnlMODNsWWJacHRRM3MweEJO?= =?utf-8?B?MGpTdnpTMUtnRnZsR0pIdEpXUlluSE1VR2VRNjIrSXY0ditTalhCa3NQNWlM?= =?utf-8?B?cVd4TEVaQ3lCaTFsbHZrTzZFK05pNnpkRnJqUEhCcHNQSklrUWV6TDRUb2Ri?= =?utf-8?B?QVRsdU9Zb0tURFBrYVJPK1NJQTdKWEtjMHlmUGNST0NEN3ZpQ1RyQXdWVUJ2?= =?utf-8?B?OERnRjh5NDVmZ2ozcEcxRytKRVN0bHlDU3l1RUdHeWVGT3JNLytLSmRxbk0w?= =?utf-8?B?cHVxQ1p0RllSTGtMbnpHOWluRXBpSFI0TTFoNVhuYnFyeXB2MTJIdnpwajYr?= =?utf-8?B?SHQ4Z25ZaGF5MHVrejR5VHY0U1NjWkM3enVacUo1WDlUQTVqTEJ5TUlwcUlr?= =?utf-8?B?YlVLd082eFYxMWxQZ3lDM1F3M1Y1ekZ4V2FWRzlqVTMzcFZzdkxBT3lFSlFt?= =?utf-8?B?ZkYxd3EvaWtBQVIwaFdyZnB1NkxNblZLUHJpb3hONjFWQS92clhrV1V0WjV0?= =?utf-8?B?YnhpTEI1ekQvQkV1N24zRVZrTGpicmxFSFlvRXBURnAzdENkNHpWT1BMUnB6?= =?utf-8?B?R2NrWVRoMWY0eGxLUzNaMzA3Z2Jxak5CQ05ieG5uckRzZ2tTajI4cnc0Qk4r?= =?utf-8?Q?1ULUuIrNqVJt+X+I6d8yyDk=3D?= X-OriginatorOrg: suse.com X-MS-Exchange-CrossTenant-Network-Message-Id: dfe5c7f8-e711-4ede-e782-08d9f6b5011a X-MS-Exchange-CrossTenant-AuthSource: VI1PR04MB5600.eurprd04.prod.outlook.com X-MS-Exchange-CrossTenant-AuthAs: Internal X-MS-Exchange-CrossTenant-OriginalArrivalTime: 23 Feb 2022 10:12:31.9720 (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: 4hi36XRmL0zsmTTDijtBhNBLeIhmg+9KlJ7pPxnBqnMro7Z4pp0dKWd4ijLCMcrcgvX3LGEgMTlQ+UlixTv7Fg== X-MS-Exchange-Transport-CrossTenantHeadersStamped: HE1PR04MB3004 X-ZohoMail-DKIM: pass (identity @suse.com) X-ZM-MESSAGEID: 1645611179104100001 Content-Type: text/plain; charset="utf-8" This wasn't really necessary to introduce: The binutils change permitting use of standalone "ds" (and "cs") in 64-bit code predates the minimum binutils version we support. Signed-off-by: Jan Beulich Acked-by: Andrew Cooper --- In fact we could patch _just_ the opcode prefix in flush_area_local(). --- a/xen/arch/x86/flushtlb.c +++ b/xen/arch/x86/flushtlb.c @@ -247,8 +247,7 @@ unsigned int flush_area_local(const void { alternative("", "sfence", X86_FEATURE_CLFLUSHOPT); for ( i =3D 0; i < sz; i +=3D c->x86_clflush_size ) - alternative_input(".byte " __stringify(NOP_DS_PREFIX) ";" - " clflush %0", + alternative_input("ds; clflush %0", "data16 clflush %0", /* clflushopt = */ X86_FEATURE_CLFLUSHOPT, "m" (((const char *)va)[i])); @@ -298,11 +297,11 @@ void cache_writeback(const void *addr, u # define INPUT(addr) "a" (addr), BASE_INPUT(addr) #endif /* - * Note regarding the use of NOP_DS_PREFIX: it's faster to do a cl= flush + * Note regarding the "ds" prefix use: it's faster to do a clflush * + prefix than a clflush + nop, and hence the prefix is added in= stead * of letting the alternative framework fill the gap by appending = nops. */ - alternative_io_2(".byte " __stringify(NOP_DS_PREFIX) "; clflush %[= p]", + alternative_io_2("ds; clflush %[p]", "data16 clflush %[p]", /* clflushopt */ X86_FEATURE_CLFLUSHOPT, CLWB_ENCODING, --- a/xen/arch/x86/include/asm/nops.h +++ b/xen/arch/x86/include/asm/nops.h @@ -5,8 +5,6 @@ * Define nops for use with alternative(). */ =20 -#define NOP_DS_PREFIX 0x3e - /* * Opteron 64bit nops * 1: nop From nobody Mon Feb 9 04:37:22 2026 Delivered-To: importer@patchew.org Received-SPF: pass (zohomail.com: domain of lists.xenproject.org designates 192.237.175.120 as permitted sender) client-ip=192.237.175.120; envelope-from=xen-devel-bounces@lists.xenproject.org; helo=lists.xenproject.org; Authentication-Results: mx.zohomail.com; dkim=pass; spf=pass (zohomail.com: domain of lists.xenproject.org designates 192.237.175.120 as permitted sender) smtp.mailfrom=xen-devel-bounces@lists.xenproject.org; arc=pass (i=1 dmarc=pass fromdomain=suse.com); dmarc=pass(p=quarantine dis=none) header.from=suse.com ARC-Seal: i=2; a=rsa-sha256; t=1645611196; cv=pass; d=zohomail.com; s=zohoarc; b=mhqXHZMXjoi2BqEjoEm/FoexON6JmVeTr5GRXk9bZwgxP5Uz7vXBvCgZeCHjvW3N+yoRGWOIUnZbAFTPsvVe+sbEsxqxqqjcHBRmDJ0UD4ZDb8ZBwXkVoXF5MIdYKqTBoG9v0Tcplql5Z14VrAOIrcXlZgIZq7UVnL7YO4HcxnM= ARC-Message-Signature: i=2; a=rsa-sha256; c=relaxed/relaxed; d=zohomail.com; s=zohoarc; t=1645611196; h=Content-Type:Content-Transfer-Encoding:Cc:Date:From:In-Reply-To:List-Subscribe:List-Post:List-Id:List-Help:List-Unsubscribe:MIME-Version:Message-ID:References:Sender:Subject:To; bh=Xh7f+LBqpvIMNCjCDOJiXb25hwsGdct++TnJN1+j8lY=; b=KReFNfbAPwnYFLizS4MCHR32dYia8AWpitSEPozRLNABbjgAhgsZSzN1VYzVayLLr4/oI/tsYCNAsGrWGNQBA0bOOnp1aQkT+57PMUjaD6BrSYo8/JkrnkQiWQL/yVKhwjBNqkSQHVUZWPm+WDgAtUUKPHA+P/bITlyAfKcyOXw= ARC-Authentication-Results: i=2; mx.zohomail.com; dkim=pass; spf=pass (zohomail.com: domain of lists.xenproject.org designates 192.237.175.120 as permitted sender) smtp.mailfrom=xen-devel-bounces@lists.xenproject.org; arc=pass (i=1 dmarc=pass fromdomain=suse.com); dmarc=pass header.from= (p=quarantine dis=none) Return-Path: Received: from lists.xenproject.org (lists.xenproject.org [192.237.175.120]) by mx.zohomail.com with SMTPS id 1645611196388744.5416267896044; Wed, 23 Feb 2022 02:13:16 -0800 (PST) Received: from list by lists.xenproject.org with outflank-mailman.277263.473707 (Exim 4.92) (envelope-from ) id 1nModl-00065E-Pz; Wed, 23 Feb 2022 10:12:57 +0000 Received: by outflank-mailman (output) from mailman id 277263.473707; Wed, 23 Feb 2022 10:12:57 +0000 Received: from localhost ([127.0.0.1] helo=lists.xenproject.org) by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from ) id 1nModl-000657-Mq; Wed, 23 Feb 2022 10:12:57 +0000 Received: by outflank-mailman (input) for mailman id 277263; Wed, 23 Feb 2022 10:12:56 +0000 Received: from se1-gles-sth1-in.inumbo.com ([159.253.27.254] helo=se1-gles-sth1.inumbo.com) by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from ) id 1nModk-00063c-HP for xen-devel@lists.xenproject.org; Wed, 23 Feb 2022 10:12:56 +0000 Received: from de-smtp-delivery-102.mimecast.com (de-smtp-delivery-102.mimecast.com [194.104.109.102]) by se1-gles-sth1.inumbo.com (Halon) with ESMTPS id 2af43107-9491-11ec-8eb8-a37418f5ba1a; Wed, 23 Feb 2022 11:12:55 +0100 (CET) Received: from EUR04-DB3-obe.outbound.protection.outlook.com (mail-db3eur04lp2052.outbound.protection.outlook.com [104.47.12.52]) by relay.mimecast.com with ESMTP with STARTTLS (version=TLSv1.2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id de-mta-11-1qtB_w43ORWL5V3XoRAkvw-1; Wed, 23 Feb 2022 11:12:54 +0100 Received: from VI1PR04MB5600.eurprd04.prod.outlook.com (2603:10a6:803:e7::16) by HE1PR04MB3004.eurprd04.prod.outlook.com (2603:10a6:7:1f::22) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.5017.22; Wed, 23 Feb 2022 10:12:52 +0000 Received: from VI1PR04MB5600.eurprd04.prod.outlook.com ([fe80::d479:b728:345c:bd65]) by VI1PR04MB5600.eurprd04.prod.outlook.com ([fe80::d479:b728:345c:bd65%6]) with mapi id 15.20.5017.022; Wed, 23 Feb 2022 10:12:52 +0000 X-Outflank-Mailman: Message body and most headers restored to incoming version 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: 2af43107-9491-11ec-8eb8-a37418f5ba1a DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=suse.com; s=mimecast20200619; t=1645611175; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding: in-reply-to:in-reply-to:references:references; bh=Xh7f+LBqpvIMNCjCDOJiXb25hwsGdct++TnJN1+j8lY=; b=dqeXxKdKqyzLVlffWW0mvShefVhNQl9ecmh8kfZOH6EpwjDLsjcFsmB05DctUEDLAeJQF+ ZHf1LRt35IH217yief9frulbnbwwWw/92y567C4OHY1ApeSD2tg86RWNZsIQMGC9ao9JIA atuaX1OZdbStpB2TgdKE4voa+ZsU5yA= X-MC-Unique: 1qtB_w43ORWL5V3XoRAkvw-1 ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none; b=VYSWRom+mbYbqITaeiPawAaNs1fYsxB3aeWUas25CSyX/GlE4q8cMY4MAxpXz4vfBCQZvOyZZET99KwR5cGUzAtf8/nzZXqnEv5mviAXjnuAAtl+DnhsdAVrrPL0UADUjAwwt8gPbhQHXhi0IRej1DWWTzbMJ4svjyqqS3B4q8UfiHitO+nk4e4veF2116zFJq61HXHUxEMb2B+BEQW3qr5tFd/avw/Rrxz7JQasrEo66ESObEn62LKYRcUxkb1brP9Lwwiim7pMiZLfvVh4WEeGua98DAn6wokTo8RcCwD4p2pRUmQpz/LHnkccMVyhlDqiy39DPjr7bLKTAuigCg== 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=Xh7f+LBqpvIMNCjCDOJiXb25hwsGdct++TnJN1+j8lY=; b=aQuZMXX/VId8N2/9y14DSvJd8W7wDHGzE2rB2PZEXSYrQaGWS/NSQZszSDgAqCkrYwhAw1PxkUvqw6VnKNX5X1Z1vxvXhuq/eAD9EUmVTjbexXz58ekbCxkldQTg8siMi0SsA1dmtNrqkMDAPcvsqC1tI8Urif8GKKTt28tiTlqHoU9BBjVjzXsic6R3tqKHeHWcdQ1XlHiiOBxYB4RFHX6rNwjZ3nlNk++ySsQWXtug4F4YMUhKDH/fZCABcO3QWplZN2E2tRV8J5DoktIPpBV/i8wTUDWApc+KgQmGuBrUg2II3fuLkpbA/Qj1NJCOtzJC+qo74+0kZnD9dmX4rQ== 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 Authentication-Results: dkim=none (message not signed) header.d=none;dmarc=none action=none header.from=suse.com; Message-ID: <2c1f9c24-a07e-b5b6-2f20-18eacb835763@suse.com> Date: Wed, 23 Feb 2022 11:12:51 +0100 User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:91.0) Gecko/20100101 Thunderbird/91.6.1 Subject: [PATCH 2/3] x86/cpuid: replace more cpufeat_word() uses 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?= References: <91935ffd-a270-f1a1-28f1-645fa4167fcd@suse.com> In-Reply-To: <91935ffd-a270-f1a1-28f1-645fa4167fcd@suse.com> Content-Transfer-Encoding: quoted-printable X-ClientProxiedBy: AM6P195CA0016.EURP195.PROD.OUTLOOK.COM (2603:10a6:209:81::29) To VI1PR04MB5600.eurprd04.prod.outlook.com (2603:10a6:803:e7::16) MIME-Version: 1.0 X-MS-PublicTrafficType: Email X-MS-Office365-Filtering-Correlation-Id: 13411b8e-f3f3-456e-21fe-08d9f6b50d74 X-MS-TrafficTypeDiagnostic: HE1PR04MB3004:EE_ X-Microsoft-Antispam-PRVS: X-MS-Exchange-SenderADCheck: 1 X-MS-Exchange-AntiSpam-Relay: 0 X-Microsoft-Antispam: BCL:0; X-Microsoft-Antispam-Message-Info: +yHwTHIzSfCoOJYxZ8nHPXEL5Fx+X+axAwR7fS5yV6sY+jLlViOwVuUtT5AD680mtbFgl0dpFpu0vz4dfSN2zZwWmJb5PCrGLn/T19/kg3wukwOwU9dDQqe38mO1KAJFSEWU0KrR8nk8V8la0+uURUa7t/nulGluhErlZ/JJv+0xmoa6vWNWLbdmrNkTB+U5foljpNV9Kzh/0etGePk4Nnh1JLvShyH639cKtG1TQ32F5sJvR38L9/cGAtwDegrYmhQ8uXnBt+MZ93RXO1S3Sg27aVD/iERyPp5D/nWopwa6MoO7tw/Gg+bwuiipI4jjWHB2ACQV0MBXnPrmiA3nAqegY1Uc/cZh5hZYdc9qOVYTJN9PUV/+AmXg2dtBrD8Q/lA7Ab5Dt2bN7Wk1GHaJOUdFeuyqnYkoas2zG2znddlBeDvZidFjIdJRwPJ4JI4mWG6RlvhPIoqqMj4TtqNZnUktlzJqRN0ZRVWhhmd+H96IeCMDDVFpHT3htovorIBq52FV5X2cO/9KTq0x6uklAYQqsdzDScOUBizRfMEU8FH1b2l1/toBh+QhvFwUjFvADMVj8KwJbYOH1CBDB6z2Z4+9tLltGIukv291b/+1laacqpOn1FKBaUDsy1v4sgnokvWgUCDwiVhqWTWy1k/DD0Ngih74HwbH093ma+cfJCGCi20iRSoX8fTvThe9CbmYB3c+CsBE3dwH80uLEfzWW17k+b4ZhEDgB6EhHToSOsnq2TA/9Sf1Q2RmAuFQe2tw X-Forefront-Antispam-Report: CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:VI1PR04MB5600.eurprd04.prod.outlook.com;PTR:;CAT:NONE;SFS:(13230001)(366004)(8936002)(54906003)(8676002)(6916009)(508600001)(38100700002)(2906002)(2616005)(86362001)(5660300002)(186003)(26005)(31696002)(4326008)(66476007)(66556008)(66946007)(6512007)(6506007)(31686004)(6486002)(36756003)(316002)(43740500002)(45980500001);DIR:OUT;SFP:1101; X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1 X-MS-Exchange-AntiSpam-MessageData-0: =?utf-8?B?RVViMG8wWkN4TzNuMEFTNEdFeVNNc0dvUHA1b011VkFYSVdSWXR1OFF5VTZP?= =?utf-8?B?NnpIYTBXcEhwbTU0TWRyOUJMOWEwU2thdVRSMEkyQnlKeVpwMHpSdjZjd1F2?= =?utf-8?B?aEFrWUt4RzdrZlI4VE9EUG1YckJHblZlcHR4NTljNTByNXVkem5mMnRxbWw3?= =?utf-8?B?VGF2VytGb0dOS0VXQ0t6MlpqUVFEb1NKOHNnYmJoTVB0TitvWkVMYWwrWHRC?= =?utf-8?B?bk5qMUZZZXgxYklVM0pzQmk5VXBDcjhKa0pwZ2VYUlMxL2kzU0R3cE1pV2NF?= =?utf-8?B?ZEZZTHRTaFErMDgyd2ZleHZJODR0NURjNHIxM3lyRmVFTUdVeURUQjFLRzBB?= =?utf-8?B?ZlFFVVAvTEI4TU1VSmJ2QlVScnNjUmlMdmJRa0JHODlvb3NEMytXU0JoQWh5?= =?utf-8?B?V0E0OFNTQWx0b1dUbUtkdHBHUVlTQzE2eUJQVFJ3d2N1ZXNKN1B1TnNMdElF?= =?utf-8?B?L0c0bk8xWHV4VG9hb0piT25Ta3VVSU9BLzcrWndjRzdVOXVpK2U0T2ZKV0hQ?= =?utf-8?B?aWc3akFQNjNTMXdvd1Y5dVdwdnJvSU8vQ0dYVzVUOFgzNElXV2J6N1F6a1ov?= =?utf-8?B?ZDNNSEVXZGNiVnhFNWg5QkYyWFZ1VFBSSC9VR2lDQUxFRzlZc2VVeHZxczdl?= =?utf-8?B?VG9FNlQ5YUVwUkU5K3haRXRCdktkMUtPVXhjZCttdWtINjBUbzc2aWlqdUM2?= =?utf-8?B?UzMrWk9SemZWVlVFVGg4b2trZVVKYlNXN3lJeldFNG5oZ0dOV0FWamo0MHRv?= =?utf-8?B?cmlVNVJwa0dRUzJvSWEvRC9hM2RKclpVY2JGOXVlYUJSaUJBTjZGK1dLSXQw?= =?utf-8?B?UUdXMTBxbXVYZU1DM3NNR0lzWlUrZGpwQTdmWDN5NFhIeHRDTzczOHQxaDBs?= =?utf-8?B?V1pXaG1CY1BEenIwbHgyeVQ5dUUvSG9PSnJSKzNkd3Z2YUpJRGtCWGRsV0xY?= =?utf-8?B?blArc0hFKzZWVmF6NnJlNURTTFhhNE9TRjI2ZDJlejRBcUZlQktySzVSOUht?= =?utf-8?B?VFlSalFuR284Ny9uZnc5U05tZEt5dkhURXY4QTNIQjBnTzU1RUN4WUc1SXND?= =?utf-8?B?ZlAvUVIyZUFSd3VsVVNwUk0vT0VVZUVVRUgwK29tMkN2WExxTXRnL01hRDVI?= =?utf-8?B?alFjRVVMQlVZZzdaSHRmeUtiL0oxdnltT2pJY1VCSVZiTGFJK1RjWGJCZFh4?= =?utf-8?B?SVhPc2VncTNlNGl6VWJmUXR2bWttcFcwZG9TRFFCQjV2MkdZbnBHZm9ibWh4?= =?utf-8?B?SDBUWStSWU0wdnJEZ1JaYzRQQloyTVJQY0hOOFlYUnhxZUcwbjR1VUZCaGJi?= =?utf-8?B?RTM0d0RUVGNjM1VrMDNhWW8zVmt5OFJyRFc1WVMwQld1ZlpJbWNUcTZlTnNj?= =?utf-8?B?Nk43eDZ3WkYxY0h3OWY2ME9ESWcxZUdpV1Y5VGZJaFEwTjdyU2FUMXRIa3Qx?= =?utf-8?B?RWw2U0haTmNnOGE5ZmxFZlRnelg4UWFDaWhsMkVwank4UjZHWnZMN0JQeUpw?= =?utf-8?B?NkpSRGh6QitSaFgvNHBjdXRqTnpSdWtkaEszR0lrUEdsWFJYcGFMRVo2QnNM?= =?utf-8?B?YmJiaitoV01FMlF4V0lVY3U4dElId0VBRFJEMGx5MDhnNFdMQ05jZ1N1aTM0?= =?utf-8?B?TUphb1ArR241OUF1MWViZVJCSEo5MDBzemk5RkNQZHZpSTE2MUtjcXlzaXVF?= =?utf-8?B?Z0pEc2d0TmltT0Qyc0JoVXAvUVFwUndIdXU4bGV2Ym5vVEVjL1VQNlUzNEs1?= =?utf-8?B?YnV6enhNeVBCK09LQkZNcFBsRjdUUFJQeSthZFh3OFFGaTc3Uk1tcjZ4and5?= =?utf-8?B?RnQ3SjU4N0lrY240MVdnQWM4am1NenBSUFZqL2NDaHlwK0ZZYWV5TWw5cTVi?= =?utf-8?B?RVNOUGFCSTlXNnhjcXFkbnJ4THdmSDIwdGJrMkFJUnVGZStFNlIzaUlRWnd6?= =?utf-8?B?YWVJc1VSSkRsc3dYWi9DdEN6dXlpRmd3M0JOT1lmeXlLT2RHdkdURHc3VXJi?= =?utf-8?B?NlFrdFVrYktLNHQrcGMvRXVJT2NtNWpueWoweUZoQ1NxbnRwUUEzQUQ2aTFJ?= =?utf-8?B?K0w3N3haNDk0OTlZZWQwTjN5SEZrMGpDaW4zdnZRRW5OYW9UdC9CeFpueVBT?= =?utf-8?B?NGNhWi9TWUJ2L2RlOVRZZ1Z0ZDNnRFdzYzF1V2Fqb0pmdXF1V2lyS3VUZkZl?= =?utf-8?Q?DN8b5NHvRZmoLyR3azhMPLg=3D?= X-OriginatorOrg: suse.com X-MS-Exchange-CrossTenant-Network-Message-Id: 13411b8e-f3f3-456e-21fe-08d9f6b50d74 X-MS-Exchange-CrossTenant-AuthSource: VI1PR04MB5600.eurprd04.prod.outlook.com X-MS-Exchange-CrossTenant-AuthAs: Internal X-MS-Exchange-CrossTenant-OriginalArrivalTime: 23 Feb 2022 10:12:52.6113 (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: VE56K4lXdCdfzizju23qQECTxIbhQJS5VfR+hjTPpMn0eLm5fo1NVJrZRh4XkZ5g57rO1yNRquW1J6nm6Q6+oA== X-MS-Exchange-Transport-CrossTenantHeadersStamped: HE1PR04MB3004 X-ZohoMail-DKIM: pass (identity @suse.com) X-ZM-MESSAGEID: 1645611197044100001 Content-Type: text/plain; charset="utf-8" Complete what e3662437eb43 ("x86/cpuid: Disentangle logic for new feature leaves") has begun: "Switch to using FEATURESET_* just like the policy/featureset helpers. This breaks the cognitive complexity of needing to know which leaf a specifical= ly named feature should reside in, and is shorter to write. It is also far easier to identify as correct at a glance, given the correlation with the CPUID leaf being read." Signed-off-by: Jan Beulich Acked-by: Andrew Cooper --- a/xen/arch/x86/cpu/common.c +++ b/xen/arch/x86/cpu/common.c @@ -332,23 +332,22 @@ void __init early_cpu_init(void) cpuid(0x00000001, &eax, &ebx, &ecx, &edx); c->x86 =3D get_cpu_family(eax, &c->x86_model, &c->x86_mask); =20 - edx &=3D ~cleared_caps[cpufeat_word(X86_FEATURE_FPU)]; - ecx &=3D ~cleared_caps[cpufeat_word(X86_FEATURE_SSE3)]; + edx &=3D ~cleared_caps[FEATURESET_1d]; + ecx &=3D ~cleared_caps[FEATURESET_1c]; if (edx & cpufeat_mask(X86_FEATURE_CLFLUSH)) c->x86_cache_alignment =3D ((ebx >> 8) & 0xff) * 8; /* Leaf 0x1 capabilities filled in early for Xen. */ - c->x86_capability[cpufeat_word(X86_FEATURE_FPU)] =3D edx; - c->x86_capability[cpufeat_word(X86_FEATURE_SSE3)] =3D ecx; + c->x86_capability[FEATURESET_1d] =3D edx; + c->x86_capability[FEATURESET_1c] =3D ecx; =20 printk(XENLOG_INFO "CPU Vendor: %s, Family %u (%#x), Model %u (%#x), Stepping %u (raw= %08x)\n", x86_cpuid_vendor_to_str(c->x86_vendor), c->x86, c->x86, c->x86_model, c->x86_model, c->x86_mask, eax); =20 - if (c->cpuid_level >=3D 7) { - cpuid_count(7, 0, &eax, &ebx, &ecx, &edx); - c->x86_capability[cpufeat_word(X86_FEATURE_CET_SS)] =3D ecx; - } + if (c->cpuid_level >=3D 7) + cpuid_count(7, 0, &eax, &ebx, + &c->x86_capability[FEATURESET_7c0], &edx); =20 eax =3D cpuid_eax(0x80000000); if ((eax >> 16) =3D=3D 0x8000 && eax >=3D 0x80000008) { --- a/xen/arch/x86/efi/efi-boot.h +++ b/xen/arch/x86/efi/efi-boot.h @@ -685,11 +685,11 @@ static void __init efi_arch_cpu(void) =20 boot_tsc_stamp =3D rdtsc(); =20 - caps[cpufeat_word(X86_FEATURE_HYPERVISOR)] =3D cpuid_ecx(1); + caps[FEATURESET_1c] =3D cpuid_ecx(1); =20 if ( (eax >> 16) =3D=3D 0x8000 && eax > 0x80000000 ) { - caps[cpufeat_word(X86_FEATURE_SYSCALL)] =3D cpuid_edx(0x80000001); + caps[FEATURESET_e1d] =3D cpuid_edx(0x80000001); =20 if ( cpu_has_nx ) trampoline_efer |=3D EFER_NXE; --- a/xen/arch/x86/mpparse.c +++ b/xen/arch/x86/mpparse.c @@ -516,7 +516,7 @@ static inline void __init construct_defa (boot_cpu_data.x86_model << 4) | boot_cpu_data.x86_mask; processor.mpc_featureflag =3D - boot_cpu_data.x86_capability[cpufeat_word(X86_FEATURE_FPU)]; + boot_cpu_data.x86_capability[FEATURESET_1d]; processor.mpc_reserved[0] =3D 0; processor.mpc_reserved[1] =3D 0; for (i =3D 0; i < 2; i++) { --- a/xen/arch/x86/tsx.c +++ b/xen/arch/x86/tsx.c @@ -48,7 +48,7 @@ void tsx_init(void) bool has_rtm_always_abort; =20 if ( boot_cpu_data.cpuid_level >=3D 7 ) - boot_cpu_data.x86_capability[cpufeat_word(X86_FEATURE_ARCH_CAP= S)] + boot_cpu_data.x86_capability[FEATURESET_7d0] =3D cpuid_count_edx(7, 0); =20 if ( cpu_has_arch_caps ) From nobody Mon Feb 9 04:37:22 2026 Delivered-To: importer@patchew.org Received-SPF: pass (zohomail.com: domain of lists.xenproject.org designates 192.237.175.120 as permitted sender) client-ip=192.237.175.120; envelope-from=xen-devel-bounces@lists.xenproject.org; helo=lists.xenproject.org; Authentication-Results: mx.zohomail.com; dkim=pass; spf=pass (zohomail.com: domain of lists.xenproject.org designates 192.237.175.120 as permitted sender) smtp.mailfrom=xen-devel-bounces@lists.xenproject.org; arc=pass (i=1 dmarc=pass fromdomain=suse.com); dmarc=pass(p=quarantine dis=none) header.from=suse.com ARC-Seal: i=2; a=rsa-sha256; t=1645611256; cv=pass; d=zohomail.com; s=zohoarc; b=Y/UBKFp5xbAPTltCEdHCvOdPo/Ff/kmgDwS9hfXs1lT5E/+BkZSOsIZBaW0x9e09jtPF4FLkBPBQ9XHKLTrYp9YzXA8Ay5c3QZZnQQtZ2IyBeU9pAK0IsDR0PDmSEMOKPasYlpwbp3Z450r0xVCS9OFx+Kex+X4l46sZOpxJWVU= ARC-Message-Signature: i=2; a=rsa-sha256; c=relaxed/relaxed; d=zohomail.com; s=zohoarc; t=1645611256; h=Content-Type:Content-Transfer-Encoding:Cc:Date:From:In-Reply-To:List-Subscribe:List-Post:List-Id:List-Help:List-Unsubscribe:MIME-Version:Message-ID:References:Sender:Subject:To; bh=+vFchMkCIGjXqw4WIqVN7N88HXvbjRZMQ+krXE3zHAw=; b=mYpyPbc1ZgmkFWOrL3Bk/NO7Rz4D8vV9odqCbv4btIL3NSFsXbJfN0f5+MGxT4x2u+UtxP6pT4nw7i6Vo4SNQBbX2F1kKhnTQ0g2FnTv81j6aXG2aQWGOSnZuRfa/xOZhqrNoPLL3DK+zo1V3nzyDlVT7/sJZo6FUwdLeviP1no= ARC-Authentication-Results: i=2; mx.zohomail.com; dkim=pass; spf=pass (zohomail.com: domain of lists.xenproject.org designates 192.237.175.120 as permitted sender) smtp.mailfrom=xen-devel-bounces@lists.xenproject.org; arc=pass (i=1 dmarc=pass fromdomain=suse.com); dmarc=pass header.from= (p=quarantine dis=none) Return-Path: Received: from lists.xenproject.org (lists.xenproject.org [192.237.175.120]) by mx.zohomail.com with SMTPS id 1645611256288978.3900865560794; Wed, 23 Feb 2022 02:14:16 -0800 (PST) Received: from list by lists.xenproject.org with outflank-mailman.277274.473718 (Exim 4.92) (envelope-from ) id 1nMoeg-0006lO-3v; Wed, 23 Feb 2022 10:13:54 +0000 Received: by outflank-mailman (output) from mailman id 277274.473718; Wed, 23 Feb 2022 10:13:54 +0000 Received: from localhost ([127.0.0.1] helo=lists.xenproject.org) by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from ) id 1nMoeg-0006lG-0J; Wed, 23 Feb 2022 10:13:54 +0000 Received: by outflank-mailman (input) for mailman id 277274; Wed, 23 Feb 2022 10:13:52 +0000 Received: from se1-gles-sth1-in.inumbo.com ([159.253.27.254] helo=se1-gles-sth1.inumbo.com) by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from ) id 1nMoee-0006l4-Kv for xen-devel@lists.xenproject.org; Wed, 23 Feb 2022 10:13:52 +0000 Received: from de-smtp-delivery-102.mimecast.com (de-smtp-delivery-102.mimecast.com [194.104.111.102]) by se1-gles-sth1.inumbo.com (Halon) with ESMTPS id 4c64d1f8-9491-11ec-8eb8-a37418f5ba1a; Wed, 23 Feb 2022 11:13:51 +0100 (CET) Received: from EUR05-DB8-obe.outbound.protection.outlook.com (mail-db8eur05lp2104.outbound.protection.outlook.com [104.47.17.104]) by relay.mimecast.com with ESMTP with STARTTLS (version=TLSv1.2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id de-mta-4-GfFDp9XRNV6Kqbx2eU2lwQ-1; Wed, 23 Feb 2022 11:13:49 +0100 Received: from VI1PR04MB5600.eurprd04.prod.outlook.com (2603:10a6:803:e7::16) by AM6PR0402MB3944.eurprd04.prod.outlook.com (2603:10a6:209:1c::19) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.5017.21; Wed, 23 Feb 2022 10:13:48 +0000 Received: from VI1PR04MB5600.eurprd04.prod.outlook.com ([fe80::d479:b728:345c:bd65]) by VI1PR04MB5600.eurprd04.prod.outlook.com ([fe80::d479:b728:345c:bd65%6]) with mapi id 15.20.5017.022; Wed, 23 Feb 2022 10:13:48 +0000 X-Outflank-Mailman: Message body and most headers restored to incoming version 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: 4c64d1f8-9491-11ec-8eb8-a37418f5ba1a DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=suse.com; s=mimecast20200619; t=1645611231; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding: in-reply-to:in-reply-to:references:references; bh=+vFchMkCIGjXqw4WIqVN7N88HXvbjRZMQ+krXE3zHAw=; b=mxKNUioZZMy4wGx79AWeaVdO+aSaToomCZG1S8fZo/CjxXG48jiuW/G5aH04waDWg0OxPV /vQ/UVJy3nJIsfDNfbY5UeOHROLl/igTx3utqgXKEgleLFMZIQmFHrZxnWIrmoAse+jrdS lb1psGv3jqQbENQQrWt4PrtPsa/vquo= X-MC-Unique: GfFDp9XRNV6Kqbx2eU2lwQ-1 ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none; b=kcwFmDds1+ioIa1QmD5Xw2vg2viIfhaTzEEfFwDob+Ifz+l0vslujZidvsfL45p4LXYU5AsVnzvwwUs6NK8qL+8Koiw+dmE+AP5F1mmx18gDPAMaKdDOokbjoScHQoC9tLgylGLbilV0H7Ayw+B0yIw17INwCzFiplHgFOin9V7N3UEtRgmSNSAXRtFgyEVevVrxo/OuU+icjhTrrDxNuLuhzCE/9oeU9vS6001fQSdOg/cGYEAUZ03HdR4NfZo66KzUeT06mO4L9tc3g7YjiI8Cft5O22SptX5x+ORcdrxQs+ZB0efoDprIybz93fAcvfPI6Q+nkinj18Rtj3TYww== 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=+vFchMkCIGjXqw4WIqVN7N88HXvbjRZMQ+krXE3zHAw=; b=U4XIfWQ2IMccEo4G2R162NAsUrDVB2Lpd6Yr9W1Q9/7l3nx3VprLgjrbNZ7aFLfJZxrnrhGc1GSKrvIrz9JRhh+/B4o7Kxq9tGP+E0CffRIXUcpKWh5shhAR1PgaHPrh5HyC9AtjTgTfjwef2Nc4ouInqbBA64mGfhZkqzML/oo5BUIrRHoZIuSXeMZEuzMFaenS80SWaxPdFu5tNxta18majcczQGogqQZAMOw/3mIsxknoi2zngvjuRZ8iOblfwdUH7+52H2fFzIOZmm+9j+3TvzcGQxK/HuRKKsV26lS6ZLK/aJ8xa8wTGFInhWGAJS37Aox+IpW8uGkew4PCYw== 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 Authentication-Results: dkim=none (message not signed) header.d=none;dmarc=none action=none header.from=suse.com; Message-ID: <7026f7df-1f70-0018-a6eb-b7e043b279d8@suse.com> Date: Wed, 23 Feb 2022 11:13:46 +0100 User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:91.0) Gecko/20100101 Thunderbird/91.6.1 Subject: [PATCH 3/3] x86: correct fencing around CLFLUSH 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?= References: <91935ffd-a270-f1a1-28f1-645fa4167fcd@suse.com> In-Reply-To: <91935ffd-a270-f1a1-28f1-645fa4167fcd@suse.com> Content-Transfer-Encoding: quoted-printable X-ClientProxiedBy: AS9PR06CA0361.eurprd06.prod.outlook.com (2603:10a6:20b:460::13) To VI1PR04MB5600.eurprd04.prod.outlook.com (2603:10a6:803:e7::16) MIME-Version: 1.0 X-MS-PublicTrafficType: Email X-MS-Office365-Filtering-Correlation-Id: 80afe333-36c1-45b7-7170-08d9f6b52ea2 X-MS-TrafficTypeDiagnostic: AM6PR0402MB3944:EE_ X-Microsoft-Antispam-PRVS: X-MS-Exchange-SenderADCheck: 1 X-MS-Exchange-AntiSpam-Relay: 0 X-Microsoft-Antispam: BCL:0; X-Microsoft-Antispam-Message-Info: i3f0j+l1BXYm63Llx2q90YUDZKFvmc1FK0a2q96chVbmbkcVdJCbjkK0FhhxJRRIL5VnOkt4LETM0zMnRboZceFs1grngGIbZFSXz5Be/rNzZuXp7Docsv0OUxMpytysH26sFpfTGNqYKWyWzJjhAJk9aOocuHpNmvslj1mzeRmhvbrVNIibqIZ+LHcbFTSpaWq64TDIQr244R0pgsrvUjJiqfzbCQD2E/9Tvu82pvfaQjebepVgl/2l6KvbiTnMOfafmjlrYRdyrbaxsvh4H/gtM9+gzQbpkzg6EyUE/n6/U726o7fSnOmWG0mIpVazJM14GS+af2Z9Gy34cOQATgEqBQaSPM12dOOn6iBJ/dudepdLDC+UWM/eFMZK2qTjTuHEOoiE3efk7xXKcHdCkYd1TCOv2si8e7M725XYa+2z+rvMZ2NptCbnrFziMOtUDO6f+rcR5EBEEDR/gw3NpYGdf+vuktbjnB1aO4Jn0Px8a1NvDq4Ms2xi/zoT91nXNTdQrZ7UgmClw7y5rGedLwNZ53d7xMQA8sqBg0GoiUikjN8gT2VJ5wZ41emDCn7NVXeB/IuirsDrPLYgcdE4qrwn+1Bxx8dEbCeZWbVKbuOBol5OX6umSzdO/ndTldLpsq0p98AdipVwxE3i7HzjM8Ufi8Tot0IzJJftrrzkWM47g7nwefeUwvNe5zOsClxuAomE0vDDqW2o3mjh6EfKfEBtj2D+baz0PEsU/IA5LuTM54H7YjJ1LW9PFJqbo3rs X-Forefront-Antispam-Report: CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:VI1PR04MB5600.eurprd04.prod.outlook.com;PTR:;CAT:NONE;SFS:(13230001)(366004)(31696002)(86362001)(6916009)(2906002)(316002)(54906003)(8936002)(31686004)(26005)(186003)(2616005)(4326008)(6512007)(66556008)(6486002)(6506007)(66946007)(36756003)(508600001)(8676002)(38100700002)(5660300002)(66476007)(43740500002)(45980500001);DIR:OUT;SFP:1101; X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1 X-MS-Exchange-AntiSpam-MessageData-0: =?utf-8?B?MmJlTzZNTDRwSUQ4VVNzYkk3QU0vU1VkSjM0bWNFWDk5WUlZbHJZTGpDdXN3?= =?utf-8?B?R0FHTnNrZXJSSU90Q3E4eHllWEt1NlNiNmJ6c29BMEJXRWVWM3lPcFpUT1Jw?= =?utf-8?B?ZjRjTmFIM2MvZG9iZ2dyQTZ2Vk5YTXI2TUR5MlYyMFF5ZXltQnJqY0Fwb1dL?= =?utf-8?B?bjV1YzlwMXRZUnBmaVB0WjF6ZE5GRzJrdlBuV01VZEtrbzNmTHgxN2VVRy9E?= =?utf-8?B?SjlXa3JURTM1RS8rNHRGSWJvMTlNR3l1RzJtMU8ycUh0cENlcUZWQUd1ajU1?= =?utf-8?B?NUVxQ3RlM3IyMnpnd3ByeTZwNVY4blN2UG1hVmYvY0tGSUtuQlprNGd3dlhB?= =?utf-8?B?YVhSWHZQTjQzeHZDUzc5S3hpRFQ1Nm9HQzRsTlJoKzZneEMvRndlQ2tGVzRX?= =?utf-8?B?SzIxU3I5UXlBa1Fvc04zYzkxdlU1Z3hObEdqUkNTZHJXak5HWUJnVW5PeE1G?= =?utf-8?B?SkxiSTdrZzFCNG1VSGV5VTFnMnl1QnppdmMyVlR5b3Z2cnh0bkFVRmxMcXoy?= =?utf-8?B?WGE4bXNMTzNGcGtrbjB0SWNCMDV3OEsxcDhSTkphQ2xRNFFVNTFjQlgvMjM3?= =?utf-8?B?OVdSTVdkVy9hR2phOUFickpaRjV1Zkk4cVB6K203RWs1K21iOFkzQmJGSVZ3?= =?utf-8?B?ayt0Yit0bnhDeU0rNW8xczVOS0JKSHI0dTVnRnBud0xGT0lKSCtZRnJFL2pQ?= =?utf-8?B?OEZWTW1Gd2RqSkhYK2x4WUgvSTdXUFNaL2l4UVE3Um5iQVlxajUyajNQVks3?= =?utf-8?B?QlNFYTIyaWxDS21kRWlmK1hiT0JtUUVFbXgrU2MvcmFaamhKYjJMR3pWVXJu?= =?utf-8?B?OFR2V1dHVUkzTkVRZ1JtZlI2bE50UnE0UG5xWmlyaXp1YjFiRkRhWldiSnJz?= =?utf-8?B?aHdjLzJ6NS9wMC9nbmVzbHVURU1QQ1JEeUVvZ1FaVW5OMGlHWFBnRlVMNWJv?= =?utf-8?B?bzM2QUliVTJRbU05dEFKNFpCRTdQZTBaeXc2b1RNeHE0T3cyaUlrbnpXdENS?= =?utf-8?B?RVJ2dUhpYmhGb2d5SlgxQ3RNZzMxQnkxb3JlUjZuTm1CcjF5ZndTUlR3aGxL?= =?utf-8?B?OFlEZWQvVGxqOHNVZUM4cUZpYnNwYXZZTld4VnNENit6SE1qblljejRwN20x?= =?utf-8?B?NG5neFFtMkx5MDV5MitILysyU2N5SEhveGV2ekJGdmVsdFBmbTZWaDc2aC82?= =?utf-8?B?TE03N3pYWGsrMjVhNit1YlRneFgyWXNkcmthOGlpd0FBSFVxTkxDK0lpYmln?= =?utf-8?B?U0pKVXN6dnZWY1BiS0I3ZGlkdHNSdTc5OE1lUTdXaDNDSjExTHlVaXp6bVdt?= =?utf-8?B?T0VQcVV6Zm92VW5Rbkh6anpUTzYwbndBM2lnQ0tBUnloTXJzaWQvLzRZbmU1?= =?utf-8?B?TnNLUmxlYkJWTThiUWhjKzdHRkkxaHEybHQvRXVYS3l0WEFLQVpoakNuNEI5?= =?utf-8?B?NHNXQVloRk9aVkVsME9VSVF3K2E1b29Pbk5ucGdzdUdocHR6bEpGRGNPRHEx?= =?utf-8?B?TWhsanRPUU15L2EvRGRaM1M5NUlaYlNjRTh4UjVFMVNlc0NQaCtLc1BSWGZM?= =?utf-8?B?NDZ1VEVPcGtoVm0rc21Ia2JQN3REc2RQdU4xOTJqVm5vZ3gzOUpuakJvVFNR?= =?utf-8?B?a3dsQkxnbUo5MXRKcXMyWktXUnFXT1lKUmEwQmhiYitnOXBkcEJpUVRFaUxQ?= =?utf-8?B?MWprdjZtdTJYdHpKaHZaSnRoVUU5c2o2ckRCc3pHdDVsWDFUOHpPN3FNM05n?= =?utf-8?B?Vm1LWVdaVFFqWERHMjkvbzljS1N1dzRUTlNjUW9vc2Q3cDlaam9kNkNQUzJZ?= =?utf-8?B?eTJET3lKL1lMenZYTCtGWHpSR3Q3alpBdFVMdUVFbmZEUDZrWHh4R1BTZ2hN?= =?utf-8?B?V2EreHZXNm94bytVTW9iaVFFR1hYOHd6K2hlYmZObDV5Qm54Ym12dk1UYkFM?= =?utf-8?B?RXIzby90UnFkSDlnNmNTOHR0aVBINkxNOXNXTzBmaHI3bzRBWlhrdURmQ3Ni?= =?utf-8?B?dDZjRmtYZCtGWVhIYWhTY0FxZHdOYjlQRnZkTnczSUlHSHQ5Z0pzMnRHazZ1?= =?utf-8?B?NDZ2RkpISWVsaklaeWJjSW9jVTFOOEp4SEJvQ3J4amhKaDVhWmhWdmlyZHhx?= =?utf-8?B?YkZtbGJUOERSUzIwc1BLb2g4QmRiL3lObGlIWmJxUXV1bmg2QWZqNUVWYjBK?= =?utf-8?Q?No7Rmj+VGG7/7498iDZYbvM=3D?= X-OriginatorOrg: suse.com X-MS-Exchange-CrossTenant-Network-Message-Id: 80afe333-36c1-45b7-7170-08d9f6b52ea2 X-MS-Exchange-CrossTenant-AuthSource: VI1PR04MB5600.eurprd04.prod.outlook.com X-MS-Exchange-CrossTenant-AuthAs: Internal X-MS-Exchange-CrossTenant-OriginalArrivalTime: 23 Feb 2022 10:13:48.2953 (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: lCSPMnGN90FqVsojaQuh7oCjVREzxu6IoC6UjpwOSUf2mgf7r8W1bRUUPJRtjp+hTKA6MmlCICU4mVEReOPbwA== X-MS-Exchange-Transport-CrossTenantHeadersStamped: AM6PR0402MB3944 X-ZohoMail-DKIM: pass (identity @suse.com) X-ZM-MESSAGEID: 1645611257524100001 Content-Type: text/plain; charset="utf-8" As noted in the context of 3330013e6739 ("VT-d / x86: re-arrange cache syncing"): While cache_writeback() has the SFENCE on the correct side of CLFLUSHOPT, flush_area_local() doesn't. While I can't prove it due to lacking a copy of the old SDM version, I can only assume this placement was a result of what had been described there originally. In any event recent versions of the SDM hve been telling us otherwise. For AMD (and Hygon, albeit there it's benign, since all their CPUs are expected to support CLFLUSHOPT) the situation is more complex: MFENCE is needed ahead and/or after CLFLUSH when the CPU doesn't also support CLFLUSHOPT. (It's "and" in our case, as we cannot know what the caller's needs are.) Fixes: 623c720fc8da3 ("x86: use CLFLUSHOPT when available") Signed-off-by: Jan Beulich --- a/xen/arch/x86/cpu/common.c +++ b/xen/arch/x86/cpu/common.c @@ -346,9 +346,14 @@ void __init early_cpu_init(void) c->x86_model, c->x86_model, c->x86_mask, eax); =20 if (c->cpuid_level >=3D 7) - cpuid_count(7, 0, &eax, &ebx, + cpuid_count(7, 0, &eax, + &c->x86_capability[FEATURESET_7b0], &c->x86_capability[FEATURESET_7c0], &edx); =20 + if (!(c->x86_vendor & (X86_VENDOR_AMD | X86_VENDOR_HYGON)) || + cpu_has(c, X86_FEATURE_CLFLUSHOPT)) + setup_force_cpu_cap(X86_FEATURE_CLFLUSH_NO_MFENCE); + eax =3D cpuid_eax(0x80000000); if ((eax >> 16) =3D=3D 0x8000 && eax >=3D 0x80000008) { ebx =3D eax >=3D 0x8000001f ? cpuid_ebx(0x8000001f) : 0; --- a/xen/arch/x86/flushtlb.c +++ b/xen/arch/x86/flushtlb.c @@ -245,12 +245,15 @@ unsigned int flush_area_local(const void c->x86_clflush_size && c->x86_cache_size && sz && ((sz >> 10) < c->x86_cache_size) ) { - alternative("", "sfence", X86_FEATURE_CLFLUSHOPT); + alternative("mfence", , X86_FEATURE_CLFLUSH_NO_MFENCE); for ( i =3D 0; i < sz; i +=3D c->x86_clflush_size ) alternative_input("ds; clflush %0", "data16 clflush %0", /* clflushopt = */ X86_FEATURE_CLFLUSHOPT, "m" (((const char *)va)[i])); + alternative_2("mfence", + , X86_FEATURE_CLFLUSH_NO_MFENCE, + "sfence", X86_FEATURE_CLFLUSHOPT); flags &=3D ~FLUSH_CACHE; } else @@ -274,6 +277,8 @@ void cache_writeback(const void *addr, u unsigned int clflush_size =3D current_cpu_data.x86_clflush_size ?: 16; const void *end =3D addr + size; =20 + alternative("mfence", , X86_FEATURE_CLFLUSH_NO_MFENCE); + addr -=3D (unsigned long)addr & (clflush_size - 1); for ( ; addr < end; addr +=3D clflush_size ) { --- a/xen/arch/x86/include/asm/cpufeatures.h +++ b/xen/arch/x86/include/asm/cpufeatures.h @@ -24,7 +24,7 @@ XEN_CPUFEATURE(APERFMPERF, X86_SY XEN_CPUFEATURE(MFENCE_RDTSC, X86_SYNTH( 9)) /* MFENCE synchronizes RD= TSC */ XEN_CPUFEATURE(XEN_SMEP, X86_SYNTH(10)) /* SMEP gets used by Xen = itself */ XEN_CPUFEATURE(XEN_SMAP, X86_SYNTH(11)) /* SMAP gets used by Xen = itself */ -/* Bit 12 - unused. */ +XEN_CPUFEATURE(CLFLUSH_NO_MFENCE, X86_SYNTH(12)) /* No MFENCE needed to se= rialize CLFLUSH */ XEN_CPUFEATURE(IND_THUNK_LFENCE, X86_SYNTH(13)) /* Use IND_THUNK_LFENCE */ XEN_CPUFEATURE(IND_THUNK_JMP, X86_SYNTH(14)) /* Use IND_THUNK_JMP */ XEN_CPUFEATURE(SC_NO_BRANCH_HARDEN, X86_SYNTH(15)) /* (Disable) Conditiona= l branch hardening */