From nobody Sun May 3 14:21:19 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=epam.com); dmarc=pass(p=quarantine dis=none) header.from=epam.com ARC-Seal: i=2; a=rsa-sha256; t=1776758254; cv=pass; d=zohomail.com; s=zohoarc; b=Bfv5nlpbVCZ1Da+co9M1lxw7pfOhVVIHhCPjaS4yR6KOKewWVZrSJ1pc0I2GJFsYOWeywWviphXZsBP69FaiOOUaDJvZo1JDO4LsDhbEvbAyU1t2DKkqyTXHIffMleNTqCFIMxzLY2brTWJ35XyksJWJOpjHiiF/bByp3O7mo1E= ARC-Message-Signature: i=2; a=rsa-sha256; c=relaxed/relaxed; d=zohomail.com; s=zohoarc; t=1776758254; h=Content-Type:Content-Transfer-Encoding:Cc:Cc:Date:Date:From:From:In-Reply-To:List-Subscribe:List-Post:List-Id:List-Help:List-Unsubscribe:MIME-Version:Message-ID:References:Sender:Subject:Subject:To:To:Message-Id:Reply-To; bh=eWEjEoDaHyx8D7ETHnBAHXhn2LY10JL0lgsjPN9gVyk=; b=lLTP3X1/iUOLT6nU4ZFYJmMF+GxI5yQ9KDm79MAb/YT7KYOAZNLOZ6zAlYJ1xDT9M+mVTgQwv/dPnWH3qeUrM80OJbpVevSDjOiT53nWPKFTAiBPVpmh24eZ9vyTJfskyXojXL4Fg/02CfFcYiNCy8czXuBJ4og3obkP+wplNRg= 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=epam.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 1776758254482241.52621127863142; Tue, 21 Apr 2026 00:57:34 -0700 (PDT) Received: from list by lists.xenproject.org with outflank-mailman.1288516.1568795 (Exim 4.92) (envelope-from ) id 1wF5yx-0001wJ-8A; Tue, 21 Apr 2026 07:57:19 +0000 Received: by outflank-mailman (output) from mailman id 1288516.1568795; Tue, 21 Apr 2026 07:57:19 +0000 Received: from localhost ([127.0.0.1] helo=lists.xenproject.org) by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from ) id 1wF5yx-0001vh-3u; Tue, 21 Apr 2026 07:57:19 +0000 Received: by outflank-mailman (input) for mailman id 1288516; Tue, 21 Apr 2026 07:57:18 +0000 Received: from mx.expurgate.net ([195.190.135.10]) by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from ) id 1wF5yw-0001tq-EJ for xen-devel@lists.xenproject.org; Tue, 21 Apr 2026 07:57:18 +0000 Received: from mx.expurgate.net (helo=localhost) by mx.expurgate.net with esmtp id 1wF5yv-002iV5-Qz for xen-devel@lists.xenproject.org; Tue, 21 Apr 2026 09:57:17 +0200 Received: from [10.42.69.12] (helo=localhost) by localhost with ESMTP (eXpurgate MTA 0.9.1) (envelope-from ) id 69e72dd8-5cb7-0a2a0a5109dd-0a2a450ca6fe-18 for ; Tue, 21 Apr 2026 09:57:17 +0200 Received: from [52.101.72.122] (helo=AM0PR02CU008.outbound.protection.outlook.com) by tlsNG-d25034.mxtls.expurgate.net with ESMTPS (eXpurgate 4.56.1) (envelope-from ) id 69e72ddc-62f1-0a2a450c0019-3465487ab259-4 for ; Tue, 21 Apr 2026 09:57:16 +0200 Received: from PAVPR03MB10102.eurprd03.prod.outlook.com (2603:10a6:102:30d::12) by AMBPR03MB11567.eurprd03.prod.outlook.com (2603:10a6:20b:724::18) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.9818.32; Tue, 21 Apr 2026 07:57:15 +0000 Received: from PAVPR03MB10102.eurprd03.prod.outlook.com ([fe80::b8c6:f37a:987a:beb]) by PAVPR03MB10102.eurprd03.prod.outlook.com ([fe80::b8c6:f37a:987a:beb%5]) with mapi id 15.20.9818.033; Tue, 21 Apr 2026 07:57:15 +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" Authentication-Results: eu.smtp.expurgate.cloud; dkim=pass header.s=selector1 header.d=epam.com header.i="@epam.com" header.h="From:Date:Subject:Message-ID:Content-Type:MIME-Version:x-ms-exchange-senderadcheck" ARC-Seal: i=1; a=rsa-sha256; s=arcselector10001; d=microsoft.com; cv=none; b=QFmAk0co2D8Ev4JkBp4yE24TvdWu2lreWVF5ykhBNjfhd3He+2K++A3lIfK7jbZ6ARBquK43JhnXIEGcNuCAndx00/KEtdC8X4LDxKTH1EJDjLP4xik3JgS3V/FoL0CGx2INwO/sGTXD0vQxvmSI8arnSpoS9ZeMRy3OJkcEVGcaVWS7RmGvxuVzEXPllk2B2sdFh++6DTzhRSU2ArHF8P8lnnG2/b4xeg0h7XIGvAbai83KOP+HG5Ej+Kd9ljmJuQJ7csnKrWHlpPePpI7C86McIvJsqkjQxuBm1G6UQ3/itr7q72dF0U7OiM7o87/KNxIvNVhpMIipkVYI8r70UQ== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com; s=arcselector10001; 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=eWEjEoDaHyx8D7ETHnBAHXhn2LY10JL0lgsjPN9gVyk=; b=tBuM79ja/E11hWANBFpfWdTIK519F9Z7+06pChE54z0WYC6jF22Bf7MAWHzULplcoNsWNA9UeInhmxJBHOPwOzHW2mrWGKrkol5Q815nmjhLI6wo+EpPDDTF0IqkqSWOMAVadnANcIa89y9mclG8eKVrsh//7dvoSIrDAIeQ1jxjqh/MHYIA3FtM1t5IGI6lxxzfeMoQsCoEvi6H7zQwG1DEtYhDZ9aQlBrHTEvf6Wer6k/mN0vnvEkLlMSYsxYf7K+zQxNA0rmm+itrU8+jREe7hQqQ7vfRrj/VZp/jPR4znsHsewIrDzbz0tYOQp7TAEeBmz8b8kp5qCuKacOO5w== ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass smtp.mailfrom=epam.com; dmarc=pass action=none header.from=epam.com; dkim=pass header.d=epam.com; arc=none DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=epam.com; s=selector1; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck; bh=eWEjEoDaHyx8D7ETHnBAHXhn2LY10JL0lgsjPN9gVyk=; b=dzHODUDahg1oygMmoJL5EtJHfq49PCzZOkTi7g3PLlF3BCUeURlCeYzAUElP9f4GT5xcnU6QRZ5r7b1SNRmS6xIkMyxr0UnZs8DMnzznHGmJWbWJsD3G0sqw3uudfId0nIIAHDxtDdXEwJgySIdeHCYdx+beTz4JT6uWi8aIJLb3BvoTI1Y0aGxeWAdOkLliXNuMYIqIDrr2nVjIjGJuKAahf09cRRdJ8YLu8iUQYLMbZ7z+Gwg4ZJxWfA8xsKZoplU8I4l6UfMp3X6yTPljRbngTGv3c1tbeFXqHf9xODwDrrGcyUB7jrxpXqLQJKoXK5uXdUykJIG32mQ8xaJuNQ== From: Mykyta Poturai To: "xen-devel@lists.xenproject.org" CC: Mykyta Poturai , Stefano Stabellini , Julien Grall , Bertrand Marquis , Michal Orzel , Volodymyr Babchuk , Jan Beulich , Andrew Cooper , =?iso-8859-1?Q?Roger_Pau_Monn=E9?= , Teddy Astie , Stewart Hildebrand Subject: [RFC PATCH 1/2] pci: Allow platforms to modify BAR adresses Thread-Topic: [RFC PATCH 1/2] pci: Allow platforms to modify BAR adresses Thread-Index: AQHc0WR37j+cn2EDhkOwlRb5qqOUDg== Date: Tue, 21 Apr 2026 07:57:14 +0000 Message-ID: References: In-Reply-To: Accept-Language: en-US Content-Language: en-US X-MS-Has-Attach: X-MS-TNEF-Correlator: authentication-results: dkim=none (message not signed) header.d=none;dmarc=none action=none header.from=epam.com; x-ms-publictraffictype: Email x-ms-traffictypediagnostic: PAVPR03MB10102:EE_|AMBPR03MB11567:EE_ x-ms-office365-filtering-correlation-id: 1cad9d25-1e34-4a63-ed08-08de9f7b9a67 x-ms-exchange-senderadcheck: 1 x-ms-exchange-antispam-relay: 0 x-microsoft-antispam: BCL:0;ARA:13230040|7416014|1800799024|366016|376014|38070700021|56012099003|18002099003|22082099003; x-microsoft-antispam-message-info: 06C11im4QuYEoP6kTyOh773VbiRl3fwlWog1JHRwuMP3bUieDs31c/lYM3bu5HFWV1l1FIHmqeAWl7V54JI7Qwm4dGfGAzaCcdfLzwGiyKlVRZeolVn04M6vbJ3gRHnXrXBXRce54xcCXstPQlr1ZSa1VdxNMi2/3lJ/V+xNAEcVeGno+LgPMELX5uC//AN3mVJURCMQrHbd8vf0ATThUL5HFAK2zLWNulDZbNejDDHG7T+4fqMdh7lJof0q2xEs2cw/hO+NPOsghOVtFPbaXcSMa93cw1eglTe61xgwRXaqFWhNWJJW+R6jhuzQJRpqSrF32gdwndYNxdBbJ86CFo9bkdrS+EdcGkUzxi3HNHUQv+vWwsTEGfRWT0yyMgF0dMc/aFf7Uzxo2FN1EPLYGeaj4HrqMFdo+Ia9Cj3Cckv6mwS7vkUE5p0CjlVqvtriOh7B86gXE25AdJHeJONk2udNlK6LhzJbE/8gGKTaCmJy4r8woi2CauWNlABwUh1iko7wXAW6U1JeYspnUdAMTitYq2I/tIdbdLm0AZZ4RoLjAXRqSomh53ehXckpF9RJk6gHGuZXtYmBfMwVrNLuTy0CNH5uqaSZ+Hz04A2k4+6abkquAfVk9FC8VMPzpgUtvRy5BPIYn3CcV29OUWndaQbc3AdFmbNRdPq8e3rQWVLYAb/bfFXF/usMmGox9+Sotn+6VSA8W5hp17KrMydt0qlIVv1WITLpfOmYtmtxK5eKlUdEZrXsm7JdaRiooBEu8zoVyslY0A+28EFh0hfKOcCBkCdowS//JPkoDKRgNQA= x-forefront-antispam-report: CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:PAVPR03MB10102.eurprd03.prod.outlook.com;PTR:;CAT:NONE;SFS:(13230040)(7416014)(1800799024)(366016)(376014)(38070700021)(56012099003)(18002099003)(22082099003);DIR:OUT;SFP:1102; x-ms-exchange-antispam-messagedata-chunkcount: 1 x-ms-exchange-antispam-messagedata-0: =?iso-8859-1?Q?CMT7wg5GE/dIHgJnYImdjRKvEgpDs1VXn7t0J9+8dqos260v1504QpzchC?= =?iso-8859-1?Q?a9lnmgnL2SSwPQmIH1BqYMajd0Lz4AJvYr4B3aOuvdxQvQMO/MtPWi47aT?= =?iso-8859-1?Q?cBoV9qLTvi1Vivlid0AG0E1j4cooOutEiVE1PqxFSTH7zZ3nir9rGszN0N?= =?iso-8859-1?Q?6z6x02atMFRQPTRrc5hMw/I+0BNarcQaIyjPwRJTM/h9U1/s0UiqW6oM4E?= =?iso-8859-1?Q?zljhhAvxwGNjB3xNrHtFGinvYnEw7Ot94LqYiXVVgbQ3cYijjCSHXTrQrC?= =?iso-8859-1?Q?/d41xxtxpCxrmXhLFekdlFinL44Yg+2PYpPt7YrQWoC1gbQtiZgUlsqwyI?= =?iso-8859-1?Q?Zd14fF+EXkMGsZPf1o+Xc0rdSlpJnNnRcL7T1XA4oCGLZV07I0XGtwPpTj?= =?iso-8859-1?Q?vdlZQaLqZgyc7qQD1Qe1WZkRQIGYSmCeoZIdmxFaAkHNsoIdwRgjsbsICD?= =?iso-8859-1?Q?XPQ9cyXFfZTWpoYsbOPNMMK654tyVQ2I7jLCX9TOWxb87SsumKBd7M7Lm8?= =?iso-8859-1?Q?tEZP8Co4FSwKMD4kUheer34jwGeI9r83skzp9Q3hyA5qfz31ee0gYv470F?= =?iso-8859-1?Q?KvtCMXRAE6ou6YluJyTZbSkL/ArUrm4KQ+7P6rNe0I87SdgBfRqypo33EU?= =?iso-8859-1?Q?xW6sGLAmjuvZiditV66SpwWukS8BXLSuDzrwrtaRzXAX6tLhj1uALI7TxN?= =?iso-8859-1?Q?yRJ2fR3SVny0Gx7iu7O4Aip/5hp+m6O9AsWDuNUgsPGxCwAY80TUCkfW/I?= =?iso-8859-1?Q?oiWF8sJ2/16/+5c3yPtN0XpARq5XENkzSF+Hdc3yZPWdnorpQ3H8s3gtjn?= =?iso-8859-1?Q?jg2O3B0Adss9UDNnncI5rLaOFEVUNkHqABt2XsWzDTn2p7/kH3grDZJW0g?= =?iso-8859-1?Q?ZIestSYg7ZCOcoX3mRnk5jpW20ldJOYU+ZdWUygfy/A1arZpHGyEr9Dpr/?= =?iso-8859-1?Q?ZJL0xtb8vHdRh5CUmaRI/svEega9y+Lb1oVXpQx9hiHmU/vO/V0Oe8a2qz?= =?iso-8859-1?Q?jTmAL3H58nmz2INPeyEQoDXN2oBvii9KF7GRtStNQglc6pd95o1SDGA/QK?= =?iso-8859-1?Q?LSkt16aMlEU2N0+BVj8rgssZ28gY66wSAwLdREKdqsKEz+MS7OtUuUGUEF?= =?iso-8859-1?Q?8Vl6BmGUcQEnPqJQ5P5Kl+6o0DfG+OJX4iozqjjiKsVa1C8c5gV31Jo9yp?= =?iso-8859-1?Q?xhQWTPn9pzuflcyDl9RnwohS+axGXI1QdECwOJ9MwlRwHkwQdGt0wLXiD4?= =?iso-8859-1?Q?UzgjofCs/FJwncaPWEZj/ywYKZMyokwS96FJYKkLrN8Gw3AFHyITtkDQCL?= =?iso-8859-1?Q?B6O5DsY2UBxdgQ2VmVTzjUAYJbetF6KTnm8hsWrPiyjgfUp4GFLVVBbDp5?= =?iso-8859-1?Q?8beu5Bv3WwWka41JBnMynrQG1HbOvOQIPnJYmw65fCjdgIZFHDBOpHccrh?= =?iso-8859-1?Q?Qt3Yz//dezmRErXZH0mYMrn5ZOnzFShoOC4qPEY5x9PrwQnTzSklM6pKyV?= =?iso-8859-1?Q?7g/kt8mud9+H/PfyieBHfy1LlSaJMfQ/Re9iYkr4m8O3rZsUsLP38u1u7Q?= =?iso-8859-1?Q?8XVpdMJ/Dlx5Vi59BOSI/XMWVURu/SYMF4YeJxKbwty4yxVEjhsvN/cAs4?= =?iso-8859-1?Q?ckLGWp3lqYyokYw4M5OuZv+PjTn7BH1jzePMbGfQl8RCQWCXhgLTRHYSl1?= =?iso-8859-1?Q?VzXR25SftO2MkdYVkXCnhwOsh41xx8LsN82em95vO8bk2iqOOWY4MJEdwC?= =?iso-8859-1?Q?L9eIoHiC5MUwiRUkQQnLCDmJ6pQzizMG4sDnhptNVh7fQtWsHcGxcPgtqX?= =?iso-8859-1?Q?bpscjfMW7rj3nhB6XMfAulroLdcVV5k=3D?= Content-Transfer-Encoding: quoted-printable MIME-Version: 1.0 X-OriginatorOrg: epam.com X-MS-Exchange-CrossTenant-AuthAs: Internal X-MS-Exchange-CrossTenant-AuthSource: PAVPR03MB10102.eurprd03.prod.outlook.com X-MS-Exchange-CrossTenant-Network-Message-Id: 1cad9d25-1e34-4a63-ed08-08de9f7b9a67 X-MS-Exchange-CrossTenant-originalarrivaltime: 21 Apr 2026 07:57:14.1877 (UTC) X-MS-Exchange-CrossTenant-fromentityheader: Hosted X-MS-Exchange-CrossTenant-id: b41b72d0-4e9f-4c26-8a69-f949f367c91d X-MS-Exchange-CrossTenant-mailboxtype: HOSTED X-MS-Exchange-CrossTenant-userprincipalname: mBKfZ12opV29qaJOOiCyjh31nN+wkmWGe9iwgzyiyKPLh6Rq+y20O4ZtujgbhPGtpOMMiAeePSdvp7dQyq1uQQ== X-MS-Exchange-Transport-CrossTenantHeadersStamped: AMBPR03MB11567 X-purgate-ID: tlsNG-d25034/1776758236-6FD7BCF5-A81FECCC/0/0 X-purgate-type: clean X-purgate-size: 4165 X-ZohoMail-DKIM: pass (identity @epam.com) X-ZM-MESSAGEID: 1776758256016158500 Content-Type: text/plain; charset="utf-8" This patch is a preparatory work for adding Region ID support on Renesas R-Car series boards. Add new host bridge op "fixup_bar" that allows platforms to modify BAR addresses before they are mapped. Because x86 don't have support for PCI Host Bridge drivers, add another level of indirection in form of platform_pci_fixup_bar() function, that will call host bridge op on ARM and do nothing on x86. Signed-off-by: Mykyta Poturai --- xen/arch/arm/include/asm/pci.h | 3 +++ xen/arch/arm/include/asm/vpci.h | 9 +++++++++ xen/arch/arm/vpci.c | 12 ++++++++++++ xen/arch/x86/include/asm/vpci.h | 6 ++++++ xen/drivers/vpci/header.c | 2 ++ 5 files changed, 32 insertions(+) diff --git a/xen/arch/arm/include/asm/pci.h b/xen/arch/arm/include/asm/pci.h index 7c3211823f..398a4eb746 100644 --- a/xen/arch/arm/include/asm/pci.h +++ b/xen/arch/arm/include/asm/pci.h @@ -80,6 +80,9 @@ struct pci_ops { void (*init_bus_range)(struct dt_device_node *dev, struct pci_host_bridge *bridge, struct pci_config_window *cfg); + void (*fixup_bar)(struct pci_host_bridge *bridge, + unsigned int bar_num, + paddr_t *addr); }; =20 /* diff --git a/xen/arch/arm/include/asm/vpci.h b/xen/arch/arm/include/asm/vpc= i.h index 0cc6f5a105..f5c817a51c 100644 --- a/xen/arch/arm/include/asm/vpci.h +++ b/xen/arch/arm/include/asm/vpci.h @@ -16,6 +16,10 @@ struct vpci_arch_msix_entry { =20 int domain_vpci_init(struct domain *d); unsigned int domain_vpci_get_num_mmio_handlers(struct domain *d); + +void platform_pci_fixup_bar(const struct pci_dev *pdev, unsigned int bar_n= um, + paddr_t *addr); + #else static inline int domain_vpci_init(struct domain *d) { @@ -26,6 +30,11 @@ static inline unsigned int domain_vpci_get_num_mmio_hand= lers(struct domain *d) { return 0; } + +static inline void platform_pci_fixup_bar(const struct pci_dev *pdev, + unsigned int bar_num, + paddr_t *addr) +{} #endif /* CONFIG_HAS_VPCI */ =20 #endif /* ARM_VPCI_H */ diff --git a/xen/arch/arm/vpci.c b/xen/arch/arm/vpci.c index d41aa383a8..ec6efec22e 100644 --- a/xen/arch/arm/vpci.c +++ b/xen/arch/arm/vpci.c @@ -189,6 +189,18 @@ unsigned int domain_vpci_get_num_mmio_handlers(struct = domain *d) return 1; } =20 +void platform_pci_fixup_bar(const struct pci_dev *pdev, + unsigned int bar_num, + paddr_t *addr) +{ + struct pci_host_bridge *bridge =3D pci_find_host_bridge(pdev->sbdf.seg= , pdev->sbdf.bus); + + if ( bridge->ops->fixup_bar ) + { + bridge->ops->fixup_bar(bridge, bar_num, addr); + } +} + /* * Local variables: * mode: C diff --git a/xen/arch/x86/include/asm/vpci.h b/xen/arch/x86/include/asm/vpc= i.h index c501ff1709..a05b70abbf 100644 --- a/xen/arch/x86/include/asm/vpci.h +++ b/xen/arch/x86/include/asm/vpci.h @@ -16,6 +16,12 @@ struct vpci_arch_msix_entry { int pirq; }; =20 +/* X86 does not require PCI BAR modifications */ +static inline void platform_pci_fixup_bar(const struct pci_dev *pdev, + unsigned int bar_num, + paddr_t *addr) +{} + #endif /* X86_VPCI_H */ =20 /* diff --git a/xen/drivers/vpci/header.c b/xen/drivers/vpci/header.c index a760d8c32f..d89e43354c 100644 --- a/xen/drivers/vpci/header.c +++ b/xen/drivers/vpci/header.c @@ -882,6 +882,8 @@ int vpci_init_header(struct pci_dev *pdev) bars[i].size =3D size; bars[i].prefetchable =3D val & PCI_BASE_ADDRESS_MEM_PREFETCH; =20 + platform_pci_fixup_bar(pdev, i, &bars[i].addr); + rc =3D vpci_add_register(pdev->vpci, is_hwdom ? vpci_hw_read32 : guest_mem_bar_r= ead, is_hwdom ? bar_write : guest_mem_bar_write, --=20 2.51.2 From nobody Sun May 3 14:21:19 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=epam.com); dmarc=pass(p=quarantine dis=none) header.from=epam.com ARC-Seal: i=2; a=rsa-sha256; t=1776758259; cv=pass; d=zohomail.com; s=zohoarc; b=aR6rFy8LLdW0OjCTXoAqr0j/CWTA9Sxp428fcISDu7FixUcR05xu6yYzk3oqs7eH9WatfTVDm66ETkW2/L0c0mhBuMbJ5TAsNK3kQPFuiwGasseMHdseFOQqYgaArG8getUb3h4M+LyjsJipGXMV7XQIuOnqjao94CQNX7bHjZc= ARC-Message-Signature: i=2; a=rsa-sha256; c=relaxed/relaxed; d=zohomail.com; s=zohoarc; t=1776758259; h=Content-Type:Content-Transfer-Encoding:Cc:Cc:Date:Date:From:From:In-Reply-To:List-Subscribe:List-Post:List-Id:List-Help:List-Unsubscribe:MIME-Version:Message-ID:References:Sender:Subject:Subject:To:To:Message-Id:Reply-To; bh=bfkgoKhQIRkHmGsVvlt2xgEtO5O/j7hjz0ZgQq5HUCs=; b=mRJtiuuyPV56kBi4dgkT1z3WtiDEo114fqJtEiro71VgrJPG1Wm+jWK90jw2cj3hoX6RRgoYfnCFp5HMYzvN4Zefn9CYNZyNgq0WzF1rYGv/p19OtYmKvjrVzHwixpxNOeTls1ybh59wOkOjiMjiG7TT8ynlcqpflfNuhF51Yuo= 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=epam.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 1776758259719508.90829502616975; Tue, 21 Apr 2026 00:57:39 -0700 (PDT) Received: from list by lists.xenproject.org with outflank-mailman.1288517.1568809 (Exim 4.92) (envelope-from ) id 1wF5yy-0002L1-IJ; Tue, 21 Apr 2026 07:57:20 +0000 Received: by outflank-mailman (output) from mailman id 1288517.1568809; Tue, 21 Apr 2026 07:57:20 +0000 Received: from localhost ([127.0.0.1] helo=lists.xenproject.org) by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from ) id 1wF5yy-0002Kr-Ce; Tue, 21 Apr 2026 07:57:20 +0000 Received: by outflank-mailman (input) for mailman id 1288517; Tue, 21 Apr 2026 07:57:19 +0000 Received: from mx.expurgate.net ([195.190.135.10]) by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from ) id 1wF5yx-0001vw-AX for xen-devel@lists.xenproject.org; Tue, 21 Apr 2026 07:57:19 +0000 Received: from mx.expurgate.net (helo=localhost) by mx.expurgate.net with esmtp id 1wF5yw-002iV5-Mb for xen-devel@lists.xenproject.org; Tue, 21 Apr 2026 09:57:18 +0200 Received: from [10.42.69.12] (helo=localhost) by localhost with ESMTP (eXpurgate MTA 0.9.1) (envelope-from ) id 69e72dd8-5cb7-0a2a0a5109dd-0a2a450ca6fe-26 for ; Tue, 21 Apr 2026 09:57:18 +0200 Received: from [52.101.72.122] (helo=AM0PR02CU008.outbound.protection.outlook.com) by tlsNG-d25034.mxtls.expurgate.net with ESMTPS (eXpurgate 4.56.1) (envelope-from ) id 69e72ddc-62f1-0a2a450c0019-3465487ab259-5 for ; Tue, 21 Apr 2026 09:57:17 +0200 Received: from PAVPR03MB10102.eurprd03.prod.outlook.com (2603:10a6:102:30d::12) by AMBPR03MB11567.eurprd03.prod.outlook.com (2603:10a6:20b:724::18) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.9818.32; Tue, 21 Apr 2026 07:57:15 +0000 Received: from PAVPR03MB10102.eurprd03.prod.outlook.com ([fe80::b8c6:f37a:987a:beb]) by PAVPR03MB10102.eurprd03.prod.outlook.com ([fe80::b8c6:f37a:987a:beb%5]) with mapi id 15.20.9818.033; Tue, 21 Apr 2026 07:57:15 +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" Authentication-Results: eu.smtp.expurgate.cloud; dkim=pass header.s=selector1 header.d=epam.com header.i="@epam.com" header.h="From:Date:Subject:Message-ID:Content-Type:MIME-Version:x-ms-exchange-senderadcheck" ARC-Seal: i=1; a=rsa-sha256; s=arcselector10001; d=microsoft.com; cv=none; b=xf9IViNnKCM1biu3q7sVIBp1L0+9mPfNoyS2B3J5dNbCA0fshLpgn73kmKYRUXTvKxZKSkz6ud67Bwx3Y5tgfpGcaE1hJoIPYH4ReHu5nA0ecePrTg+H5qYBml23VUS5OYS3Cn6ToNxClMe3nQSQ8rQtw50nonJx/8qq1x/Z4GnFCOmthAVFMOIEvGCMD26dauaHznGc6DKrelnFln3B/8JolaCNve4g57sETvroU8L0HF7KUb9OzrSRaxzqByg1nUixdGIFgdln3e/yDbATfyCq1a4lZ5qYfDf8h3bt/CZrQu5+MYx6yxd02tmz6R7yW45sx1NV4IpSSL9qsG9TKQ== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com; s=arcselector10001; 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=bfkgoKhQIRkHmGsVvlt2xgEtO5O/j7hjz0ZgQq5HUCs=; b=kiiFiLKKx98pJlRDgno5zqKmpglfvlrvEhEUw3gmOi9B+qR9xlij00dZGxNUKFF1KSF/hlUtJ32RuoqBJfl8RjpjFnRo7rt4TT1pb1SWKrDjtuYXEbU8QtTXv2XT2z1D9wrtaEPPAIeQ703FIx+/OOe+fHjh7v8D4T+ESrMVDaEXqI+/7tM2uLyFGCHqpa8Y/uSBMzQ3Qgz6sBqhNQMerihQyF6Hn5E7i94ml1PEBLh6LTgBrHw+TkHoo/0fa08oiinS2n1ZrnDrWpryl4O/K8TJyGDf7Mcho1KIxfqgxBaT/PbZiCSCN/S4NUhQw2keMUhjm7PhrrA0kb6Xpdfm/g== ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass smtp.mailfrom=epam.com; dmarc=pass action=none header.from=epam.com; dkim=pass header.d=epam.com; arc=none DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=epam.com; s=selector1; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck; bh=bfkgoKhQIRkHmGsVvlt2xgEtO5O/j7hjz0ZgQq5HUCs=; b=gZ2QMZlR8lbqXMu2T0IVz4CbUMRJkmjhRbC+BDKHy0iVZH6JCY1YHdgRGRnfSOIeDFCYs9g+rP+Wx4eln+B+Wg6hb0qpGAv7mZ2HeHzZP8rBvIpSpRpW5twg8Xmn/gR1guCEbL/2FsWZrwVmtmfilOMJpns1wnYgh7unohvicURn7pLMhVIGv7m1cXng71jGRiihW15iJiE5G6m1yiT0CpgekS06LNBQoVs9KSiWBkFeIurKcifNV5B2t3Qhjib7/qMoG3C/6aovUlssaMQgv+W5A/rnWflkDlGcYq6XAmlND7Xs3gVqtvTZ9ZPjxy1LnazAvvC6ecexNsNy7xkQ8A== From: Mykyta Poturai To: "xen-devel@lists.xenproject.org" CC: Mykyta Poturai , Stefano Stabellini , Julien Grall , Bertrand Marquis , Michal Orzel , Volodymyr Babchuk Subject: [RFC PATCH 2/2] plat/rcar: Add region id support for PCI Thread-Topic: [RFC PATCH 2/2] plat/rcar: Add region id support for PCI Thread-Index: AQHc0WR3HLVfDHqP50KPW64J7aGgdQ== Date: Tue, 21 Apr 2026 07:57:14 +0000 Message-ID: References: In-Reply-To: Accept-Language: en-US Content-Language: en-US X-MS-Has-Attach: X-MS-TNEF-Correlator: authentication-results: dkim=none (message not signed) header.d=none;dmarc=none action=none header.from=epam.com; x-ms-publictraffictype: Email x-ms-traffictypediagnostic: PAVPR03MB10102:EE_|AMBPR03MB11567:EE_ x-ms-office365-filtering-correlation-id: a05233a1-9261-48ca-b01a-08de9f7b9aa6 x-ms-exchange-senderadcheck: 1 x-ms-exchange-antispam-relay: 0 x-microsoft-antispam: BCL:0;ARA:13230040|1800799024|366016|376014|38070700021|56012099003|18002099003|22082099003; x-microsoft-antispam-message-info: 4YuHtTu01ke+a/3T07/DlZAvYp1bRVQYlNqsRH79iGANZgij4rImX3ZWKOcGXe1lpDtm20GkfkQkTrTE2hA6QHFWCdCVCizpXIQqi3Ov4KyHsnL9RRKroClHv4Ezi4FxNb8CZSqwa8v9XnWfC4vY/xdahSCT0bBjwhWACe3ux6Eg+Tepmrvn5El/uDNWcVh9DpBR6CoCQ6O7JEl0bUiyk7Y/LyIITojCM9r/fPEh7fz6aWC/meRYUO7B8Eih9G9CBotevjnspBCAR9Lpzoh+8DtmkFJSNsSxAU47V1g2hYg/+1CyevSzxJKHMnZ9eh7K4nYGg2f0cLTebYYyy8K6xpa6eDzksxUXAoIuJJxlUN01w1qLXBzdPHr8wLgqBdLYx1SG/VUNTrX5oC5a+jnGaSNxWXk0eF9xeiMxgTwSjyBdWPgzgIq3sfn7tWVlll8uXoQ65jQNtK+QWAhoIaDOsZnNuzFYjELa8rNR54BcZrvYTqtROu3ArR1iT+YmUBJvBVaZ2D1gqaa5MmAWgA2ty0iy4dWYq2VroxnJHUWx++yUaoTKjR6XV2h4YritStl267LgEQvmuv+qxbpjMjXrJs+qi+OUwiYikDYH4IY5RvV6f6ZS4fuYCdKcvqWpt7F+C8GSsCLq6O39I4iOsCccM4K5fjrOwEwL1zNHYo01mtVHY3jRpeX3W0k2CU9IlJS3L2Pno9VXhhwXH3bCGTelIAKbQ5umHbdxKh+/IT9fIfIqBJdaXHVZ7BsehEIsR2ilI0k2f0NmZNHr4xFyVb+zm+7ne5nyqTk8mctQks6SYqY= x-forefront-antispam-report: CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:PAVPR03MB10102.eurprd03.prod.outlook.com;PTR:;CAT:NONE;SFS:(13230040)(1800799024)(366016)(376014)(38070700021)(56012099003)(18002099003)(22082099003);DIR:OUT;SFP:1102; x-ms-exchange-antispam-messagedata-chunkcount: 1 x-ms-exchange-antispam-messagedata-0: =?iso-8859-1?Q?yOKZq2+neFzZft4Nvtz3sTi9UNnG0eSqDePNZ9O3c3Al1WuzVa8emQVtrz?= =?iso-8859-1?Q?pSgK8dTAHfWWS0wGMFKDqPiU05mD87Ciy3v+OLNuxeZAf/5DEjvF0+kFRz?= =?iso-8859-1?Q?RmhdA3dtzne5f4VKpO9Gm2ay4LE67EZf3UVrF+1Rx8pfmvVGYzJJoyRUhM?= =?iso-8859-1?Q?aUlfPLXWfw0WZo+YwkxtK9BVOzytb7jY+KIUbg/1djeexrufUppoh+f2es?= =?iso-8859-1?Q?KW3mKdMAp1ATqoLKbTS96jXGt3u1+hibr2+g8wjcxZNWQ1hhEDDenwCz7m?= =?iso-8859-1?Q?SonE/49zioPbzSDzGzHSvL4aRS1exIzjfa8u257b/Qb2FqJNkJNZKHDGTm?= =?iso-8859-1?Q?xpXTY4ojHK5eJKD2omFiHX6Kx+yfxwZgpQna4U91cIDFlVgCtO9TKLM/0w?= =?iso-8859-1?Q?HhOCOB6CfIaJV7Ep2GuQvdUFYEl8PCkHyDzr553AztADiyCB8kbmFmxtgC?= =?iso-8859-1?Q?3Sv1Iy4TSfQw+aytJ84jIvxEgXt0xBH1lEbuKQI2MdK0WGtc6Tp6ovnBBE?= =?iso-8859-1?Q?oVasLc2xz57nL3CLKuv8d9z397HTJNh5yu7/BmI0L0oV0cwC/YJBJcVJXW?= =?iso-8859-1?Q?WKvSl5KbA2Bhq9jP0W4UZAT10Ghipscyy4u/iGHKE/AoDR8TKD+HmAi1UO?= =?iso-8859-1?Q?/Xx2BhUaM6jZvs8WpPWTBICPdsFtqCv3vXT2Vn9KjV/fVfk0dLQtGZKdG+?= =?iso-8859-1?Q?/ZLuRTG/fFdfkBcrFtUFvr0556BdqqmWYwcEGbgX7z39ulJc7FIbZB058K?= =?iso-8859-1?Q?ao0vg/Et8d5gGcK4VdI8lgwjkXQ5M1K7IlVevDAHztni0GEgmv7AlOZcQI?= =?iso-8859-1?Q?FgP4WoRPQ5uUcGgkpQUa5KWjmMmvfnIgi2R3HgVQIT4dg+1yNNT5ceVTbT?= =?iso-8859-1?Q?AN1FJ/Pot/qmR+83ywFtVZk9VqZJndnD90G6mMXnUuR0Qdu+RhxTENYcMr?= =?iso-8859-1?Q?2sSbjB0PyRJfEfWhdZvhlTqdwVdSnHUFeiGOBsjHb8i3cYDc2tzX6AxRtD?= =?iso-8859-1?Q?qoZZVls2XY2yaN3w5RjU3KJZOc6SIYltnp8t/4BkhGt/sVgPvcFZx1I/gp?= =?iso-8859-1?Q?3m8m/TMftrq8RX2ycaW6+CFRmH6svXTVxdQ9uiUqQXiKqyoOsamFH4l5XI?= =?iso-8859-1?Q?KGCYE575mdtmObigjTkym3Q6ng8yoO/4JMytF5oLf+F2Eei6X2FNErxn4I?= =?iso-8859-1?Q?a4Xjupnl8ZXN+HGQInTEhERaj2Wp177wJHOSPh/Dl3elVcab7klbCKHdoa?= =?iso-8859-1?Q?ZWOj1Miy+JV3lpY9ECVxQ8/MSWpklA9V2VIkYIqOvrhCNNXRi3VX/ubFa0?= =?iso-8859-1?Q?CXoOAr5aINqLKgUZkZYrYxU5PI08qKsyLwAy9s1ej4spuK6NqHvJgwun2v?= =?iso-8859-1?Q?jeLq+RSiPLlDNGM7N8fPET0ayxZBSst6rzdPyKTnRLSAUZfvuW89o8MMvj?= =?iso-8859-1?Q?kois52oqUX0VPwbTXBW2tVd4fKlsZyhwvkzBAwzX0IBVhz3fvBRLQJjZTO?= =?iso-8859-1?Q?oRoYBsRdqtgldwtXcLFsNZ5xqq6SfTKCc5mcsW7uZvr3lImCr9ehrN9GUS?= =?iso-8859-1?Q?vgzrNOGHo7/umTwvtg7udVFOTFr08sVVRakPXhB9ykb696idq6zfTNLa6o?= =?iso-8859-1?Q?GpJVi9ZwjcqmssOXJ/XF+MP5qpk5EcjARYhYd/Ks8laW02Ni4Kr6lqz+/o?= =?iso-8859-1?Q?AYyGYveYvXi+c0uA2r5thn5vACHGFZNsX0xQ+2ktOmDC7vO6DmLZbqP02w?= =?iso-8859-1?Q?jIXa0ZE9vWR0IZKskDfGc70ZJQLvznnDIjjCSTEfi4au+tpwsNI7FXjM0W?= =?iso-8859-1?Q?Dth4s4wj1mQ1FvQSdWedjfoPzS3NB/Q=3D?= Content-Transfer-Encoding: quoted-printable MIME-Version: 1.0 X-OriginatorOrg: epam.com X-MS-Exchange-CrossTenant-AuthAs: Internal X-MS-Exchange-CrossTenant-AuthSource: PAVPR03MB10102.eurprd03.prod.outlook.com X-MS-Exchange-CrossTenant-Network-Message-Id: a05233a1-9261-48ca-b01a-08de9f7b9aa6 X-MS-Exchange-CrossTenant-originalarrivaltime: 21 Apr 2026 07:57:14.6462 (UTC) X-MS-Exchange-CrossTenant-fromentityheader: Hosted X-MS-Exchange-CrossTenant-id: b41b72d0-4e9f-4c26-8a69-f949f367c91d X-MS-Exchange-CrossTenant-mailboxtype: HOSTED X-MS-Exchange-CrossTenant-userprincipalname: vcyJf0dz23qi9VuCDsNlhniQiWcxt1awaan660WPrAxo0w3KNMhP7dA5Eu+Dnyao1iKsOYIRvZ0idZs3X9Kabg== X-MS-Exchange-Transport-CrossTenantHeadersStamped: AMBPR03MB11567 X-purgate-ID: tlsNG-d25034/1776758237-6EF72CF5-AE44305C/0/0 X-purgate-type: clean X-purgate-size: 2996 X-ZohoMail-DKIM: pass (identity @epam.com) X-ZM-MESSAGEID: 1776758261457154100 Content-Type: text/plain; charset="utf-8" With Region ID enabled, all CPU memory accesses need to have rgid bits set in the physical address. This creates a problem for PCI BAR accesses, as it would require all BARs to be 64bit. Implement fixup_bar callback to add rgid bits to the address before mapping it to the guests. Add Kconfig options to enable region id support and set the rgid value and physical address space size. Signed-off-by: Mykyta Poturai --- xen/arch/arm/pci/pci-host-rcar4.c | 15 +++++++++++++++ xen/arch/arm/platforms/Kconfig | 21 +++++++++++++++++++++ 2 files changed, 36 insertions(+) diff --git a/xen/arch/arm/pci/pci-host-rcar4.c b/xen/arch/arm/pci/pci-host-= rcar4.c index e1e8eb0ee1..50400c04c4 100644 --- a/xen/arch/arm/pci/pci-host-rcar4.c +++ b/xen/arch/arm/pci/pci-host-rcar4.c @@ -43,6 +43,12 @@ struct rcar4_pcie_priv { DECLARE_BITMAP(osid_regs, NUM_OSID_REGS); }; =20 +#define ULL(X) _AC(X, ULL) +#define MADDR_RGID(a) (ULL(a) << CONFIG_RCAR_PA_BITS) +#define MADDR_PA_MASK ((1ULL << CONFIG_RCAR_PA_BITS) - 1) + +#define MADDR_ENCODE_RGID(a) (MADDR_RGID(CONFIG_RCAR_RGID) | (a)) + /* * PCI host bridges often have different ways to access the root and child * bus config spaces: @@ -61,6 +67,14 @@ static int __init rcar4_child_cfg_reg_index(struct dt_de= vice_node *np) return dt_property_match_string(np, "reg-names", "config"); } =20 +static void rcar4_pcie_fixup_bar(struct pci_host_bridge *bridge, + unsigned int bar_num, + paddr_t *addr) +{ + if ( IS_ENABLED(CONFIG_RCAR_REGION_ID_SUPPORT) ) + *addr =3D MADDR_ENCODE_RGID(*addr); +} + /* ECAM ops */ static const struct pci_ecam_ops rcar4_pcie_ops =3D { .bus_shift =3D 20, @@ -71,6 +85,7 @@ static const struct pci_ecam_ops rcar4_pcie_ops =3D { .write =3D pci_generic_config_write, .need_p2m_hwdom_mapping =3D pci_ecam_need_p2m_hwdom_mapping, .init_bus_range =3D pci_generic_init_bus_range, + .fixup_bar =3D rcar4_pcie_fixup_bar, } }; =20 diff --git a/xen/arch/arm/platforms/Kconfig b/xen/arch/arm/platforms/Kconfig index 888d0b85d5..db096952c8 100644 --- a/xen/arch/arm/platforms/Kconfig +++ b/xen/arch/arm/platforms/Kconfig @@ -64,6 +64,27 @@ config NO_PLAT =20 endchoice =20 +menu "RCar Region ID Support" + visible if RCAR4 + +config RCAR_REGION_ID_SUPPORT + bool "Renesas Region ID support for R-Car Gen4 platforms" if EXPERT + depends on RCAR4 + help + Enable experimental Region ID support for R-Car Gen4 platforms + +config RCAR_RGID + int "Region ID encoded in physical address" + depends on RCAR_REGION_ID_SUPPORT + default 0 + +config RCAR_PA_BITS + int "Physical address space size" + depends on RCAR_REGION_ID_SUPPORT + default 36 + +endmenu + config ALL64_PLAT bool default (ALL_PLAT && ARM_64) --=20 2.51.2