From nobody Mon Apr 29 15:55:44 2024 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=1639065220; cv=pass; d=zohomail.com; s=zohoarc; b=OESXd1Btrq/A4q48AlWB/sysJEYqgvl2xI7f4AV71TXvpu+nrF+jQeS9kzFvIgXJeMdW5f1JqID1Prs8hSpJkDGMI9rhl6pEZPQp/2FJkGjRIaaUxkINrvRKLagih68l8CTrOxWOrzJ8GNo/d+zeCxjaf/hbEMKo49vUxfBMywM= ARC-Message-Signature: i=2; a=rsa-sha256; c=relaxed/relaxed; d=zohomail.com; s=zohoarc; t=1639065220; 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=HpW65Eem6U7uyZ5bj6yJ4q2HfmHc5tpxlYyWf42MAXw=; b=OU8LXZs8brKjbK0viYFGW9/aDwDf4uDJ9wcyXyhPYGDQe5CHIFE5uYVGIaooeVQ5qj/qrO/bkO6UCLHRtNMheIJKIfMhF+vCHjANVJJd6rnNAi9dLa4z9lVpUEzUoQLILe1GehEBFIpbKVhVjcAjepk67pADdWEZI1ORz5RV+4Q= 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 1639065220214306.7174020651604; Thu, 9 Dec 2021 07:53:40 -0800 (PST) Received: from list by lists.xenproject.org with outflank-mailman.243151.420530 (Exim 4.92) (envelope-from ) id 1mvLjC-0000XY-Hi; Thu, 09 Dec 2021 15:53:02 +0000 Received: by outflank-mailman (output) from mailman id 243151.420530; Thu, 09 Dec 2021 15:53:02 +0000 Received: from localhost ([127.0.0.1] helo=lists.xenproject.org) by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from ) id 1mvLjC-0000XR-Du; Thu, 09 Dec 2021 15:53:02 +0000 Received: by outflank-mailman (input) for mailman id 243151; Thu, 09 Dec 2021 15:53:01 +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 1mvLjB-0000XI-BT for xen-devel@lists.xenproject.org; Thu, 09 Dec 2021 15:53:01 +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 15c171bc-5908-11ec-9d12-4777fae47e2b; Thu, 09 Dec 2021 16:53:00 +0100 (CET) Received: from EUR05-DB8-obe.outbound.protection.outlook.com (mail-db8eur05lp2110.outbound.protection.outlook.com [104.47.17.110]) by relay.mimecast.com with ESMTP with STARTTLS (version=TLSv1.2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id de-mta-16-sfbH4OMROmmXt1dQwJ7cWg-1; Thu, 09 Dec 2021 16:52:59 +0100 Received: from VI1PR04MB5600.eurprd04.prod.outlook.com (2603:10a6:803:e7::16) by VI1PR04MB6861.eurprd04.prod.outlook.com (2603:10a6:803:13c::9) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.4755.21; Thu, 9 Dec 2021 15:52:57 +0000 Received: from VI1PR04MB5600.eurprd04.prod.outlook.com ([fe80::5951:a489:1cf0:19fe]) by VI1PR04MB5600.eurprd04.prod.outlook.com ([fe80::5951:a489:1cf0:19fe%6]) with mapi id 15.20.4755.024; Thu, 9 Dec 2021 15:52:56 +0000 Received: from [10.156.60.236] (37.24.206.209) by AS8PR07CA0051.eurprd07.prod.outlook.com (2603:10a6:20b:459::10) with Microsoft SMTP Server (version=TLS1_2, cipher=) via Frontend Transport; Thu, 9 Dec 2021 15:52:56 +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: 15c171bc-5908-11ec-9d12-4777fae47e2b DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=suse.com; s=mimecast20200619; t=1639065180; 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=HpW65Eem6U7uyZ5bj6yJ4q2HfmHc5tpxlYyWf42MAXw=; b=e2y0O1cdSGBAVpaOijT+O59rRrdJaeLe/SOCxMKX4rjC4qJW5uUaxjQleUsdN5HIUpxoHH xbV6py2NHC+4HesHPU61ES9UKVUck45/Crijg6+uiZIL6xYcplZW+SuGY3fxCUw7f7j/pH Fqb+B3G5X6cgI17HUfXtf/Ijh7xdZiA= X-MC-Unique: sfbH4OMROmmXt1dQwJ7cWg-1 ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none; b=UVNKDARm9WsiHr5WnXqUQPjLdoqyM8Q0xA7ExBSibVNbDsbgvqZ3H5uGivHLxahCTHvsLp3R3mw9jodkY0yOqGpTbAAFBxqGGOnVZkqeVcNaxmwLI5icb0pe8gEAM+lSxm9tJyh5X64xTuPE8C1WcoxmQpKHvEk53oeWc5uxdRCQdx0YIw5EUhkoYAr74YzkXWYNLP1ZK5CGH7CZeaTgeRd9sUGfbDjZKexQw5ueIo0nNJjlkBoQiJCjqmVhgThdlNNGfEsK1wxNmAr+vJIVdPLtjGAZ3sK48hMgzSN+aeX7F+bW/PwpsEWp1EoeP2qltP7GcGR7kNpO9cHCaAwyWQ== 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=HpW65Eem6U7uyZ5bj6yJ4q2HfmHc5tpxlYyWf42MAXw=; b=EKJx1hQSwM2MnawdLhqPrADtHXvRLoDo16BIPU6ZPckV6MeHh4BvpfSB6GHwLcQbDOylUrVnzb9pWvuDqjMZGZZF+XuMwS66cHHHgvrJjOhMvT5gW3ha4qHhl1lGUX2MM6pBCoHXDJ9maJi6jGpq3x3KDdPP+wXc5I0yZJyel744qUS7XEqN5knH5b1EFVXP4XJF2nuyUHC3BywDdaAxE3tl0GVArFe1vLoVn19zjY67xudCiVYBVtbhRuVX0QBaY//4XaA4c+SRsgqW2JKVXdx0NaZj+2Ckk8comSBTxsBhDmaSNp4KjO7W7iW5E6ysYf7mqoA2I0v2IdFtgFdKjA== 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: Date: Thu, 9 Dec 2021 16:52:55 +0100 User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:91.0) Gecko/20100101 Thunderbird/91.3.2 Subject: [PATCH 1/3] VT-d: properly parenthesize a number of macros Content-Language: en-US From: Jan Beulich To: "xen-devel@lists.xenproject.org" Cc: Kevin Tian References: <5b1a5093-610d-f7d3-8d48-e843d86609da@suse.com> In-Reply-To: <5b1a5093-610d-f7d3-8d48-e843d86609da@suse.com> Content-Transfer-Encoding: quoted-printable X-ClientProxiedBy: AS8PR07CA0051.eurprd07.prod.outlook.com (2603:10a6:20b:459::10) 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: 346dbaf7-98f5-4989-0cbd-08d9bb2bf7f6 X-MS-TrafficTypeDiagnostic: VI1PR04MB6861:EE_ X-Microsoft-Antispam-PRVS: X-MS-Oob-TLC-OOBClassifiers: OLM:240; X-MS-Exchange-SenderADCheck: 1 X-MS-Exchange-AntiSpam-Relay: 0 X-Microsoft-Antispam: BCL:0; X-Microsoft-Antispam-Message-Info: 5fnNRPinLH7nEPnGFAN8UBC0+P6B4qFwWA3m51GVowa+Pf1OUAU6EnPyXB03Vdzbvg1orGsUvZjLGlAO3eODlvxqEqTGdhZ5qspsziMtaRT8y+pHq46nln3UKGipjkVwUiHlfH01zJefWwqtn+ixedlcikqgC9uVLYnw+pQfeRjzivzq3neUPhe+jzpCYiW2n5aCYEbhb36d4ZhCdUPwkHLX9ucrC+JLRY8EySOKlOleFZZ998GQcunE23nsZWiC7c7dHXucyTfOIClE3EmQ7FnfooZsutxxajUILdbwRWFqZaTUJhmeaJQTAZn1NOKI8knOir5bgFp5rvTck9dPnZ+q5+mpF+zmAAK80nLX1uIy1NC/MOH/4enu8tfyqAWMkn4kquMmCTrnR1hVeSMQbNu1K/3FF16p12+74uHM11O34sF7umghey0kA7cw9m5v5eMxmQtGF5Cbgif4S4T7wLnmeC18HKWXp7ycXc4jBUN7k5lRnug0z4f0UHoJDbH5LpTKsshHgRy3yKXuIMiXZ5W4tj+BBuZ5h3vizr9qETtt3cH5B+T9xYnFHIjj7rUhX4zc/Ym4CMCwOhyPTH+sW9Bl577pTWPH1k7jlZsYyyT6ygc0ODX478C1mmhNCUmE/Mjl+Kagx8p5gsnBL7CeDhFvR0PZdn1yI4ukOQGfmI0YGnIce/grQxo8sd7BcU+R7n22eGCRjOrHnYKUR8nyehrDeA74lyz90iwSqNqA7LKaGWxIr3cyukajImVPghzM 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:(366004)(66946007)(66476007)(4326008)(66556008)(8676002)(186003)(31686004)(31696002)(5660300002)(2616005)(16576012)(316002)(8936002)(38100700002)(956004)(36756003)(86362001)(2906002)(83380400001)(26005)(508600001)(6916009)(6486002)(45980500001)(43740500002);DIR:OUT;SFP:1101; X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1 X-MS-Exchange-AntiSpam-MessageData-0: =?utf-8?B?ektPMENMVXhicjJQYkZoS3dmb2MvcW85RGliNHVpYllwY3NmZGR3NUk1Nm1x?= =?utf-8?B?Y1pKUWlMZmVGejZ6OVVkUW5UZlRVcXczRWdMQmxvdnFtMi84Nzd1dWl1YTR1?= =?utf-8?B?aUVkbVlPbUFIU2pwUkNPc2VUV0ZLdjZGbkJzNC9rQ3ltY2hNNFl5MkF2V09Y?= =?utf-8?B?ZHowdlJmQ2ZWYUFSTjFjSjdwY2o0TzdOLzg5NjZuM0RQZFFFblBCV25wT0U5?= =?utf-8?B?RHV6SEFVWnV3dDJZQU1NN0drSmtidFE3UXR1NHZNOHlSNEFkbUp6YTgwRWZG?= =?utf-8?B?QnhsS1hPQnpuRVhnaER6NE95dWJkZG1lY3ZJZy84Sk5QUGxIbWI3U3JsRW1L?= =?utf-8?B?c3YvOTh4UmF4UFViSkR0N1JybGY2Smg0NEhNTjFlQVdxd3VVdGZNUnA0aE53?= =?utf-8?B?UWtsSS9BVGo2UXc4eTVETlpjWXg0bFVGM1g1K0JId1V3bG1VbHFwTWxYb2wz?= =?utf-8?B?RjVLV0lBa0V5QnMxcG9lczRRSEpweTJlUXlIYUg0VkVESVFEVit4V1hiRFQ5?= =?utf-8?B?azQ5ZVpjeUgwaTdpSE9zK3MwQUxvUERnM201U3JCUnUwYXhPK1RWZEN6d09B?= =?utf-8?B?bFZDbzlya0tGaU96aGNFbzNYRkVzWVFhK0U1QytIWE9mampXUGpCUXVTTkxa?= =?utf-8?B?bEFSSmpIc0psdTRFbFRraHlmSzdZM1AvTG5YZjhZVk16RTFaZFVna0NDUEh2?= =?utf-8?B?RTJoRVR1ZHVOc1RCZnI5OEUyN3ZNUmhhWHM0YklkOEJERUZlNC8rU2tuTW03?= =?utf-8?B?cDRVdDdCcFVLa2xXMkpHU2FoaWRtVkcydHB3TXBjY1FEZzE1RXFCVHB3Tkhy?= =?utf-8?B?WXdhSWxDb3BxSm5xWWs1SUt0ZlF3eGtXRXFHNGxpb3o1S0dZWHh0d3dpMzlK?= =?utf-8?B?WFYrY1RGTFNFZkdteGVhSVNLZkc3QXVWMlVLVlJoS1A0T3ZBRzczTlhKTEha?= =?utf-8?B?L3dwUnMvY3ZJa25KNTh1bnM1U0p3MS9kQUQ4N0FGeEx3dFNwT3VpZTZSdXY1?= =?utf-8?B?MGZxUDhUVU1JZG56QWZYSzAweFBCUjFqNkJjb0hobGVYdVYyUERsKzJOUS9B?= =?utf-8?B?dENoUWdzWDh6RDdhQUk4RDl5aVg5VDh5d1BpajdFNVBmc3czRFZsZUxVY3ZY?= =?utf-8?B?SFdqNGs1dzlldXJRYUdic25ia2Y3b1FVN2VXWHcwbnVWYzFkRkMzVmNobFBS?= =?utf-8?B?eXBPaWNUR3V4dTNMb0JLVm42TXBycFI0MVJvOXliZFBVSm12SUZSaVZzYkpT?= =?utf-8?B?VXNTcmNaQkQxbXNJSENEQytVbk5PYVZ4eW55R0hyVHNrend1OGVHVHVqYkt5?= =?utf-8?B?eEYxMkNLU3c2N3liOFpYYnp4M01TWjBmSXlFUjlpdTRsNUhkNjJFK3VxUUNp?= =?utf-8?B?NGJmK1QwVUdPeFVBN1pqMlRweGw3dnBHMlVieWZ6Sk1UQnhYb1JyYTNCV2Zs?= =?utf-8?B?aldMVUZKVldUR1BiRmhTQ3FuVWsrUWlQUTc3b3FodElIc2VuanBGSXErcmRX?= =?utf-8?B?L3I2YXNNTFlySnF0ZnN1dllydVpBaDA4aTAvRlBhTy8zTFNjNS85NDNnbU5L?= =?utf-8?B?cVM1RkhJMU1vbElFc29scUk5TEZhd2hGbVR3VUp5VXRmUktoeWxnRFZmSVdW?= =?utf-8?B?MHg3Q3BrRE1rMW5kVklWMGhQMlpjSnpGNUZwQ1AxWVhDWmxhK0dXQ085Z2Yr?= =?utf-8?B?aTFtalkvWE1zWlRjdUlNOTljZWgvc0dHL2RBMUtXNDhPdzNwak9valdBWTVT?= =?utf-8?B?UzF1emFKa3VSaEJUeGJnNWlocGY2UzVSRXJDWVVpUnl6U05ZZGNEUncxNElL?= =?utf-8?B?dnh0RDFwczVVcFlVSVZISmN5ZmlSb0I2TU04L29mdmo1SWo5V0FKb1BwUzBy?= =?utf-8?B?SVdlSDUrdmtsUmNNdmdob005YmhNZStCUmtZZE1ZWkxzWlhUV3luMVNWLytZ?= =?utf-8?B?MGFtUVY0alpYRndPWTBxWm9rSXd2cjBmeEFOOFVRMHdhdjl6OXVTRzkwbWNq?= =?utf-8?B?MG1Ca09zNU5JQ3NqaVpKa0RlcUUzVHlUb1VUVUpqRFRaREd1UmM4d1ZPWkc4?= =?utf-8?B?RkJsV1pPTjFlNHpzY2t6WlJxMUxrR25oUFluc1lzZThEUDg5ekpWS1IxQkJR?= =?utf-8?B?UjRYeFhMQWdlamczVkZJb1RXWEk5RktJMGRtU2J4c2J3TWZya3RVZ2prVDFT?= =?utf-8?Q?w+/nnOkpfxq36FeC0C9NMHw=3D?= X-OriginatorOrg: suse.com X-MS-Exchange-CrossTenant-Network-Message-Id: 346dbaf7-98f5-4989-0cbd-08d9bb2bf7f6 X-MS-Exchange-CrossTenant-AuthSource: VI1PR04MB5600.eurprd04.prod.outlook.com X-MS-Exchange-CrossTenant-AuthAs: Internal X-MS-Exchange-CrossTenant-OriginalArrivalTime: 09 Dec 2021 15:52:56.9280 (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: V1L2T13kwNqR4n8KQPyKqcJvSBIKOBc8bmVHQBHoiutiHvV95ezlJs55iMCOVYwSDlaiKLUYrn/c+gqvHgaxUg== X-MS-Exchange-Transport-CrossTenantHeadersStamped: VI1PR04MB6861 X-ZohoMail-DKIM: pass (identity @suse.com) X-ZM-MESSAGEID: 1639065222151100001 Content-Type: text/plain; charset="utf-8" Let's eliminate the risk of any of these macros getting used with more complex expressions as arguments. Where touching lines anyway, also - switch from u64 to uint64_t, - drop unnecessary parentheses, - drop pointless 0x prefixes. Signed-off-by: Jan Beulich --- a/xen/drivers/passthrough/vtd/iommu.h +++ b/xen/drivers/passthrough/vtd/iommu.h @@ -90,14 +90,14 @@ =20 #define ecap_niotlb_iunits(e) ((((e) >> 24) & 0xff) + 1) #define ecap_iotlb_offset(e) ((((e) >> 8) & 0x3ff) * 16) -#define ecap_coherent(e) ((e >> 0) & 0x1) -#define ecap_queued_inval(e) ((e >> 1) & 0x1) -#define ecap_dev_iotlb(e) ((e >> 2) & 0x1) -#define ecap_intr_remap(e) ((e >> 3) & 0x1) -#define ecap_eim(e) ((e >> 4) & 0x1) -#define ecap_cache_hints(e) ((e >> 5) & 0x1) -#define ecap_pass_thru(e) ((e >> 6) & 0x1) -#define ecap_snp_ctl(e) ((e >> 7) & 0x1) +#define ecap_coherent(e) (((e) >> 0) & 1) +#define ecap_queued_inval(e) (((e) >> 1) & 1) +#define ecap_dev_iotlb(e) (((e) >> 2) & 1) +#define ecap_intr_remap(e) (((e) >> 3) & 1) +#define ecap_eim(e) (((e) >> 4) & 1) +#define ecap_cache_hints(e) (((e) >> 5) & 1) +#define ecap_pass_thru(e) (((e) >> 6) & 1) +#define ecap_snp_ctl(e) (((e) >> 7) & 1) =20 /* IOTLB_REG */ #define DMA_TLB_FLUSH_GRANU_OFFSET 60 @@ -106,14 +106,14 @@ #define DMA_TLB_PSI_FLUSH (((u64)3) << 60) #define DMA_TLB_IIRG(x) (((x) >> 60) & 7)=20 #define DMA_TLB_IAIG(val) (((val) >> 57) & 7) -#define DMA_TLB_DID(x) (((u64)(x & 0xffff)) << 32) +#define DMA_TLB_DID(x) (((uint64_t)((x) & 0xffff)) << 32) =20 #define DMA_TLB_READ_DRAIN (((u64)1) << 49) #define DMA_TLB_WRITE_DRAIN (((u64)1) << 48) #define DMA_TLB_IVT (((u64)1) << 63) =20 -#define DMA_TLB_IVA_ADDR(x) ((((u64)x) >> 12) << 12) -#define DMA_TLB_IVA_HINT(x) ((((u64)x) & 1) << 6) +#define DMA_TLB_IVA_ADDR(x) (((uint64_t)(x) >> 12) << 12) +#define DMA_TLB_IVA_HINT(x) (((uint64_t)(x) & 1) << 6) =20 /* GCMD_REG */ #define DMA_GCMD_TE (1u << 31) @@ -144,11 +144,11 @@ /* CCMD_REG */ #define DMA_CCMD_INVL_GRANU_OFFSET 61 #define DMA_CCMD_ICC (((u64)1) << 63) -#define DMA_CCMD_GLOBAL_INVL (((u64)1) << 61) -#define DMA_CCMD_DOMAIN_INVL (((u64)2) << 61) -#define DMA_CCMD_DEVICE_INVL (((u64)3) << 61) +#define DMA_CCMD_GLOBAL_INVL ((uint64_t)1 << DMA_CCMD_INVL_GRANU_OFFSET) +#define DMA_CCMD_DOMAIN_INVL ((uint64_t)2 << DMA_CCMD_INVL_GRANU_OFFSET) +#define DMA_CCMD_DEVICE_INVL ((uint64_t)3 << DMA_CCMD_INVL_GRANU_OFFSET) +#define DMA_CCMD_CIRG(x) (((uint64_t)3 << DMA_CCMD_INVL_GRANU_OFFSET) & (x= )) #define DMA_CCMD_FM(m) (((u64)((m) & 0x3)) << 32) -#define DMA_CCMD_CIRG(x) ((((u64)3) << 61) & x) #define DMA_CCMD_MASK_NOBIT 0 #define DMA_CCMD_MASK_1BIT 1 #define DMA_CCMD_MASK_2BIT 2 @@ -156,7 +156,7 @@ #define DMA_CCMD_SID(s) (((u64)((s) & 0xffff)) << 16) #define DMA_CCMD_DID(d) ((u64)((d) & 0xffff)) =20 -#define DMA_CCMD_CAIG_MASK(x) (((u64)x) & ((u64) 0x3 << 59)) +#define DMA_CCMD_CAIG_MASK(x) ((uint64_t)(x) & ((uint64_t)3 << 59)) =20 /* FECTL_REG */ #define DMA_FECTL_IM (1u << 31) @@ -175,10 +175,10 @@ =20 /* FRCD_REG, 32 bits access */ #define DMA_FRCD_F (1u << 31) -#define dma_frcd_type(d) ((d >> 30) & 1) -#define dma_frcd_fault_reason(c) (c & 0xff) -#define dma_frcd_source_id(c) (c & 0xffff) -#define dma_frcd_page_addr(d) (d & (((u64)-1) << 12)) /* low 64 bit */ +#define dma_frcd_type(d) (((d) >> 30) & 1) +#define dma_frcd_fault_reason(c) ((c) & 0xff) +#define dma_frcd_source_id(c) ((c) & 0xffff) +#define dma_frcd_page_addr(d) ((d) & ((uint64_t)-1 << 12)) /* low 64 bit */ =20 /* * 0: Present @@ -233,16 +233,16 @@ struct context_entry { #define PTE_NUM (1 << LEVEL_STRIDE) #define level_to_agaw(val) ((val) - 2) #define agaw_to_level(val) ((val) + 2) -#define agaw_to_width(val) (30 + val * LEVEL_STRIDE) -#define width_to_agaw(w) ((w - 30)/LEVEL_STRIDE) -#define level_to_offset_bits(l) (12 + (l - 1) * LEVEL_STRIDE) +#define agaw_to_width(val) (30 + (val) * LEVEL_STRIDE) +#define width_to_agaw(w) (((w) - 30)/LEVEL_STRIDE) +#define level_to_offset_bits(l) (12 + ((l) - 1) * LEVEL_STRIDE) #define address_level_offset(addr, level) \ - ((addr >> level_to_offset_bits(level)) & LEVEL_MASK) + (((addr) >> level_to_offset_bits(level)) & LEVEL_MASK) #define offset_level_address(offset, level) \ ((u64)(offset) << level_to_offset_bits(level)) #define level_mask(l) (((u64)(-1)) << level_to_offset_bits(l)) #define level_size(l) (1 << level_to_offset_bits(l)) -#define align_to_level(addr, l) ((addr + level_size(l) - 1) & level_mask(l= )) +#define align_to_level(addr, l) (((addr) + level_size(l) - 1) & level_mask= (l)) =20 /* * 0: readable From nobody Mon Apr 29 15:55:44 2024 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=1639065235; cv=pass; d=zohomail.com; s=zohoarc; b=aTNPKthAr0WOyCU9XF/8jDb8qYQjvZRw2Wp0NAc7fX+AkoX9oHLM5GbIU1WAf2UgLL4UPKhHg2873QAdy3z9sXV584j7hwae6JqIGzm9gwZDm6Nr+KLuaGymNRYX/aJmRO+mgO86sIOWKTsdeDF33IRMatJsYzUL+jvyz+hcmnA= ARC-Message-Signature: i=2; a=rsa-sha256; c=relaxed/relaxed; d=zohomail.com; s=zohoarc; t=1639065235; 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=X1JkCI513jhv/rTO/fuBWeH3kMDCynbS33Cs/DQtrM8=; b=ddJysaACpc72kchBG+G7hPvoL5UmHd+BChDswzQMu8AnSyMu/wVk5j/V2Sd+2eqqcoRiisTMKhpPdo9DBeyaIaxAvPnb6rSThxtVkQZohXUwYHA1t3KgmGiKAbsuryvCRB1uUte8KPclpTGSba1U6+UdUaixpBo2hz7/TX2k0z4= 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 1639065235676364.81747169794744; Thu, 9 Dec 2021 07:53:55 -0800 (PST) Received: from list by lists.xenproject.org with outflank-mailman.243154.420541 (Exim 4.92) (envelope-from ) id 1mvLjW-000123-QV; Thu, 09 Dec 2021 15:53:22 +0000 Received: by outflank-mailman (output) from mailman id 243154.420541; Thu, 09 Dec 2021 15:53:22 +0000 Received: from localhost ([127.0.0.1] helo=lists.xenproject.org) by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from ) id 1mvLjW-00011w-Mm; Thu, 09 Dec 2021 15:53:22 +0000 Received: by outflank-mailman (input) for mailman id 243154; Thu, 09 Dec 2021 15:53:21 +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 1mvLjV-0000wM-Es for xen-devel@lists.xenproject.org; Thu, 09 Dec 2021 15:53:21 +0000 Received: from de-smtp-delivery-102.mimecast.com (de-smtp-delivery-102.mimecast.com [194.104.111.102]) by se1-gles-flk1.inumbo.com (Halon) with ESMTPS id 21c37606-5908-11ec-a831-37629979565c; Thu, 09 Dec 2021 16:53:20 +0100 (CET) Received: from EUR03-DB5-obe.outbound.protection.outlook.com (mail-db5eur03lp2052.outbound.protection.outlook.com [104.47.10.52]) by relay.mimecast.com with ESMTP with STARTTLS (version=TLSv1.2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id de-mta-24-IrzcLQ9iN062o6QvFlXcGQ-1; Thu, 09 Dec 2021 16:53:19 +0100 Received: from VI1PR04MB5600.eurprd04.prod.outlook.com (2603:10a6:803:e7::16) by VI1PR04MB6861.eurprd04.prod.outlook.com (2603:10a6:803:13c::9) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.4755.21; Thu, 9 Dec 2021 15:53:18 +0000 Received: from VI1PR04MB5600.eurprd04.prod.outlook.com ([fe80::5951:a489:1cf0:19fe]) by VI1PR04MB5600.eurprd04.prod.outlook.com ([fe80::5951:a489:1cf0:19fe%6]) with mapi id 15.20.4755.024; Thu, 9 Dec 2021 15:53:18 +0000 Received: from [10.156.60.236] (37.24.206.209) by AS8PR07CA0053.eurprd07.prod.outlook.com (2603:10a6:20b:459::20) with Microsoft SMTP Server (version=TLS1_2, cipher=) via Frontend Transport; Thu, 9 Dec 2021 15:53:17 +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: 21c37606-5908-11ec-a831-37629979565c DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=suse.com; s=mimecast20200619; t=1639065200; 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=X1JkCI513jhv/rTO/fuBWeH3kMDCynbS33Cs/DQtrM8=; b=SymmC0ViDqsjig9dp2Pgoi5Z1CAfFUig8e8amPEIBBIdS9uuFfyaNffP2MueCcZhlytAlv PSSUwrfbr60+CnNorbLB+WJWdrpdEEkALTFMPhGAUUjzGQrmw6qAwN6NjxWbBapWe1TUeI KOOQKcO5sqtsmbpd8iZExJPmjHWro48= X-MC-Unique: IrzcLQ9iN062o6QvFlXcGQ-1 ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none; b=YWZzrmcNsalZKJXAQYMPwSCJZ5CiYj6OPnXG7BJNZrEnMQI6jDUlk8Qb2sGdMPEyNUagJ31HBORHFpwhmSA8jCl2AhApULIWUSkxTckkAnM08uqRIeK4GmKnNi8Eos0hC/IURNDBt8aAKsply2xqMCYqwesSMIZATNkl1S7ExaqyuHe/UvMJz8NNu+bZewOcSeHY0hsbzZps7vrCVTMcz7q9P5/K1p9wtANXxeUDjmI1ZW3Wz/vKzy3/nySQByCxURbms4lfiN7sppe3yh2yu5wCD6KaK0iSH2kT8QBD+98kqxY2I0jN7dhXg6EEwOtG3dpsvgyhgvHukrulxaX91g== 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=X1JkCI513jhv/rTO/fuBWeH3kMDCynbS33Cs/DQtrM8=; b=Ip81rRYkgEQNytOYoSTWbR9k+baOfpAT4TFahxt6OgUguOwmdWwfMMTs8ImRxl7iSlT5ddOPP4wctnC25WPuIEYoTbq3nctw5V64PGZ60lO35ErKZZ/cCLpnzs/0ztO9oFcGAHLIDaWYYw4oUtJvXNmXe7OcYKh/HD3kaJS7UnWX+YtZG8QX33Uh+hYakRyrMsJDiGaGfO+EAEfyJZyVnzVLzzp7xfKGfQt+FjSeXrZcI4dS/0SslAxNAN3oAJ2Tf6fB2m9+wAo7wD0OWHs2qcTNkf1dvD/e48NGwtxBr9Vw1a52ts4pq+HFoubcR2BeKHcXCmKa+F5P6mhwNH6B+w== 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: <6d8407de-7941-00b7-7607-3b9bf8c5513f@suse.com> Date: Thu, 9 Dec 2021 16:53:17 +0100 User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:91.0) Gecko/20100101 Thunderbird/91.3.2 Subject: [PATCH 2/3] VT-d: use DMA_TLB_IVA_ADDR() Content-Language: en-US From: Jan Beulich To: "xen-devel@lists.xenproject.org" Cc: Kevin Tian References: <5b1a5093-610d-f7d3-8d48-e843d86609da@suse.com> In-Reply-To: <5b1a5093-610d-f7d3-8d48-e843d86609da@suse.com> Content-Transfer-Encoding: quoted-printable X-ClientProxiedBy: AS8PR07CA0053.eurprd07.prod.outlook.com (2603:10a6:20b:459::20) 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: 85a771a7-f2ec-4f09-5a71-08d9bb2c04a4 X-MS-TrafficTypeDiagnostic: VI1PR04MB6861:EE_ X-Microsoft-Antispam-PRVS: X-MS-Oob-TLC-OOBClassifiers: OLM:7219; X-MS-Exchange-SenderADCheck: 1 X-MS-Exchange-AntiSpam-Relay: 0 X-Microsoft-Antispam: BCL:0; X-Microsoft-Antispam-Message-Info: p1H9hjtdr4asnuaXnnAAowK4cp9J5YTyhyeOjjQlNTGDJY+VDlvtQy4Rb17o0rTjqJ+wGlOCWbrsrACoaCrc13U2wXWmBqy0Tm8IgURa2iHVYEtYIU5D8Nqd9/4fZTM/j7A6Gqzqn1Nujr6uIP8iBFAoJoRrpBMlnQXRJtbDRpg/38KnAaG3H5rv5cF3B1NNIjTKVvcXIlmRZPakS7D6jFvlyAbB7sDJ5QzQgSRaeW68bepwnAwl9bPCery7/PxSOq5AAanZ5iPV8y0gBXJ4VZA2qwvowFYs37bqJ7crmq2ueQxquuaJKSGFFy79bgM3K089LiQnqqwDsWrUyjFEXW7yMTLTsU9jVt1T1FXeNezeGop9DLiM4iISCFThLXUm0myFW5shzbZYaQdbgwUrKf2x8oz2ReA3ZcFsMIw0ApIFnpvP/x3GXWXrLlKi/VFcSdvVX+Q068GsNZWdKvpANCFFemC94kaTM6hUTLtszSFWEY9aRMNZD04SBUQ0hYuk5uV7IxWI01AOiOP0wuyDCzGnOQsKkai+KW7DBoneO3YoAwZff0Me5LoQrVyUt/PcWfQZxoSPJBjijutN6LhT8miUnqfLkDbiukF6dlFe367c4ABr6IhMLUDUhLS6xizAbiaF5lNkfYdIGYTlz2RORS+3KUYnNqgi32vAgLesTrQabZL0VOxeVhicyaIzX5Aj5D4kq6RTefgXiBmPI19Xi8Aw2F5R74FRjnyCaPf1eldRktndwiMOmOxPhsZ9y+mm 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:(366004)(66946007)(66476007)(4326008)(66556008)(8676002)(186003)(31686004)(31696002)(5660300002)(2616005)(16576012)(316002)(8936002)(38100700002)(956004)(36756003)(86362001)(2906002)(83380400001)(26005)(508600001)(6916009)(6486002)(45980500001)(43740500002);DIR:OUT;SFP:1101; X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1 X-MS-Exchange-AntiSpam-MessageData-0: =?utf-8?B?UkZLRlNhTXJLUCtEdlNZUThlZUlvQ0c5eGFPQkhreG1neDN4WlFLWE1XOXJh?= =?utf-8?B?TEVJWlMvSGsvalE3V2xDZ1BVcFhuem9PM0pvY2ZWZ0QzcXNUay9HZlpFdkFo?= =?utf-8?B?VUJSS0ovSTN2cCtjZkorTUNXajJBMUJLMmM1V2lmbncwKzdjSlBudFNnM0F1?= =?utf-8?B?WU9tTTBybG02NDRtMzE2NHcwR2ZlUjBtZFZrMHBKaFRQR1Q5MWRySHluWDEz?= =?utf-8?B?bU5CZEJxTmZITlpFbjc0MXVhRjRwUGh1MjF0RzBqMWs4NTlkZmFoQWxMQ2tB?= =?utf-8?B?NHNsWUxnMzEyY1ozbFoyL25YUXR2OWI5WnpILyszdGo5dTV6czlhSkNuRW5Y?= =?utf-8?B?akdZOEZtRzJLZ0V2Y1FFaUdhU0JtWFZNSEcrd1NjS3lrcnBJYnh1REk1NjNM?= =?utf-8?B?UTRIU3JNSWw2S0lkWm9Vc2FnaTJLdTQ1TzM5bkh0eGMrQXNnSWRuSGJoalBE?= =?utf-8?B?d1cwc0VxbVZjQmVTSS9NT0xpK3JaMldhUkppQ0ZReUt3U1Nib1hiY1ZMU1RS?= =?utf-8?B?dWdXZDNBWHVZb21VeHlUQ3k5bklvMVlMN0JIbG5LaVJ0TWw2K1dXLzlYd0pr?= =?utf-8?B?VzRBaVlMdU1EWnhrajZQSzlqWkVGYmN1OFFrZmwzOE9VZk1zQlJYSDFFTElp?= =?utf-8?B?SWc5UVRqOEt1TUtQbjM4bXhhUWgwOGdBbHExR0hqS0RENmRmak1Zdm85Ykww?= =?utf-8?B?T1FpcjdXNVVQMFpYVWtCaEZzUWxwKzQ5YW56Qmc1Y1kzRS9BbnV6ci9KeWcz?= =?utf-8?B?MmNqTkNzZWRkUFNRRFNhSUYyQUxvL042dThNUlQwdGg4cUEwM3RWaXlyWUlz?= =?utf-8?B?Q2lFN3ZLN2ZZVDRBWGJDTnNhV01QUDY4L0Q4UlN2OHI1eTdEYm5BT21PSDhY?= =?utf-8?B?aTREL0hQVkFCNDBpcUJWMHdScjMzOEN2UEgvbTUzalBmdXFyUGtRbXIvRk1Y?= =?utf-8?B?VXBPZnQ0WHRVN200aFAwQzdvc0hNNWUzKzUwUjAyRm80RHRMYURNZW5ycVN4?= =?utf-8?B?L0h0alNQdzBCWVg2T3Avci9Fb3lJR3R4bm9yQ1ZITGZDbG9EOEc0aEdxUEd1?= =?utf-8?B?S1EvQlJoMlMyWmVHa3dVK0tzYzVwb3Y4bTFXVXBlb3hnYkZqWTlwUUZtZ3RZ?= =?utf-8?B?OWgxclBmSFpVaE1BN1BCWWZqSkY2WCtKM3dXK3Jnci9ObmY4T2JMQVVHRDVk?= =?utf-8?B?MU5hTnRwUW8xWXlhanpFSlR6U3hROGdiNjJoQUpmOGZTbmdrR1RjUkkxSFJE?= =?utf-8?B?bGxoVm5GTHRZUDkxM1FRcnY2b0xqcXpJS1hDWkxqZGdlb0NINTFKdDhBSDVF?= =?utf-8?B?SE5xQjRHSWQ0ZFpUM1U2N0F3cHBqZStGeUlOZE91SzVDdjBVTnc4ZVY5NW9k?= =?utf-8?B?TDE5SldhdThzU0xpMFhxRmJtSHFTcGMwT3YybWhFMWExRHJvdTNTMkx4T0Vo?= =?utf-8?B?RWxqVGVMcGNvRDFaS1FadFNNclJaRmFxM1U2c1UrS1VYb2x6cFo4ZW1kK0x6?= =?utf-8?B?OTNFcFZZY0h0NDQwMGIyU1pWUGRoYldnOGg5bE9pUkhwaUdycmw2eUJSNGc5?= =?utf-8?B?L2x2dlBKY2dBRTdzNzFYTzV2cmxSSk85UHdGWmlPbGVhR2Nzdy8xL0pscGJB?= =?utf-8?B?Q01wLzc4dmhaSkdDdVJhZG1zOEhFak9PQ2QzN1lianVLeTM0Q0dkd3FJRUJk?= =?utf-8?B?VDV2Z0NjeFJjQWV3NjdjLzl5OXB4Tk5SMyt1NE5pTnZoajJpek5meTBWRklN?= =?utf-8?B?UW05RE9oWmdreVN3Yi9yajlwUjkzcEV5MEIyQ1B3VmpIdDdPK09Td1ZQZVhP?= =?utf-8?B?STJaQWI3S3FxTUM1WVg5R3pxS1R2Zk5SaXBadldtQ3lVTVVuRUI1RFg0SXVX?= =?utf-8?B?OVZEVkRHVjdhaUdoeTdlS1IrQXVQRkVOWWlnZnBtRlp6K1hUVWxaTVVNM0dq?= =?utf-8?B?N2kzZ2gzT1kzSzR3RFRCS00wR0NSaEY5WXpoN2pHbjFPOTJlSlQ5elNtK0to?= =?utf-8?B?UStWUkdUYW40QkZudkE0MlhBMkRwUklVU0N2MmFWUHV5aHo5NnFTWjdla2Qr?= =?utf-8?B?UU9UZW5zbWZKdjlRaFR6cEp4bzljWkNYQ1RzV1BWNG1iZ050ckJMMjRuamov?= =?utf-8?B?eWpIQnlxZGhpWGszbFpaVWpNTkRpYzBzd1FUTExlRU1ZQmZzeUE2Wlk2TmUw?= =?utf-8?Q?A25OKvgmVYHeXaY6OEIxHyE=3D?= X-OriginatorOrg: suse.com X-MS-Exchange-CrossTenant-Network-Message-Id: 85a771a7-f2ec-4f09-5a71-08d9bb2c04a4 X-MS-Exchange-CrossTenant-AuthSource: VI1PR04MB5600.eurprd04.prod.outlook.com X-MS-Exchange-CrossTenant-AuthAs: Internal X-MS-Exchange-CrossTenant-OriginalArrivalTime: 09 Dec 2021 15:53:18.1820 (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: Jrfsm0NeILWuhK7GUzSRX/uNws7Rf5d7WiowxNyhRA2yWODMThHxQP5cwG4eI6s/bJAnpmWqXFL8PxfEcVvyOQ== X-MS-Exchange-Transport-CrossTenantHeadersStamped: VI1PR04MB6861 X-ZohoMail-DKIM: pass (identity @suse.com) X-ZM-MESSAGEID: 1639065236916100001 Content-Type: text/plain; charset="utf-8" Let's use the macro in the one place it's supposed to be used, and in favor of then unnecessary manipulations of the address in iommu_flush_iotlb_psi(): All leaf functions then already deal correctly with the supplied address. There also has never been a need to require (i.e. assert for) the passing in of 4k-aligned addresses - it'll always be the order-sized range containing the address which gets flushed. Signed-off-by: Jan Beulich --- a/xen/drivers/passthrough/vtd/iommu.c +++ b/xen/drivers/passthrough/vtd/iommu.c @@ -546,7 +546,8 @@ int vtd_flush_iotlb_reg(struct vtd_iommu if ( type =3D=3D DMA_TLB_PSI_FLUSH ) { /* Note: always flush non-leaf currently. */ - dmar_writeq(iommu->reg, tlb_offset, size_order | addr); + dmar_writeq(iommu->reg, tlb_offset, + size_order | DMA_TLB_IVA_ADDR(addr)); } dmar_writeq(iommu->reg, tlb_offset + 8, val); =20 @@ -606,8 +607,6 @@ static int __must_check iommu_flush_iotl { int status; =20 - ASSERT(!(addr & (~PAGE_MASK_4K))); - /* Fallback to domain selective flush if no PSI support */ if ( !cap_pgsel_inv(iommu->cap) ) return iommu_flush_iotlb_dsi(iommu, did, flush_non_present_entry, @@ -618,9 +617,6 @@ static int __must_check iommu_flush_iotl return iommu_flush_iotlb_dsi(iommu, did, flush_non_present_entry, flush_dev_iotlb); =20 - addr >>=3D PAGE_SHIFT_4K + order; - addr <<=3D PAGE_SHIFT_4K + order; - /* apply platform specific errata workarounds */ vtd_ops_preamble_quirk(iommu); =20 From nobody Mon Apr 29 15:55:44 2024 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=1639065252; cv=pass; d=zohomail.com; s=zohoarc; b=BXubNFOKnGgDj1KQyh+Fj1cSpzvxymHXmxFMGHroVyS+FxTJmJbgr8PPnEkbrhXdkv0zGFrY/SfB+sEN6tRtZbMW3JHgDGQLE1QQArB0zuFf2U7EGNxuVQ9MF30t+l9FvdsUQJFikECpRT4NzEltA88BcWtR7AURSZyFl4Yysg0= ARC-Message-Signature: i=2; a=rsa-sha256; c=relaxed/relaxed; d=zohomail.com; s=zohoarc; t=1639065252; 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=8gDGJGQ3q/kpTI39nNO6K9uOCAOBK2KpkmRZMpGfFgk=; b=TJ4U/LfK4M0A9Nw0SBCLFIzjKbveSD/sPDKzwJkdtqIJKO8tpFUkwmlgprWk1EjXY/LKbzxwpMP3ZJZwRWGcoc3op0gH2RZ2uoLA5QRPjSpZV2Q4fzaXfpa1/V88wARrZAHyeUsfkdmVk8Au6g0RpZ44PcZnajriSxty4KCi43g= 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 1639065252899107.74940794026509; Thu, 9 Dec 2021 07:54:12 -0800 (PST) Received: from list by lists.xenproject.org with outflank-mailman.243161.420552 (Exim 4.92) (envelope-from ) id 1mvLk0-0001fp-7u; Thu, 09 Dec 2021 15:53:52 +0000 Received: by outflank-mailman (output) from mailman id 243161.420552; Thu, 09 Dec 2021 15:53:52 +0000 Received: from localhost ([127.0.0.1] helo=lists.xenproject.org) by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from ) id 1mvLk0-0001fi-4l; Thu, 09 Dec 2021 15:53:52 +0000 Received: by outflank-mailman (input) for mailman id 243161; Thu, 09 Dec 2021 15:53:51 +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 1mvLjy-0000XI-QF for xen-devel@lists.xenproject.org; Thu, 09 Dec 2021 15:53:51 +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 336dd862-5908-11ec-9d12-4777fae47e2b; Thu, 09 Dec 2021 16:53:50 +0100 (CET) Received: from EUR03-DB5-obe.outbound.protection.outlook.com (mail-db5eur03lp2056.outbound.protection.outlook.com [104.47.10.56]) by relay.mimecast.com with ESMTP with STARTTLS (version=TLSv1.2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id de-mta-12-BB98DskpMUW7IVCK5smIrQ-1; Thu, 09 Dec 2021 16:53:48 +0100 Received: from VI1PR04MB5600.eurprd04.prod.outlook.com (2603:10a6:803:e7::16) by VI1PR04MB6861.eurprd04.prod.outlook.com (2603:10a6:803:13c::9) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.4755.21; Thu, 9 Dec 2021 15:53:48 +0000 Received: from VI1PR04MB5600.eurprd04.prod.outlook.com ([fe80::5951:a489:1cf0:19fe]) by VI1PR04MB5600.eurprd04.prod.outlook.com ([fe80::5951:a489:1cf0:19fe%6]) with mapi id 15.20.4755.024; Thu, 9 Dec 2021 15:53:47 +0000 Received: from [10.156.60.236] (37.24.206.209) by AM5PR04CA0036.eurprd04.prod.outlook.com (2603:10a6:206:1::49) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.4755.24 via Frontend Transport; Thu, 9 Dec 2021 15:53:47 +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: 336dd862-5908-11ec-9d12-4777fae47e2b DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=suse.com; s=mimecast20200619; t=1639065229; 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=8gDGJGQ3q/kpTI39nNO6K9uOCAOBK2KpkmRZMpGfFgk=; b=dTNl99rnJ9Ryi5rDZrwcwHHBNBCnWFr6IwhJhVbdUVVzacxS1broKmJFBFMNRmIhXrfn5E AeXs78FdwQegLtULE6YUCLEHZolaSWmXzh8jLUrIxhc/Wm2stVIwGwSeexVmMdzDIwy60i A7bMDWR3y7yUA3Fc99x9lFQdcWzn5ds= X-MC-Unique: BB98DskpMUW7IVCK5smIrQ-1 ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none; b=UWLzl1zyjuVeYIx2feedc+vlvBNl5RWnqFc9aFH2Xm2/0OarYuQrhFQD0una6cbAQK7F0tPxTK9+la2HV6ZwEtp9szsMYcerNRm02kP6LWGWfY/QowYMeWBTc2TEixukADt36ANU6oVO2EO7BD3skZLX4Qf+moImlAP8gOnFkcNDdtgllfUlDszOQ0ryO3brG87jOWUV3QYFg++Jy95kEG81GrUbvYuJA8ZnP4d/5hmytiIrX7cUp3bJGxC40K3EoQ17i6yhbbcsMjTeANVJR5u392wnwMBEwVQOQZs6X9LR1mnx00n+nV51y88ZWY823mODFWqSKiB6toft3O+fSw== 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=8gDGJGQ3q/kpTI39nNO6K9uOCAOBK2KpkmRZMpGfFgk=; b=OS78/GKHVSCFKaoFfvtYx4qp2ubPgc9JErZP2NGrwxEO89jE+ByYdHchaNlWAgLpM9iqFK7SJpm7kfo4xvKt+DuQGcwnhPblyH2e2jMf3KwZaQs6hioyf0n4TK8uHnBeSfwBxXXfCbapzyy8utvKU/9I2IEaiPpKq5qj3VlcvrPfInNlkmrJ5uVlDaWKDt6ge68vOjNqoCKRgUahHJpGyAXC6EDVU7WerVoZmYYyZOGOddqeuvO+EQmO9I7v1AECjlR7vGWJHy/9HW7uv3P/pj1o0xtilA8mQv3rqOOm4pbUgAWRsbCNWhdswXUqIbhGbnsjZig/cMgeFJRhduxYFg== 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: <4d1b5bb2-e5a3-e581-1bc2-9ac7eb61af35@suse.com> Date: Thu, 9 Dec 2021 16:53:46 +0100 User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:91.0) Gecko/20100101 Thunderbird/91.3.2 Subject: [PATCH 3/3] VT-d: shorten vtd_flush_{context,iotlb}_reg() Content-Language: en-US From: Jan Beulich To: "xen-devel@lists.xenproject.org" Cc: Kevin Tian References: <5b1a5093-610d-f7d3-8d48-e843d86609da@suse.com> In-Reply-To: <5b1a5093-610d-f7d3-8d48-e843d86609da@suse.com> Content-Transfer-Encoding: quoted-printable X-ClientProxiedBy: AM5PR04CA0036.eurprd04.prod.outlook.com (2603:10a6:206:1::49) 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: 87bcba05-e96e-4656-069e-08d9bb2c1657 X-MS-TrafficTypeDiagnostic: VI1PR04MB6861:EE_ X-Microsoft-Antispam-PRVS: X-MS-Oob-TLC-OOBClassifiers: OLM:5797; X-MS-Exchange-SenderADCheck: 1 X-MS-Exchange-AntiSpam-Relay: 0 X-Microsoft-Antispam: BCL:0; X-Microsoft-Antispam-Message-Info: rpLg3uDfwK47yqOk+h8p+ZJN7iEkZl+g+SIjl1Y8RNTgjyh/IFKv57jCWDjDcT75NO71Xu7INOlwiisuwXRe+Osudz+fBPBPql/2xhMhs91XHSi0pkK/up76A5FSUKaJ0QWtRR3+naKy+3nFBVoeePsTI1n8JRIlbpsTcHfpl0GTaVeGlgSqMqQi29CJ4XxzHcML5cMZTaCKZBhiA1EstalQ2bj8zKyIKMjVz6+l0dxZ6KzNQ+4eiHLoYwmO6ewKd7G4I5YHzYMPHD6r/0Goy1wyjibXfbHObueOTTNatOogGVakcgsM+Z2w3ioGfw4V71iLvBw8nhCBXEsJ4Iwpe7bilfs6tVwDuliTwQCmK7i37v0t/CF+WD8YyrpW02g2EEwkeubJ4uomzoWSlA62lGkXUn6U9qK72VrXwyeMpwXM4249n0d2u8EWq+EXOfQa/07WhGq6jAFG+YdZMQLyetotEv5FPIsHqoMMuMgoi/Me22vCUgeR7t6EWOLiK3+3tBtoNVUZac4QiR4R7pcaCQBKbxGUeYG9Qxncd3PuuLBVVGWidfjfEQOuOg9vOYNpeyHf1s4bYuU/izWECSnsjEcngBUvoLd7sPCa6NC/hfLAp/X0o/17E6blF6gRpWqHA42f4W6wJfG+KBiz76nNRiPZdCpMnmcmMlRdZdTarLzgEA3LoSo92MnKCrXKMDIkoeH89FtK4kI+Og5Ys09oyEpN0Wx4tKBZFnHkW5eFIfAJ6SRuMmrE64Z1BwhCGHd5 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:(366004)(66946007)(66476007)(4326008)(66556008)(8676002)(186003)(31686004)(31696002)(5660300002)(2616005)(16576012)(316002)(8936002)(38100700002)(956004)(36756003)(86362001)(2906002)(83380400001)(26005)(508600001)(6916009)(6486002)(45980500001)(43740500002);DIR:OUT;SFP:1101; X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1 X-MS-Exchange-AntiSpam-MessageData-0: =?utf-8?B?cGxjQUVjcHJlM3RnbTJWQzljZDdpb2ovci8xVVB6NFBrc2ZNMkE1RlAxWmdJ?= =?utf-8?B?TVZEZ0NZZFkzSlp3UjVDNHFkY3pqZGgvK1ByYkkyREo1YWRNM05saWFSbG1G?= =?utf-8?B?WWtlWlIyTDlPRTErVGVwWFVsWG40YWVDUTBvZUVieG1uR2FQSlIxTUFGMk1V?= =?utf-8?B?UGZUUy9aOCtJQUR5K09heUZZRXowVXBabVhrWGw3cERyRzZ1cmVaQmt2elIx?= =?utf-8?B?anBkcTVWWXNDY3RFZ00wYVJRd2ZvRk9YUDkvMmYxUE82UTdlTWg0bXpVdFJQ?= =?utf-8?B?ZkRwZXZTL0JySHFhMC90OWZ4WDhjRXlHdm9CK2dGUTNXOXJsdWJMQkg4K2lw?= =?utf-8?B?cmkwVXZ2UnZMeXV6bGhnTXFaSEZ6aGI4RkJxUHZ0K0x1K3loM2ZsNGtDUDFT?= =?utf-8?B?WG4rc0dtRUlzc0IxSGl5VWp2Mmp3bHpQM0NZOTNVV0J6SlYrWnc1c3p2aVg0?= =?utf-8?B?TWVJcU5kS2lyR3BQZEhHSmhRQmlCU2ZiT0xBb05DcXBiL0xpekdyZEttV2tL?= =?utf-8?B?V1NvTEo1N3dncm54bHNOKzh6T01vOHpOMUI3UXFRb295MVIyZXpSeUdvVC9v?= =?utf-8?B?L1hsczMzeWNTQVNRNTZ5RkZEN2dDdUgxaHBrOUl4VFRTWkRQdXFmbkVzYmpv?= =?utf-8?B?VnFTc3VCSzNCS0dGdlVUTnFwM2RXSzg5bzdHMzZVaUpBdUY2UHplcXVURk54?= =?utf-8?B?T29MNzNmL3hEUmtuOFRDd3VmSXRnTEtpN0I0WEFZaFN6ZjF6b0NWZXFIYktM?= =?utf-8?B?eVRjY3UyQVZMR25iSlQwTDVEWnJtZ3ZncG1zU3hIalY2QmNweVpBWVFXdTJm?= =?utf-8?B?ZTJoUUxOQzhvbGJQekVlb056MXcvbGtIZUJYOGY1RGQwMWlndmhUSU05dFJB?= =?utf-8?B?NUtUQzdiK0lic0hzNHI3d0xrbWR3NjZ1eGVaNjU5Y2EyZGNldldia1VEdW53?= =?utf-8?B?SXBxNnlTYTI4aUEyazdMMDQ0d0hWVmZKeTNmVHNVS2hEYmU4aXpxNVhSRTh5?= =?utf-8?B?TE8yUG80RWZzYTZpbzlNMzFnTG5odVVMQkRXNDBhSFJWVGJGUFQ5T2FPU1d3?= =?utf-8?B?NzgrelZUV1ZUb25ZeHZFcFRnWTV4Sy9PTTNDc0o0TkNUYmE4azRHRi90L2lV?= =?utf-8?B?SjhrdFA2QjR2akI4U2t6MmFxQVpPcnFnRGJYSzlmQlJjTUVWQmxUcVFXdnhp?= =?utf-8?B?eFV0SkUrYUY2WlptS2NXVTA2WFJ1R1J1VVQ2UFpPSmp2eG5TSGZLVUxXd0lX?= =?utf-8?B?b3JDbm4ydldnMENtT05wU011aGYzS1FkQk5EbTYremw4WGN6eVR2cTk3R3hQ?= =?utf-8?B?STYrTkY3ZUl5WFpHdWowQTlCekNUMlkrYlF4RHFzelRpTWt4ejl0eHBJaE5r?= =?utf-8?B?NmtpSmNsbWdTRmd2OG9KVmxack12ZzZiVTlWaDRHUHY3LzN4dXdURXdxa3I4?= =?utf-8?B?NHpHYnkrcjFlNENQWlFna09uNC9zckF4WFNjOGl4OEU3QndKYks0SFJ2R1Z0?= =?utf-8?B?dHhhNXdnVXNNekZmbHZIVHRwOWZUT1pTNlNzRjRnZktJd0VMWUN1YlRGKytz?= =?utf-8?B?OUNucGVkS3ZOWitZOHpaRHhSeHVRdGRSbTYxUVo3QjRDODM1ZnBKMHk2REZ3?= =?utf-8?B?UUNsaUd0cWdUeFE5Z2k4K1oveHZ0T2ZJdytWeWlQZVd5WEkxSEZZNWJEZjJF?= =?utf-8?B?NGdqcTE2b0tCTUR0Uk5HWVFoLzRPWGZzY2Q3RzBmamI1dXdid2FnOXdwVExS?= =?utf-8?B?dFcrMXBESUVtek5GUy9KNzBXaTJEVXdBclhlUXNPb0ZsZnlXRmdlTEVkOXpO?= =?utf-8?B?U2Q5eGcvbTd5NE5mSlF6dWtzUEkxdTl5NHpPYURhRjRjaVFCVy9kVGhrY3JF?= =?utf-8?B?SFlnbzhtNWZNN2gyeWJDa1g4R0s2M1NwdXpzY2IxZnorVE4wYmZCMmZISDBl?= =?utf-8?B?UjBDeWNIcEVqVXlOZzl3dW5USVhzR0lYY2xrV0d3K0xNemxPNDN5bEhZY1Jm?= =?utf-8?B?eDZPVlRvWmJ2T1p4REhFOG5UcHBQdG1BRDYrN2JteDNGVXZUbnhQTjJIemFh?= =?utf-8?B?aVBZZDVnZU9uUDY5aTdhaFlYTDJZdzFYS0JudHB2NlZ1RzIwUlpVM3hwUkZy?= =?utf-8?B?bmp2LzFTWlVuQTJhY1ZGdVFNQWdsNmJxMVRCeTBuMm13elJocm5uNDRQZGVT?= =?utf-8?Q?DTpSxZzzTrDh1rYrcUMyeu8=3D?= X-OriginatorOrg: suse.com X-MS-Exchange-CrossTenant-Network-Message-Id: 87bcba05-e96e-4656-069e-08d9bb2c1657 X-MS-Exchange-CrossTenant-AuthSource: VI1PR04MB5600.eurprd04.prod.outlook.com X-MS-Exchange-CrossTenant-AuthAs: Internal X-MS-Exchange-CrossTenant-OriginalArrivalTime: 09 Dec 2021 15:53:47.8612 (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: Hx1LfhPr1sn/dFGEx0DNiBHa19d6i024n0m7M4i+ZlQLkOC2s8aB/wjufVFRP2jzFmU7m8GhmPWDZBSK7WJW3w== X-MS-Exchange-Transport-CrossTenantHeadersStamped: VI1PR04MB6861 X-ZohoMail-DKIM: pass (identity @suse.com) X-ZM-MESSAGEID: 1639065254698100001 Content-Type: text/plain; charset="utf-8" Their calculations of the value to write to the respective command register can be partly folded, resulting in almost 100 bytes less code for these two relatively short functions. Signed-off-by: Jan Beulich --- a/xen/drivers/passthrough/vtd/iommu.c +++ b/xen/drivers/passthrough/vtd/iommu.c @@ -441,7 +441,6 @@ int vtd_flush_context_reg(struct vtd_iom uint16_t source_id, uint8_t function_mask, uint64_t type, bool flush_non_present_entry) { - u64 val =3D 0; unsigned long flags; =20 /* @@ -462,26 +461,26 @@ int vtd_flush_context_reg(struct vtd_iom switch ( type ) { case DMA_CCMD_GLOBAL_INVL: - val =3D DMA_CCMD_GLOBAL_INVL; - break; - case DMA_CCMD_DOMAIN_INVL: - val =3D DMA_CCMD_DOMAIN_INVL|DMA_CCMD_DID(did); break; + case DMA_CCMD_DEVICE_INVL: - val =3D DMA_CCMD_DEVICE_INVL|DMA_CCMD_DID(did) - |DMA_CCMD_SID(source_id)|DMA_CCMD_FM(function_mask); + type |=3D DMA_CCMD_SID(source_id) | DMA_CCMD_FM(function_mask); + fallthrough; + case DMA_CCMD_DOMAIN_INVL: + type |=3D DMA_CCMD_DID(did); break; + default: BUG(); } - val |=3D DMA_CCMD_ICC; + type |=3D DMA_CCMD_ICC; =20 spin_lock_irqsave(&iommu->register_lock, flags); - dmar_writeq(iommu->reg, DMAR_CCMD_REG, val); + dmar_writeq(iommu->reg, DMAR_CCMD_REG, type); =20 /* Make sure hardware complete it */ IOMMU_FLUSH_WAIT("context", iommu, DMAR_CCMD_REG, dmar_readq, - !(val & DMA_CCMD_ICC), val); + !(type & DMA_CCMD_ICC), type); =20 spin_unlock_irqrestore(&iommu->register_lock, flags); /* flush context entry will implicitly flush write buffer */ @@ -510,7 +509,7 @@ int vtd_flush_iotlb_reg(struct vtd_iommu bool flush_non_present_entry, bool flush_dev_iotlb) { int tlb_offset =3D ecap_iotlb_offset(iommu->ecap); - u64 val =3D 0; + uint64_t val =3D type | DMA_TLB_IVT; unsigned long flags; =20 /* @@ -524,14 +523,13 @@ int vtd_flush_iotlb_reg(struct vtd_iommu switch ( type ) { case DMA_TLB_GLOBAL_FLUSH: - val =3D DMA_TLB_GLOBAL_FLUSH|DMA_TLB_IVT; break; + case DMA_TLB_DSI_FLUSH: - val =3D DMA_TLB_DSI_FLUSH|DMA_TLB_IVT|DMA_TLB_DID(did); - break; case DMA_TLB_PSI_FLUSH: - val =3D DMA_TLB_PSI_FLUSH|DMA_TLB_IVT|DMA_TLB_DID(did); + val |=3D DMA_TLB_DID(did); break; + default: BUG(); }