From nobody Fri May 17 11:29:00 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=citrix.com); dmarc=pass(p=reject dis=none) header.from=citrix.com ARC-Seal: i=2; a=rsa-sha256; t=1645803636; cv=pass; d=zohomail.com; s=zohoarc; b=cVa2BUKyhhLC7BbhzLjNV2kyW9ZvLyFUhYI+jbJNx7qx7v9pCBsLPi9y0MGoHzP9zhmNMknoptWcx38O4NAmlRXx7PQHdfzqP8KSX7shhucsA9+VvZc9fUWQ5gk5w08QhlNCXhAF/Jjj4n46ySlnGFZxoEqMeo6yHAp3ggjX1T0= ARC-Message-Signature: i=2; a=rsa-sha256; c=relaxed/relaxed; d=zohomail.com; s=zohoarc; t=1645803636; 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=6xQx3p2gIUoOaj3d39MS75urWwINz7VNe9IUM3IGjb4=; b=gqtaA3+ZKRuG+Qj+4G0pSFNkyPkMYtWsKHTPpBU7oT2ypcLZ0Yh9TMiL4/eUtBN884OKIfjhLPghG36ZxhLfLeBwFStHBtWGE9Kvffz14j2jKvwwX8SHD9LrQ4alqP27nheu3zSK4Rovhdl+xaC2zCC1nsDFHvYFyRHKkY3jv/U= 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=citrix.com); dmarc=pass header.from= (p=reject dis=none) Return-Path: Received: from lists.xenproject.org (lists.xenproject.org [192.237.175.120]) by mx.zohomail.com with SMTPS id 1645803636650920.5663729966681; Fri, 25 Feb 2022 07:40:36 -0800 (PST) Received: from list by lists.xenproject.org with outflank-mailman.279468.477185 (Exim 4.92) (envelope-from ) id 1nNche-0007Yu-5R; Fri, 25 Feb 2022 15:40:18 +0000 Received: by outflank-mailman (output) from mailman id 279468.477185; Fri, 25 Feb 2022 15:40:18 +0000 Received: from localhost ([127.0.0.1] helo=lists.xenproject.org) by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from ) id 1nNche-0007Yn-1l; Fri, 25 Feb 2022 15:40:18 +0000 Received: by outflank-mailman (input) for mailman id 279468; Fri, 25 Feb 2022 15:40:16 +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 1nNchc-0005ID-JM for xen-devel@lists.xenproject.org; Fri, 25 Feb 2022 15:40:16 +0000 Received: from esa3.hc3370-68.iphmx.com (esa3.hc3370-68.iphmx.com [216.71.145.155]) by se1-gles-flk1.inumbo.com (Halon) with ESMTPS id 391bd44e-9651-11ec-8539-5f4723681683; Fri, 25 Feb 2022 16:40:15 +0100 (CET) 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: 391bd44e-9651-11ec-8539-5f4723681683 DKIM-Signature: v=1; a=rsa-sha256; c=simple/simple; d=citrix.com; s=securemail; t=1645803615; h=from:to:cc:subject:date:message-id:in-reply-to: references:content-transfer-encoding:mime-version; bh=8CnV1YFo7Tb5Y161XjRmYx5MERlsmjdyjjYLhh+ReR8=; b=W2gANz99Pq1EQMyZHvwrg+fqJZx4GoEDkLrcQ7g2ycW3xStfSbfFol2H 46usqkvRJu659J5tjs843Nb8JS5EvL8TOKXBGQYZ7cgTYxsL0KxJUsSg7 Wzx1eVVEJx3o8Y6WZ3vTxD0UuDd/CNSPANpnju8oQNhbA7o0EQZwgqf9x s=; Authentication-Results: esa3.hc3370-68.iphmx.com; dkim=pass (signature verified) header.i=@citrix.onmicrosoft.com X-SBRS: 5.1 X-MesageID: 65000615 X-Ironport-Server: esa3.hc3370-68.iphmx.com X-Remote-IP: 162.221.156.83 X-Policy: $RELAYED IronPort-Data: A9a23:Olo6a6Igte+8JZNxFE+R2pUlxSXFcZb7ZxGr2PjKsXjdYENShDFTz WFKWGrVMveOYGSme9t2aNu2/BgHsMTXxtJjQQJlqX01Q3x08seUXt7xwmUcns+xwm8vaGo9s q3yv/GZdJhcokf0/0vrav67xZVF/fngqoDUUYYoAQgsA148IMsdoUg7wbRh2NQ12YLR7z6l4 rseneWOYDdJ5BYsWo4kw/rrRMRH5amaVJsw5zTSVNgT1LPsvyB94KE3fMldG0DQUIhMdtNWc s6YpF2PEsE1yD92Yj+tuu6TnkTn2dc+NyDW4pZdc/DKbhSvOkXee0v0XRYRQR4/ttmHozx+4 MxQiI2ibS0xApDngu4geUd9OSZeB5QTrdcrIVDn2SCS50jPcn+qyPRyFkAme4Yf/46bA0kXq 6ZecmpUKEne2aTmm9pXScE17ignBNPsM44F/Glp0BnSDOo8QICFSKLPjTNd9Glt3pgWQ6+DD yYfQSdKVQzCQxFxBmgOS5w6vsiF3liuKAQN/Tp5ooJoujOOnWSdyoPFLNrUYZqLXoNcxkKDo WTu8GHwAxVcP9uaoRKV/3TpiuLRkCfTXIMJCKb+5vNsmEeUxGEYFFsRT1TTnBWiohfgAZQFc RVSo3dw6/hpnKC2cjXjdwSlnW+WmjQEZ+d7CecHwl+o4K302T/MUwDoUQV9QNAhscY3Qxkj2 VmIg87lCFRTjVGFdZ6O3uzK9G3vYED5OUdHPHZZFlVdv7EPtalu1kqnczp1LEKiYjQZ8xnUy ivCkiUxjq57YSUjh/TipgCvb95BS/H0ou8JCuf/AjPNAuBRPtfNi2mUBb7zt6cowGGxFATpg ZT8s5LChN3i9LnU/MB3fM0DHauy+9GOOyDGjFhkEvEJrmrxpiH/JNwNuGkmfC+F1/ronxezM Sc/XisLufdu0IaCN/crM+pd9exwpUQfKTgVfq+NNYcfCnSAXASG4DtvdSatM5PFyyARfVUEE c7DK66EVC9CYYw+lWbeb7pNgNcDm3FlrUuOFM+T8vhS+efHDJJjYexeawXmgyFQxP7snTg5B P4Eb5rak0gECbamCsQVmKZKRW03wbEALcmeg+Rcd/KZIxogH2ckCvTLxqgmdZAjlKNQ/tokN FnnMqOE4DITXUH6FDg= IronPort-HdrOrdr: A9a23:+2hXFam4qlAkMUL0DNIQD7OknZnpDfPIimdD5ihNYBxZY6Wkfp +V8sjzhCWatN9OYh0dcLC7WJVpQRvnhPlICO4qTMiftWjdyReVxeRZjLcKrAeQYhEWmtQtsJ uINpIOcuEYbmIK/foSgjPIa+rIqePvmMvD6Ja8vhVQpENRGtxdBm9Ce3em+yZNNW977PQCZf 6hDp0tnUvfRZ1bVLXxOlA1G8z44/HbnpPvZhALQzYh9Qm1lDutrJr3CQKR0BsyWy5Ghe5Kyx mJryXJooGY992rwB7V0GHeq7xQhdva09NGQOiBkNIcJDnAghuhIK5hR7qBljYop/zH0idhrP D85zMbe+hj4XLYeW+45TPrxgnbyT4rr0TvzFeJ6EGT1/DRdXYfMY5slIhZehzW5w4Lp9dnyp 9G2Gqfqt5+EQ7AtD6V3amHazha0m6P5VYym+8aiHJSFaEEbqVKkIAZ9ERJVL8dASPB7pw9Gu UGNrCS2B9vSyLbU5nlhBgt/DT1NU5DXCtuA3Jy9vB96gIm3UyQlCAjtYkidnRpzuNLd3AL3Z WBDk1SrsA9ciYnV9MPOA4/e7rDNoW0e2O2DIuzGyWvKEhVAQOEl3bIiI9FkN1CPqZ4i6cPpA == X-IronPort-AV: E=Sophos;i="5.90,136,1643691600"; d="scan'208";a="65000615" ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none; b=jeReTPUdOael0apFxFejlRkY4U3ONSJp1KAgTpV3S1LL4deGgIzdNzPM4cjM3j1X+xSsYCklBCwudF8vUVeW1KfCff8UcneTnCt9l8kdHSf/qMHRxFDASw/knFpxYc9e+zkysmzBwYLxFtRvNQSoR3C1CDohPJY2f0rgveKokS9yWYJ8d8FXKGLK9OzXXp7AvRfNntDk+QtzrErUuRtVjeSDXy23ON5tAORPc5/HLmqtL3fFf59XwDPFBLITY1Xv/razPSg8a14AcbGUqZxU8D4ZIUHp1xqwU9GIE3FBEcozaIArVIEvul6xspmdJLLWyZlFtgAgIhpJaGI5wJKHbg== 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=6xQx3p2gIUoOaj3d39MS75urWwINz7VNe9IUM3IGjb4=; b=GfnsmJ7mXOiBfypO4BPJ/ujEsTqW2eefbBeM3we05cJRFcsqzKAIgDB3b4cb9I/a7JlEtPyyUM5BPextIeEbzXq+o56eFYsgJHcrdzamXVmu6nzZArpZbc6yRPNe/J0HWKWaS3AEcxUuVyGwzTc8cO0VuRgDFGCV3ojJKeER7VoOgiz6Zya8uR3gqMf3LRA7wDpkiipKexgonb+AQKgxmy/a/ayipUGURki0kuw8o42s4eQkYy3dNhJZcD1cpYEzDwRuHONc7U0bYLaMxfuvrNj9rIKacVMs71UKmgeDMA0f4HW+F142GfG3g5nbq1tUikoT6RuhWFruCbzDHndKNw== ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass smtp.mailfrom=citrix.com; dmarc=pass action=none header.from=citrix.com; dkim=pass header.d=citrix.com; arc=none DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=citrix.onmicrosoft.com; s=selector2-citrix-onmicrosoft-com; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck; bh=6xQx3p2gIUoOaj3d39MS75urWwINz7VNe9IUM3IGjb4=; b=GidsEg8DFSXjBL1Tol9f9BWi1b8hc5h8ZT8exLV7/5Cf+etkDxAlgOL4yCehOrox0sLjhSfRNJFmbQZfsdfD+KQbBdYVeVTlVAWzFERrc/gF9ZyX96VR5xEhrokdLERiRXxvur+p4xa+fW/Icw/TxPl66y7r0tRmbnx5e5HwhpA= From: Roger Pau Monne To: CC: Alex Olson , Roger Pau Monne Subject: [PATCH v2 1/2] vpci/msix: reduce indentation in msix_write PBA handling Date: Fri, 25 Feb 2022 16:39:55 +0100 Message-ID: <20220225153956.1078-2-roger.pau@citrix.com> X-Mailer: git-send-email 2.34.1 In-Reply-To: <20220225153956.1078-1-roger.pau@citrix.com> References: <20220225153956.1078-1-roger.pau@citrix.com> Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: quoted-printable X-ClientProxiedBy: LO4P123CA0324.GBRP123.PROD.OUTLOOK.COM (2603:10a6:600:197::23) To DS7PR03MB5608.namprd03.prod.outlook.com (2603:10b6:5:2c9::18) MIME-Version: 1.0 X-MS-PublicTrafficType: Email X-MS-Office365-Filtering-Correlation-Id: 019e133d-9591-4d66-7409-08d9f8751a94 X-MS-TrafficTypeDiagnostic: SN6PR03MB3982: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: S47bMAshBVi46FtOzdks/NOl01WwW67ADrmZD5p7cKYx2HDGU1nfSc/5EhC1+NA+Ak36baT7sGKyeFySNLUCurOk0iTgj68+zgaUYRvxWhjK5urDkjQhk236kr8m3tre8fsJ/sg+/lIGPR4ULC7/7u014f35g6RYpE1Eu7kqWYyw40SExhCbFKIi+aYHDUVZ7gjiHhCHFFwWZjs8SuQ9xRclJAMz9N2Hpn4De+puIf0yM75l476QeUKX0a3/Bo6NOzVqV0l27E/0ycQAuqfO24kffl86BJoLhJDMf1epcTRf5mZ4oDVZuZqSpi9F3yTEvAH5I8gVnkP71n2up2UXK1YDs2qH7cfUzG/R/4poBEBUDcHr0yHQUz2L9HY1nsTktJ/qa8WEaHCD120emdDnLVDaIkHdbZqa6QGasNmUWN+hh2Qy4RK/mP24NZaZOpA03el+I3nFEN53ANXG8+wLNU29GiaBNz0St3cbuP4w4JqPXpslvkP5uvPPil5FHqKJpJCRLQkwhl8bI0imUnsiGeuLDw7HtYDtgIq8SUQ0liLptdWwr2i0kZ5VmxhCnAUTmBZkFC0edZanrL4/fV1YSeY1e/Hm7Yw963xkPGqKb/IreQfdY3MFKShHEA19q6wXCqf/szbfVKqNAa6eTB/ZGg== X-Forefront-Antispam-Report: CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:DS7PR03MB5608.namprd03.prod.outlook.com;PTR:;CAT:NONE;SFS:(13230001)(4636009)(366004)(38100700002)(1076003)(82960400001)(6916009)(83380400001)(6666004)(54906003)(86362001)(2906002)(26005)(8936002)(107886003)(186003)(36756003)(316002)(6486002)(66476007)(66556008)(5660300002)(508600001)(2616005)(8676002)(6506007)(66946007)(4326008)(6512007);DIR:OUT;SFP:1101; X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1 X-MS-Exchange-AntiSpam-MessageData-0: =?utf-8?B?ckFwSUlKMUhNdDJhZ2N5aHJFNy8xejQvNEtIa29CNEpsOU9Sa2lJd0RyWlA3?= =?utf-8?B?d2RZcFc2OWwrQmRHVFFBbEdZZUZJWS9Pc1BvWkErK3p3VDNvMjZubzZpVHhQ?= =?utf-8?B?TXBIM29zeDNqMW82RDFONUgwc2dwT2U2TjN0K2xGZWF3dllyM2h5VWp3Ty9n?= =?utf-8?B?d1hVcnc3bDZ4OGlUb1BiUm5Id0VCZ1ZZZHVqUUJDblRzd3Y4QW9BU0VzNzF0?= =?utf-8?B?Yzd5WWVENDA1TWNMWGFWaFczWkVBaGtXVnB4Y0htNVJFK2ZNeGhuRURIMjdX?= =?utf-8?B?NWVIT2pwRG4yRHQwUmRZZ0hrbThaK2RsaWdXbDZaUllodk84M2hpVUFCUG5w?= =?utf-8?B?NlZEUHFFZmw4aDRZdnZVZFladDVIOSt2Q2ovRkJralVaM053aHBKZnFSd20y?= =?utf-8?B?cmtsT0FydklVazdwdHdLU1BiV1ZPamdKalJUWUpyRk4zTlJ2dTlRWjdpa2xK?= =?utf-8?B?TkVBZlYvSmVIUldSemw1eWF4aCtleVhKdnZaakpLUDZVam5QU3liVzdZbjVj?= =?utf-8?B?UXNmQkxEMjVieFFhNFpvemRzSWdGcWdWQmU4QVI2TlZPTHI1S1U2bHNLQUVi?= =?utf-8?B?YnhVcW54QUg5dVkwZGpSTzZuU0ZxQjRHZkhKaDZSaTlRa05KcVV3d08zM3Iv?= =?utf-8?B?emtWRkJheGZ5ZVAzaWlUS0J2UjJ1VXF0STJGMWxiWXRkRk9oVHJib082aDBW?= =?utf-8?B?dXRSMnE4Qi9MenlqckJzclZQbGhGcjBlTnhwRENpQTNKWFRBSjFyK1JBb3kw?= =?utf-8?B?NmZ6SXlMdnM4MjM3ZlBZSlI2eEJSOGFhaHRQMlYzOUdCL3ZzUkYwOVgxaVBF?= =?utf-8?B?U3laQkNIdmNZeXJYR0lZSm5wMEpackdSdDNaQTR4aTVwbFAyY1dHME4zQmJl?= =?utf-8?B?QU8yVkEzZzE3K20wMmxPaUFHZmRiYUt5R25DZDBxSjI1NFdDeXhtNHgvZGdP?= =?utf-8?B?ak9lOG1Ba1hhYUpRdENhUUVHRkhUWnZjZ1J2aXROTFM2OVVmQlp0ZmtwNENP?= =?utf-8?B?cU9ydVh4aG9yS2V6R2t0blF6TVg5UVFBMVppdEhvQVNTbk1zeS9qSTE3SjZC?= =?utf-8?B?c2U3b01HTlVOeUR3OFQ5bkF1RmkwK2FQY0txZzdVZ2NoNG9BZDdwZ0VFWmt0?= =?utf-8?B?bDh0NWJxZ0M3c1JUKzF1TjRtZ0VWWUNSbmZyMDBBRFc5dGNhc3UyMkt3RGJ3?= =?utf-8?B?MHY0RngvUWM3VllRLzVOSENuZDF1cHFxdEV0NTdZRWlabGUwaWV2dWtKSFVC?= =?utf-8?B?S2hSQTFnejRsTnNhelprK3lSZzdiS3ljVGZ0SFpqK2RWQUwra09WbjgrR1ZT?= =?utf-8?B?czBwU1lhR2d0SEhkcmRzYjFwV3FsS3k0cXFMV3JSVkNnSWx6c01nbkhtQVZ5?= =?utf-8?B?YVFaU0t6RGo4M0dSTkVaV0xjR1ZhckRyUzRjeFZGU2ZQNTdaMlB1UXZxQU94?= =?utf-8?B?SWp1eXFYREVqMDJsaEl1L1hOWUFhQXozbFRta3VXQ1JlOWJEK1JJVUxOaThs?= =?utf-8?B?NmVqRlBJamIyeVlueFJhemdleUlxRTVyQnVhS0xsTWIyU29IVi84cFVoNTF2?= =?utf-8?B?Tmo5U1BsQUdBYld5UWEycjkvNzIvTzU2dTJhM0MwajJDaGFHN3FrVWVteFV1?= =?utf-8?B?VklGelpvRDZqQnRiOHk4QWZYUW9wRFM1aUZldFRSczNhRGZWdmg1MmttZGdK?= =?utf-8?B?QXZ3aDY5VDBSWTgvSVVRdVpISUF1MkRIQjJVUkRDWWlZZVpPWGF0NUVBSFVH?= =?utf-8?B?R3FCT3ZWSHhGMjZFZUpmSCtiTzUxQS9YSW5TMkc1RjAwYitva3QvcDFiWkRE?= =?utf-8?B?RklqMzl3MHJ0N2N2QzdRRGhJUlU5UjNsWVlYRVMwdFJZdDl0ZHRLa3VnZWJ1?= =?utf-8?B?aHdlQ0ZJdWZ2YWg3R3pyaHM1amthU3hubTBpbFF4Snl5bkgrdXZlcGFzS09U?= =?utf-8?B?eDkzUTlWUzUzSFVZNVpObW9zSnpycGREbUdNQjBZQmJxUE9BQTlNRjU4WVEy?= =?utf-8?B?bUdoMDd4dnNydkR3TStUc2s3MEI5SkplV09xL1RvU2VGcVhhMXdqOUw5RTEy?= =?utf-8?B?RFVYdEZ5eWpsSDRmQjQwUDBHOGlTV0dYaGVpMms0TjdGeTJneFkwMHRWY2Rz?= =?utf-8?B?VnN0VkVDTmhhMDVaUlp4RDZWLzNielFqWThnRHNOY0V1Y05QMUtGTkQrOEM2?= =?utf-8?Q?9RQqnJbfl3VnyCS3zyGSFzk=3D?= X-MS-Exchange-CrossTenant-Network-Message-Id: 019e133d-9591-4d66-7409-08d9f8751a94 X-MS-Exchange-CrossTenant-AuthSource: DS7PR03MB5608.namprd03.prod.outlook.com X-MS-Exchange-CrossTenant-AuthAs: Internal X-MS-Exchange-CrossTenant-OriginalArrivalTime: 25 Feb 2022 15:40:09.2009 (UTC) X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted X-MS-Exchange-CrossTenant-Id: 335836de-42ef-43a2-b145-348c2ee9ca5b X-MS-Exchange-CrossTenant-MailboxType: HOSTED X-MS-Exchange-CrossTenant-UserPrincipalName: h3/FX7Q4cgDwcv4otIBIBF6NVElerJVn7GaIDjzqhYSEAZmlo+dY9SR6DPpHH9GJjj/HgLKLGlH0w25Uaz7Cjg== X-MS-Exchange-Transport-CrossTenantHeadersStamped: SN6PR03MB3982 X-OriginatorOrg: citrix.com X-ZohoMail-DKIM: pass (identity @citrix.com) X-ZM-MESSAGEID: 1645803638868100001 No functional change. Signed-off-by: Roger Pau Monn=C3=A9 Acked-by: Jan Beulich --- xen/drivers/vpci/msix.c | 29 +++++++++++++++-------------- 1 file changed, 15 insertions(+), 14 deletions(-) diff --git a/xen/drivers/vpci/msix.c b/xen/drivers/vpci/msix.c index 2ab4079412..a1fa7a5f13 100644 --- a/xen/drivers/vpci/msix.c +++ b/xen/drivers/vpci/msix.c @@ -275,23 +275,24 @@ static int cf_check msix_write( =20 if ( VMSIX_ADDR_IN_RANGE(addr, msix->pdev->vpci, VPCI_MSIX_PBA) ) { - /* Ignore writes to PBA for DomUs, it's behavior is undefined. */ - if ( is_hardware_domain(d) ) + + if ( !is_hardware_domain(d) ) + /* Ignore writes to PBA for DomUs, it's behavior is undefined.= */ + return X86EMUL_OKAY; + + switch ( len ) { - switch ( len ) - { - case 4: - writel(data, addr); - break; + case 4: + writel(data, addr); + break; =20 - case 8: - writeq(data, addr); - break; + case 8: + writeq(data, addr); + break; =20 - default: - ASSERT_UNREACHABLE(); - break; - } + default: + ASSERT_UNREACHABLE(); + break; } =20 return X86EMUL_OKAY; --=20 2.34.1 From nobody Fri May 17 11:29:00 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=citrix.com); dmarc=pass(p=reject dis=none) header.from=citrix.com ARC-Seal: i=2; a=rsa-sha256; t=1645803641; cv=pass; d=zohomail.com; s=zohoarc; b=C8f11GcDjg9oTWbOE/1VFCVadee5Th8elxCs+la/tUS5r2Q5kXrl+CUJMDtxaZ6MQtq3MCCyujxX22GAESElPIQBt01kjpK/1KCTtfIrdiQlQtQz5v9xy2FjpmTIRyzUq03lTOMPvHDd1U8uH16F56I4s/Tzre9gZcouYxhH+C4= ARC-Message-Signature: i=2; a=rsa-sha256; c=relaxed/relaxed; d=zohomail.com; s=zohoarc; t=1645803641; 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=NQfSCOTOAbixao4uPBP8gOpZAnH8IT6a2fwSzdK0eqA=; b=BG/8hjRj3jsz//ir11wHiJ9/wI/m9Gbb5mSScfLav78B9P6l1RKnCyU/gBJSvmgUqTaH8GtYNQpXaqcjkjj9nTw7SrsyhFq0ZnMgqwaK+fXx+4YSbV9/wX1Hl3TyN1fhuUHJAdmJPzVAytKH2cTug910dQbkocheqsXu8Ys40V8= 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=citrix.com); dmarc=pass header.from= (p=reject dis=none) Return-Path: Received: from lists.xenproject.org (lists.xenproject.org [192.237.175.120]) by mx.zohomail.com with SMTPS id 1645803641003768.6030295000515; Fri, 25 Feb 2022 07:40:41 -0800 (PST) Received: from list by lists.xenproject.org with outflank-mailman.279469.477197 (Exim 4.92) (envelope-from ) id 1nNchi-0007sq-Hc; Fri, 25 Feb 2022 15:40:22 +0000 Received: by outflank-mailman (output) from mailman id 279469.477197; Fri, 25 Feb 2022 15:40: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 1nNchi-0007sR-AT; Fri, 25 Feb 2022 15:40:22 +0000 Received: by outflank-mailman (input) for mailman id 279469; Fri, 25 Feb 2022 15:40:20 +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 1nNchg-0005ID-5Q for xen-devel@lists.xenproject.org; Fri, 25 Feb 2022 15:40:20 +0000 Received: from esa2.hc3370-68.iphmx.com (esa2.hc3370-68.iphmx.com [216.71.145.153]) by se1-gles-flk1.inumbo.com (Halon) with ESMTPS id 3b7dea83-9651-11ec-8539-5f4723681683; Fri, 25 Feb 2022 16:40:19 +0100 (CET) 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: 3b7dea83-9651-11ec-8539-5f4723681683 DKIM-Signature: v=1; a=rsa-sha256; c=simple/simple; d=citrix.com; s=securemail; t=1645803618; h=from:to:cc:subject:date:message-id:in-reply-to: references:content-transfer-encoding:mime-version; bh=PKNPsUAVRvnP0bndWK3m9763yhv4YFhHq5tw/1e77Uw=; b=LE0klMiuiM0cxmffbjhfr0/IKogmaichF5Bhd97yEDDKNFWxMkjQxTeA yJNtqqM1zENPiXOEwUwB9CnBxgRT3jBp+5YuAW7WdG3wiZOOTdHel/L8F 33H1dwW25plkOcTHJgYxiZFgspybm5R35209K9iK+B68VfPW0NeVLUAdz o=; Authentication-Results: esa2.hc3370-68.iphmx.com; dkim=pass (signature verified) header.i=@citrix.onmicrosoft.com X-SBRS: 5.1 X-MesageID: 65002456 X-Ironport-Server: esa2.hc3370-68.iphmx.com X-Remote-IP: 162.221.156.83 X-Policy: $RELAYED IronPort-Data: A9a23:iLo4PqPVS7KXPh/vrR2Bl8FynXyQoLVcMsEvi/4bfWQNrUp00GRWy GFKXGGCaaqLMWv2e9x1bo3i8ksFu5WHy9BjSAto+SlhQUwRpJueD7x1DKtR0wB+jCHnZBg6h ynLQoCYdKjYdleF+lH1dOKJQUBUjclkfJKlYAL/En03FFcMpBsJ00o5wbZj2NMw27BVPivW0 T/Mi5yHULOa82Yc3lI8s8pvfzs24ZweEBtB1rAPTagjUG32zhH5P7pGTU2FFFPqQ5E8IwKPb 72rIIdVXI/u10xF5tuNyt4Xe6CRK1LYFVDmZnF+A8BOjvXez8CbP2lS2Pc0MC9qZzu1c99Z1 fBziaCrciUTfaTNls44VglWGgcvBPgTkFPHCSDXXc27ykTHdz3nwul0DVFwNoodkgp1KTgQr 7pCcmlLN03dwbLtqF64YrAEasALNs7kMZlZonh95TrYEewnUdbIRKCiCdpwgmpo3poSQKi2i 8wxcBVpXgz6O15zHko7V54ujdeH3UChbGgNwL6SjfVuuDWCpOBr65DvOtfIft2BRe1Og12V4 GnB+gzRHhEbL5qe0nyMqna3gennkibyWYZUH7q9ntZ6jVvWymENBRk+UVqgveL/mkO4Q8hYK UEf5mwpt6dayaCwZoCjBVvi+ifC50NCHYoLewEn1O2T4rfx3TqlHVMmdH1IadIMkcomSzUMh 2bcyrsFGgdTmLGSTHuc8JKdojWzJTUZIAc+WMMUcecWy4K9+d9u13ojWv4mSffo1YOtRVkc1 hjX9HBWulkFsSIcO0xXF3jjiinkmJXGRxVdCu7/DjP8tVMRiGJIiuWVBbnnARRocNfxorqp5 iFsdy2iAAYmV8DleMulGrhlIV1Rz6zZWAAweHY2d3Xbyxyj+mS4Yadb6yxkKUFiP64sIGG1P RCP4F8MvMcLZBNGiJObharrWqzGKoC6SLzYug38NIISMvCdiifdlM2RWaJg9z+0yxV9+U3OE ZyabdytHR4n5VdPl1KLqxMm+eZznEgWnDqLLbiilkjP+efONRa9FOZeWHPTP79R0U9xiFiMm zqpH5DRkEs3vSyXSnS/zLP/2nhRdSlrXc2t8pcPHgNBSyI/cFwc5zbq6epJU6RunrhPl/eO+ Xe4W0RCz0H4i2GBIgKPAk2Popu1NXqjhRrX5RARAGs= IronPort-HdrOrdr: A9a23:pjBg+a8doP2Nw4QSlyluk+E6db1zdoMgy1knxilNoENuHfBwxv rDoB1E73LJYVYqOU3Jmbi7Sc29qBTnhOJICOgqTMqftWzd1ldAQ7sSi7cKrweQeREWs9Qtrp uIEJIOeeEYb2IK9PoSiTPQe71LoKjlzEnrv5al854Ed3AVV0gK1XYfNu/0KDwSeOEQbqBJa6 Z0q/A37waISDAyVICWF3MFV+/Mq5nik4/nWwcPA1oC5BOVhT2lxbbmG1zAty1uGQ9n8PMHyy zoggb57qKsv7WSzQLd7Xba69BzlMH6wtVOKcSQgow+KynqiCyveIN9Mofy9wwdkaWK0hIHgd PMqxAvM4Ba7G7QRHi8pV/X1wzpwF8Vmgjf4G7dpUGmjd3yRTo8BcYEr5leaAHl500pu8w5+L 5X3kqC3qAnQi/orWDY3ZzlRhtqnk27rT4JiugIlUFSVoMYdft4sZEfxkVIC50NdRiKpLzPKN MeTf002cwmMW9zNxvizypSKZ2XLzkO9y69MwY/Upf/6UkVoJh7p3FosPD30E1wsa7VcKM0lN gsAp4Y5I2mcfVmH56VfN1xOfdfKla9Ny4kY1jiaGgOKsk8SgfwQtjMkfEI2N0= X-IronPort-AV: E=Sophos;i="5.90,136,1643691600"; d="scan'208";a="65002456" ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none; b=lwcSFqdMIJhPibQL3kKzcBIiWcSyFaZbsukoEYGlWaUp9c0+k5xE34SvUJwqshuqgb8o5CppxWbKBCZfxmc3QxaEYFqSLflGFWCbT+G+DaLE0rYCdLOpXXFcFVjwqYqL/2pCxeuXPFHvkWv+2gd/jFzXLQVYjRiYbE9Miz+pd2PQ3dQJ6UfSpYHXTX0L8cOk+08JXKdbQ+Zc6BSyqntH7bK/boCqpIACoxPf/gKH3B5jv8FXFITEgLs5JWkXqj796ZT/Zdg35BEL2nJLViCD6Lw8nOBkyLrCRwhpPaWd+OtdnTqOB1uN01/BfLUXYurNdUDifiK0iBuK3wqQ2uJlLA== 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=NQfSCOTOAbixao4uPBP8gOpZAnH8IT6a2fwSzdK0eqA=; b=itGqQrbV0vRP+wppWeoQ4NH2DrfYbptbjFdF4XF4lYSBm00O9FyhZdNqjOFrfT8aTovP1A1AsLkKFcxwyGPu1tD8TMmVbXPGHss4bS1714pzhaSMa5HYQiihnJqEsoRFhy1ZwR62xqyGrDcqLl7TT4nUY8BtKnHiiMjAPx8issFXcUr2RUtT9pzO324EMJEFTSwCN1XInRNV59NL51WZRtMqy7hNNZ6vsHF2UmnrHPIh8h2QFFPvqH1sQz0hmN31q85dIYixWMqqgJS8zxhel/AEtLuwoaKnclE2w0NpfQMliIH4+wOUeVX01OEHZq8Tk2SAFGt92HkDLhezVz4O6A== ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass smtp.mailfrom=citrix.com; dmarc=pass action=none header.from=citrix.com; dkim=pass header.d=citrix.com; arc=none DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=citrix.onmicrosoft.com; s=selector2-citrix-onmicrosoft-com; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck; bh=NQfSCOTOAbixao4uPBP8gOpZAnH8IT6a2fwSzdK0eqA=; b=S6DqQWhnAmORM976B9ASfaW+nMf7T2ewscm+xpRHmukanZz/4rXAe6yemSfmxeYCCvLOQpce98UsrYrkxD4aH8gaPRPHABvmr6v0yBAGm5z8O207rZ/F4mpD0wlD7/MsAIMGzM2eo5ufNdE22I7SFFw/ryfGs2nyrst1lBe6RzA= From: Roger Pau Monne To: CC: Alex Olson , Roger Pau Monne , Jan Beulich Subject: [PATCH v2 2/2] vpci/msix: fix PBA accesses Date: Fri, 25 Feb 2022 16:39:56 +0100 Message-ID: <20220225153956.1078-3-roger.pau@citrix.com> X-Mailer: git-send-email 2.34.1 In-Reply-To: <20220225153956.1078-1-roger.pau@citrix.com> References: <20220225153956.1078-1-roger.pau@citrix.com> Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: quoted-printable X-ClientProxiedBy: LO4P123CA0131.GBRP123.PROD.OUTLOOK.COM (2603:10a6:600:193::10) To DS7PR03MB5608.namprd03.prod.outlook.com (2603:10b6:5:2c9::18) MIME-Version: 1.0 X-MS-PublicTrafficType: Email X-MS-Office365-Filtering-Correlation-Id: 8f0a5903-821e-46e2-66ee-08d9f8751dc4 X-MS-TrafficTypeDiagnostic: SN6PR03MB3982: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: Wbt13kLn8Fwcd0NK4EL8ek8xPH0MHAhU04pR0ay1DStH9FyNX1A2fGCCnT/YwWylAF8h1Ka/WsJKfbqsud9WHLWQmmpQyZkflCBLY67iKTRIykvB50CUjrNIyxO5FV4qcsbON60DPAlg54+gNOG0DYF3rX25Hwh9/wGAhbqKC+rVCSj+6SUJkXz9KlSlJ3kHFDst+yOK/ZaNPNw3oEfypM8e8iz97EKlSJ0wkg36iSbTMxvxuKSniYKAt0ITxxK82PsRubG5/g15BbGBxd85AU97xnI8GA8zYzI96zZMGF+SsgYVidNhJtY4Qy1TYyHzIwsivNgjzAfeD1IsFMv0MYKgTRU1Cx/D98veHLwwBAHbmsa8ASgOzzM5GUWXZUV5IVsZE27Qf/pDH9NLN/MEAgPRHJeloR/JZ4iiW8fIRq3D7TpNk07LTIsoMvQNzc6m9Vqwg4iQFcRMFbzU3DR9t75G27fA8SxLKTEj5J8bT1ZBjeYQrxBXt4YhGg5oWmHYzNq0gP56/SPzvDexZpHzVvdJ+wXdT6eukNX2+4+SLaX/ZZRHF406F+p62/c/+wJRsQuOYhGQffDsCKtqpWebi0L3Tk+n3aCxdcUIDaA6AyN4otgL9yIuAHhC1Le5lo+HIcAjZQtLHtDaaa/EbV59PA== X-Forefront-Antispam-Report: CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:DS7PR03MB5608.namprd03.prod.outlook.com;PTR:;CAT:NONE;SFS:(13230001)(4636009)(366004)(38100700002)(1076003)(82960400001)(6916009)(83380400001)(6666004)(54906003)(86362001)(2906002)(26005)(8936002)(186003)(36756003)(316002)(6486002)(66476007)(66556008)(5660300002)(508600001)(2616005)(8676002)(6506007)(66946007)(4326008)(6512007);DIR:OUT;SFP:1101; X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1 X-MS-Exchange-AntiSpam-MessageData-0: =?utf-8?B?S2JRcWJYNHFKK1B6M2JHbUZWeTBLbkZXcGhTdkROYytDZWp5RTU2OFlVQzhR?= =?utf-8?B?aVVQZ2VsWFJhRFRvNEp4UDcxcU1JZ0wvQlBVbHZ6WnhXZVdmbURVbXBXaXVv?= =?utf-8?B?azJqSzNtUDlrc08wVW0vSEhXRlZVRW5DMVhXSkFXUTdsUWJsSDR2MGEzM0Vs?= =?utf-8?B?TDd2cUpMeEVSd1ppeGJWY0xnNS83aThON2NPQ2tlWjMrZ1dHMHgrTCs2bFBP?= =?utf-8?B?dFRpd2dETWJ6RzN6MGh6YTRFdnFuRXc3T2lZMkNEOG8vekQ3N0JaSEZLRUx6?= =?utf-8?B?UlJNdUZEOWJuR2VFUmJ3bG1QeTBQZGUzNVR6L1BvWHprT2xuSUxYV0NZMFB6?= =?utf-8?B?Nkl4S09VUVBXaE1oTk04L2hRMkZnSFEvOVhBenFqTE1BRnpLT1VvV09DNTRo?= =?utf-8?B?b29lblM3M0ZoY25OM2pmRUxYaVpYU0ZjRFMzdWdtQ2RBcXp2YWUrOEV4Nmgz?= =?utf-8?B?ZXpqbkVmM3FqNDl3RWdSbTkyaERPeCtxNnI1VDVPcjFmSXpYUnZ5K2FqL0hq?= =?utf-8?B?SjZ5KzlTVU9pV3ZxYWxSd0xjYWJlL2luTFYybzk5d0F6c3hRb1JVMldSMDJm?= =?utf-8?B?VHB4bjNFdWZydU55TXJuYXdMV1FZcHBhSWIxTUtieHRGZEJQdXRmeCtVa084?= =?utf-8?B?NVlWM05URUd6TVJaUXczL2RPSHpQcWhZdnJDTjQxMjRtTGhGNTIvQ2tzRjha?= =?utf-8?B?UUlpcUQyZHMzcnlYckhYZi9ocmxjRXZ3VTF6UVJNeDZta2VSVjVtVFdNL0o1?= =?utf-8?B?enkrV3FsaXg0MDhBNzI2Ny9IUXUyQURUVG16MHdhTzlMaUJpWnJPS1pPbE80?= =?utf-8?B?bTllQmNyZXBhblBpb1plRlNzbkN4aWJpU0ZnZGErd0d1Q3NCaXFxbFRJTUpa?= =?utf-8?B?NWtpcVkzbkZ1Y09Cd2VYbnZUalk4OXl6MHc4UUk1MXJ0YlgvT2w4S2NPMVg2?= =?utf-8?B?VERlMWNEd2xEWWhBUVlXN1hrdG8zSVBjVTFPZnZrMHFvOWJmRHdUV092RW9M?= =?utf-8?B?Zi9hNWNzWnA0V0dURUtGUEg2U1BvTm8zcDFjRWNPeHN1MmxmZ21PS1BlQWZM?= =?utf-8?B?REZFR3VPTFl3TUVXQmpaZ1BmcTBsV0pmWWdaUEx6Zjk3WHg1ZFFsMW9KZmFH?= =?utf-8?B?bExoUzFFbnczRjdLNlEwSFQ2cG9HVktqZUJ0Q3pLNGdDcWljT1BVc3FsVHpy?= =?utf-8?B?cGt0Y05DL2lrTHN0VEpFWVF1Y2t4V1FJNWxLSFBPVTJ5R2JDbGxSOHlnalMw?= =?utf-8?B?WlkzS2g1ZDFwdUdnR3NRem1oNXo1dXMyZXVjRUFYQ1Z6NUl6L2NGTGtCdGNB?= =?utf-8?B?RkpvNUhLZUxWeWhIdmtQNTJ6T2gzQUp3bk5YbmJMVCtNN0JVdGZUNzRPQVJt?= =?utf-8?B?SHU0SUpSWkQrYy9yNkFlUWxQUWNPc3JkcE5QbXpDZ1pYekFBUVVJdkErVlNI?= =?utf-8?B?QWxCazVWbmRYb0thTGFCTFN0ZjdrNVNGaHpybmFQUGNpT0t5Y1llUmVIdStl?= =?utf-8?B?d1U0a0ZEY2NyTE1Qd2lhakV2bHVGcTZzUmh1c1hTN3hvSjJoa1ZnS29LT1h5?= =?utf-8?B?OGo1RDlaZlc0YklKMk51QjJSRUxjYW00NXQ0WUhUY3MxQ1V6TGJOcTZhcHU3?= =?utf-8?B?eVNuYTBYZEZtM2Y2SWU0VHNIZm15NENaR3dWSzVyRzFXQjhkbGE3QnlvNEVL?= =?utf-8?B?Y3MwV2wweTgzaUtSbGROZHYvM1YxU0N4SmFFR0l2bEJsQWVzR3NISlZpY2ho?= =?utf-8?B?RE84M2VlRElyd3MvQytvRHFFb3FGb280VGVxaVI3ODdWYUN5ZjdRbEhXSk1u?= =?utf-8?B?cXVJOVk4ejBrOVEwRTJKNHY3N3kwaGNmWVVyMGx0RHVtSTVoOUlaYVpvMFF2?= =?utf-8?B?N0xueGtNV0lpWnZrL1VwMFU0blZGU2ttSGM3bnVKMEZLRjAzOFIzMzVKSnFV?= =?utf-8?B?UUlzSWtNWU43UlhjNzdWQXZvSzR2T0QrSDJubU5DTHhVVkRZcytZeVVQVDd6?= =?utf-8?B?VnhFTjZxV2xQVHFoU1YvVmx1WThqbmd3K2FjbFltR1ZzSnRPYmEwRkpjeUV1?= =?utf-8?B?TFZZa1V3dG1PeS9PSS9QcDRwUTNuMEtHanV3QVBzcm52QkkzM0RqT2craXJl?= =?utf-8?B?ajA1cjJUbklYVjNLQlRPdUFRZys0V25SbFlzeDh5YVdEWi9UaWMrUjlBeVZj?= =?utf-8?Q?hI2pmLaJN4Gjy8G4njuKai4=3D?= X-MS-Exchange-CrossTenant-Network-Message-Id: 8f0a5903-821e-46e2-66ee-08d9f8751dc4 X-MS-Exchange-CrossTenant-AuthSource: DS7PR03MB5608.namprd03.prod.outlook.com X-MS-Exchange-CrossTenant-AuthAs: Internal X-MS-Exchange-CrossTenant-OriginalArrivalTime: 25 Feb 2022 15:40:14.5002 (UTC) X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted X-MS-Exchange-CrossTenant-Id: 335836de-42ef-43a2-b145-348c2ee9ca5b X-MS-Exchange-CrossTenant-MailboxType: HOSTED X-MS-Exchange-CrossTenant-UserPrincipalName: hFxBudelBJC3FU9hBW/E82GLXa5kjgP2QlxAIoja7rDGvZADcHof/qVQK9bASV7vN+DmmYGU70HmahFdAVJYhQ== X-MS-Exchange-Transport-CrossTenantHeadersStamped: SN6PR03MB3982 X-OriginatorOrg: citrix.com X-ZohoMail-DKIM: pass (identity @citrix.com) X-ZM-MESSAGEID: 1645803642931100001 Map the PBA in order to access it from the MSI-X read and write handlers. Note that previously the handlers would pass the physical host address into the {read,write}{l,q} handlers, which is wrong as those expect a linear address. Map the PBA using ioremap when the first access is performed. Note that 32bit arches might want to abstract the call to ioremap into a vPCI arch handler, so they can use a fixmap range to map the PBA. Reported-by: Jan Beulich Signed-off-by: Roger Pau Monn=C3=A9 --- Cc: Alex Olson --- Changes since v1: - Also handle writes. I don't seem to have a box with a driver that will try to access the PBA, so I would consider this specific code path only build tested. At least it doesn't seem to regress the current state of vPCI. --- xen/drivers/vpci/msix.c | 55 +++++++++++++++++++++++++++++++++++++---- xen/drivers/vpci/vpci.c | 2 ++ xen/include/xen/vpci.h | 2 ++ 3 files changed, 54 insertions(+), 5 deletions(-) diff --git a/xen/drivers/vpci/msix.c b/xen/drivers/vpci/msix.c index a1fa7a5f13..9fbc111ecc 100644 --- a/xen/drivers/vpci/msix.c +++ b/xen/drivers/vpci/msix.c @@ -198,8 +198,13 @@ static int cf_check msix_read( if ( !access_allowed(msix->pdev, addr, len) ) return X86EMUL_OKAY; =20 + spin_lock(&msix->pdev->vpci->lock); if ( VMSIX_ADDR_IN_RANGE(addr, msix->pdev->vpci, VPCI_MSIX_PBA) ) { + struct vpci *vpci =3D msix->pdev->vpci; + paddr_t base =3D vmsix_table_addr(vpci, VPCI_MSIX_PBA); + unsigned int idx =3D addr - base; + /* * Access to PBA. * @@ -207,25 +212,43 @@ static int cf_check msix_read( * guest address space. If this changes the address will need to be * translated. */ + + if ( !msix->pba ) + { + msix->pba =3D ioremap(base, vmsix_table_size(vpci, VPCI_MSIX_P= BA)); + if ( !msix->pba ) + { + /* + * If unable to map the PBA return all 1s (all pending): i= t's + * likely better to trigger spurious events than drop them. + */ + spin_unlock(&vpci->lock); + gprintk(XENLOG_WARNING, + "%pp: unable to map MSI-X PBA, report all pending\= n", + msix->pdev); + return X86EMUL_OKAY; + } + } + switch ( len ) { case 4: - *data =3D readl(addr); + *data =3D readl(msix->pba + idx); break; =20 case 8: - *data =3D readq(addr); + *data =3D readq(msix->pba + idx); break; =20 default: ASSERT_UNREACHABLE(); break; } + spin_unlock(&vpci->lock); =20 return X86EMUL_OKAY; } =20 - spin_lock(&msix->pdev->vpci->lock); entry =3D get_entry(msix, addr); offset =3D addr & (PCI_MSIX_ENTRY_SIZE - 1); =20 @@ -273,27 +296,49 @@ static int cf_check msix_write( if ( !access_allowed(msix->pdev, addr, len) ) return X86EMUL_OKAY; =20 + spin_lock(&msix->pdev->vpci->lock); if ( VMSIX_ADDR_IN_RANGE(addr, msix->pdev->vpci, VPCI_MSIX_PBA) ) { + struct vpci *vpci =3D msix->pdev->vpci; + paddr_t base =3D vmsix_table_addr(vpci, VPCI_MSIX_PBA); + unsigned int idx =3D addr - base; =20 if ( !is_hardware_domain(d) ) + { /* Ignore writes to PBA for DomUs, it's behavior is undefined.= */ + spin_unlock(&vpci->lock); return X86EMUL_OKAY; + } + + if ( !msix->pba ) + { + msix->pba =3D ioremap(base, vmsix_table_size(vpci, VPCI_MSIX_P= BA)); + if ( !msix->pba ) + { + /* Unable to map the PBA, ignore write. */ + spin_unlock(&vpci->lock); + gprintk(XENLOG_WARNING, + "%pp: unable to map MSI-X PBA, write ignored\n", + msix->pdev); + return X86EMUL_OKAY; + } + } =20 switch ( len ) { case 4: - writel(data, addr); + writel(data, msix->pba + idx); break; =20 case 8: - writeq(data, addr); + writeq(data, msix->pba + idx); break; =20 default: ASSERT_UNREACHABLE(); break; } + spin_unlock(&vpci->lock); =20 return X86EMUL_OKAY; } diff --git a/xen/drivers/vpci/vpci.c b/xen/drivers/vpci/vpci.c index f3b32d66cb..9fb3c05b2b 100644 --- a/xen/drivers/vpci/vpci.c +++ b/xen/drivers/vpci/vpci.c @@ -51,6 +51,8 @@ void vpci_remove_device(struct pci_dev *pdev) xfree(r); } spin_unlock(&pdev->vpci->lock); + if ( pdev->vpci->msix && pdev->vpci->msix->pba ) + iounmap(pdev->vpci->msix->pba); xfree(pdev->vpci->msix); xfree(pdev->vpci->msi); xfree(pdev->vpci); diff --git a/xen/include/xen/vpci.h b/xen/include/xen/vpci.h index bcad1516ae..c399b101ee 100644 --- a/xen/include/xen/vpci.h +++ b/xen/include/xen/vpci.h @@ -127,6 +127,8 @@ struct vpci { bool enabled : 1; /* Masked? */ bool masked : 1; + /* PBA map */ + void *pba; /* Entries. */ struct vpci_msix_entry { uint64_t addr; --=20 2.34.1