From nobody Mon Mar 23 21:28:13 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 header.i=thierry.escande@vates.tech; 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; dmarc=pass(p=none dis=none) header.from=vates.tech ARC-Seal: i=1; a=rsa-sha256; t=1773420452; cv=none; d=zohomail.com; s=zohoarc; b=P9gSWLrEPPFY6dW78oEnte3DCShxd1DkSV6LjN1Fh8930CXpAgSFmIYA8h1S854ZPUVf8QPA2Hb9tmAZEvYMoT/nZMKHjEZMz0rinJCRCu/UccQuWmbnkZgwtJ3b52O4omD50Cp/ofnCsJJ6GybVDfWL5gnWKS0Ev1z1EG1Sp84= ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=zohomail.com; s=zohoarc; t=1773420452; 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=BfeVwu07GpLrZnkbH1KHTfsb175OP+VcYPCDwc2bXBA=; b=gB5DyGRY+uihsEgSt4GT2/VVzIp5fq6A0kaFAaoravyzAS2izdEBqRo3UA7Rku3/KgOEoEmWnGQLDqeSi2YukzAIAkyvg+LJBi7ufYltCg45Ah6oU+UC08jbd50JWhBEixexJKXCRyAsB7k3J+yXRKNA57bKy27CeKYKFfTCkAQ= ARC-Authentication-Results: i=1; mx.zohomail.com; dkim=pass header.i=thierry.escande@vates.tech; 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; dmarc=pass header.from= (p=none dis=none) Return-Path: Received: from lists.xenproject.org (lists.xenproject.org [192.237.175.120]) by mx.zohomail.com with SMTPS id 1773420452776159.54861671889682; Fri, 13 Mar 2026 09:47:32 -0700 (PDT) Received: from list by lists.xenproject.org with outflank-mailman.1254170.1550172 (Exim 4.92) (envelope-from ) id 1w15fX-0007tx-Pi; Fri, 13 Mar 2026 16:47:23 +0000 Received: by outflank-mailman (output) from mailman id 1254170.1550172; Fri, 13 Mar 2026 16:47:23 +0000 Received: from localhost ([127.0.0.1] helo=lists.xenproject.org) by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from ) id 1w15fX-0007t9-Gq; Fri, 13 Mar 2026 16:47:23 +0000 Received: by outflank-mailman (input) for mailman id 1254170; Fri, 13 Mar 2026 16:47:22 +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 1w15fW-0006fv-3I for xen-devel@lists.xenproject.org; Fri, 13 Mar 2026 16:47:22 +0000 Received: from mail134-15.atl141.mandrillapp.com (mail134-15.atl141.mandrillapp.com [198.2.134.15]) by se1-gles-sth1.inumbo.com (Halon) with ESMTPS id 4d8262f6-1efc-11f1-b164-2bf370ae4941; Fri, 13 Mar 2026 17:47:21 +0100 (CET) Received: from pmta10.mandrill.prod.atl01.rsglab.com (localhost [127.0.0.1]) by mail134-15.atl141.mandrillapp.com (Mailchimp) with ESMTP id 4fXVlD2XPwzPm0PqH for ; Fri, 13 Mar 2026 16:47:20 +0000 (GMT) Received: from [37.26.189.201] by mandrillapp.com id bf408e4098ba45c6b365cef3c2c3e264; Fri, 13 Mar 2026 16:47:20 +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: 4d8262f6-1efc-11f1-b164-2bf370ae4941 DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=mandrillapp.com; s=mte1; t=1773420440; x=1773690440; bh=BfeVwu07GpLrZnkbH1KHTfsb175OP+VcYPCDwc2bXBA=; h=From:Subject:To:Cc:Message-Id:In-Reply-To:References:Feedback-ID: Date:MIME-Version:Content-Type:Content-Transfer-Encoding:CC:Date: Subject:From; b=VAcI6tTSK5w/V8dPnfOqMa21UdpOI2JaiSrxCu7eQ3wFafekWG+SxYK52H/Zf8rg7 CnBLKL1u4vBT73Y9Zjo8O7IOLmwhPQfyBAGPNesgcdAQ0GvnB7AUAHU/rEWx6VwHEz o6kQBZWIlxdHh984pS7XBkknLRGEqLxfaXaCWFHIS/7tCMS506geVhNUTSBJXYSy3X LzbMDHMmczBaHo12e2PU2W9ZsvLq4MuMjjhVvbSajt6I1kcKAc1MiFyT9M5rlWzMav qxy7PWELKEeBlkegmYNDuh+AL9Ri+xpETxFrrO5uDQPux5oeXIGaKhjelyCP+zcm4M aSSPm9ElW77cA== DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=vates.tech; s=mte1; t=1773420440; x=1773680940; i=thierry.escande@vates.tech; bh=BfeVwu07GpLrZnkbH1KHTfsb175OP+VcYPCDwc2bXBA=; h=From:Subject:To:Cc:Message-Id:In-Reply-To:References:Feedback-ID: Date:MIME-Version:Content-Type:Content-Transfer-Encoding:CC:Date: Subject:From; b=0C1+M/hNJ/PXKbzmhP1sAXXgIql9jwyvWMNpfI2vxpF9AD/AA962uysI/jC+VQebX FqcPSQxXBxiolMmCKxkr3ND4x06E/zhBZvHsi5VqNokF/7pEKffJpHw4XaPIYAaDWE JRnDIyKTJABlUXIHGt693E8Wa0eJl4vI4vkje7nKCq0W/ktlyLg26NwDT97WkYGFFW /7RtJa+oW30dsQVLERRKtuj+dKeFSGjer2aCwiMliuwvyj6st6++9el9x8C/sKGwOU 3JMRjBvvmZxghq174rWYGjRvEI7fQeab9FgTU4z4aneVMcHuJ16Tb/0OvAtiRvJyVi NuHtUhAUnzJFA== From: "Thierry Escande" Subject: =?utf-8?Q?[PATCH=204/4]=20xen:=20Handle=20PCIe=20config=20space=20size=20in=20cpu=5Fioreq=5Fconfig()?= X-Mailer: git-send-email 2.51.0 X-Bm-Disclaimer: Yes X-Bm-Milter-Handled: 4ffbd6c1-ee69-4e1b-aabd-f977039bd3e2 X-Bm-Transport-Timestamp: 1773420439492 To: qemu-devel@nongnu.org Cc: "Thierry Escande" , "Paolo Bonzini" , "Richard Henderson" , "Michael S. Tsirkin" , "Eduardo Habkost" , "Anthony PERARD" , xen-devel@lists.xenproject.org Message-Id: <20260313164649.794591-5-thierry.escande@vates.tech> In-Reply-To: <20260313164649.794591-1-thierry.escande@vates.tech> References: <20260313164649.794591-1-thierry.escande@vates.tech> X-Native-Encoded: 1 X-Report-Abuse: =?UTF-8?Q?Please=20forward=20a=20copy=20of=20this=20message,=20including=20all=20headers,=20to=20abuse@mandrill.com.=20You=20can=20also=20report=20abuse=20here:=20https://mandrillapp.com/contact/abuse=3Fid=3D30504962.bf408e4098ba45c6b365cef3c2c3e264?= X-Mandrill-User: md_30504962 Feedback-ID: 30504962:30504962.20260313:md Date: Fri, 13 Mar 2026 16:47:20 +0000 MIME-Version: 1.0 Content-Transfer-Encoding: quoted-printable X-ZohoMail-DKIM: pass (identity @mandrillapp.com) (identity thierry.escande@vates.tech) X-ZM-MESSAGEID: 1773420470176158500 Content-Type: text/plain; charset="utf-8" This change allows to read and write to the extended config space of PCI Express devices by setting the size limit to 4096 bytes. The size limit remains 256 bytes for non PCIe devices. Signed-off-by: Thierry Escande --- hw/xen/xen-hvm-common.c | 11 +++++++---- 1 file changed, 7 insertions(+), 4 deletions(-) diff --git a/hw/xen/xen-hvm-common.c b/hw/xen/xen-hvm-common.c index 62d88804c4..15090d77cf 100644 --- a/hw/xen/xen-hvm-common.c +++ b/hw/xen/xen-hvm-common.c @@ -396,6 +396,7 @@ static void cpu_ioreq_config(XenIOState *state, ioreq_t= *req) { uint32_t sbdf =3D req->addr >> 32; uint32_t reg =3D req->addr; + uint32_t limit; XenPciDevice *xendev; =20 if (req->size !=3D sizeof(uint8_t) && req->size !=3D sizeof(uint16_t) = && @@ -412,10 +413,12 @@ static void cpu_ioreq_config(XenIOState *state, ioreq= _t *req) continue; } =20 + limit =3D pci_is_express(xendev->pci_dev) ? + PCIE_CONFIG_SPACE_SIZE : PCI_CONFIG_SPACE_SIZE; if (!req->data_is_ptr) { if (req->dir =3D=3D IOREQ_READ) { req->data =3D pci_host_config_read_common( - xendev->pci_dev, reg, PCI_CONFIG_SPACE_SIZE, + xendev->pci_dev, reg, limit, req->size); trace_cpu_ioreq_config_read(req, xendev->sbdf, reg, req->size, req->data); @@ -423,7 +426,7 @@ static void cpu_ioreq_config(XenIOState *state, ioreq_t= *req) trace_cpu_ioreq_config_write(req, xendev->sbdf, reg, req->size, req->data); pci_host_config_write_common( - xendev->pci_dev, reg, PCI_CONFIG_SPACE_SIZE, + xendev->pci_dev, reg, limit, req->data, req->size); } } else { @@ -431,7 +434,7 @@ static void cpu_ioreq_config(XenIOState *state, ioreq_t= *req) =20 if (req->dir =3D=3D IOREQ_READ) { tmp =3D pci_host_config_read_common( - xendev->pci_dev, reg, PCI_CONFIG_SPACE_SIZE, + xendev->pci_dev, reg, limit, req->size); trace_cpu_ioreq_config_read(req, xendev->sbdf, reg, req->size, tmp); @@ -441,7 +444,7 @@ static void cpu_ioreq_config(XenIOState *state, ioreq_t= *req) trace_cpu_ioreq_config_write(req, xendev->sbdf, reg, req->size, tmp); pci_host_config_write_common( - xendev->pci_dev, reg, PCI_CONFIG_SPACE_SIZE, + xendev->pci_dev, reg, limit, tmp, req->size); } } --=20 2.51.0 -- Thierry Escande | Vates XCP-ng Developer XCP-ng & Xen Orchestra - Vates solutions web: https://vates.tech