From nobody Tue Feb 10 19:49:32 2026 Delivered-To: importer@patchew.org Authentication-Results: mx.zohomail.com; spf=pass (zohomail.com: domain of gnu.org designates 209.51.188.17 as permitted sender) smtp.mailfrom=qemu-devel-bounces+importer=patchew.org@nongnu.org Return-Path: Received: from lists.gnu.org (lists.gnu.org [209.51.188.17]) by mx.zohomail.com with SMTPS id 1656493974019810.249168492319; Wed, 29 Jun 2022 02:12:54 -0700 (PDT) Received: from localhost ([::1]:51012 helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1o6Tki-0004ez-V2 for importer@patchew.org; Wed, 29 Jun 2022 05:12:52 -0400 Received: from eggs.gnu.org ([2001:470:142:3::10]:34330) by lists.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1o6ThC-0000k4-Ny; Wed, 29 Jun 2022 05:09:21 -0400 Received: from mout.kundenserver.de ([212.227.17.24]:60003) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1o6Th9-0003Z8-8Q; Wed, 29 Jun 2022 05:09:14 -0400 Received: from quad ([82.142.8.70]) by mrelayeu.kundenserver.de (mreue106 [212.227.15.183]) with ESMTPSA (Nemesis) id 1MkIEJ-1nMjji15Ev-00kdGw; Wed, 29 Jun 2022 11:09:03 +0200 From: Laurent Vivier To: qemu-devel@nongnu.org Cc: qemu-trivial@nongnu.org, Bernhard Beschow , "Michael S . Tsirkin" , Paul Durrant , Laurent Vivier Subject: [PULL 11/11] hw/i386/xen/xen-hvm: Inline xen_piix_pci_write_config_client() and remove it Date: Wed, 29 Jun 2022 11:08:49 +0200 Message-Id: <20220629090849.1350227-12-laurent@vivier.eu> X-Mailer: git-send-email 2.36.1 In-Reply-To: <20220629090849.1350227-1-laurent@vivier.eu> References: <20220629090849.1350227-1-laurent@vivier.eu> MIME-Version: 1.0 Content-Transfer-Encoding: quoted-printable X-Provags-ID: V03:K1:qBv/7UjwxrbeNckl58IzS2rHwDjbiPxTtEFcB+M7dqM77+2Mkpk wM9kC20r6k7lkq/3A21YGRsnp5L5mFL30pQtFBsCvffQhXV9R5AAm5AgFskNK9kE9yy5s5M moG7/Q1H+P1oNSB2TFdMTmvtGv3TXB7iOQmsG1eiptSD+zz0gp897Xrf5kPAFkIV5TisL7W 6SqLQ5cy21B2RrH6DXEtw== X-UI-Out-Filterresults: notjunk:1;V03:K0:s5UxDHgrId0=:4aTgmPwCC8K+pzl/8C9Zuw e6qVFO9I/jtzX5beSvz6BZVUg/t06DDBjk9iVDgw1nPPAL4pXMIq1r+EFjRJzbzbsxUX3dCTg wTTSOcGp8GFox3rWaNfp0DBn2BxGF8ooYcC4ZPsesdayqvKm+6EAin+F/xkmsWeIgOarCMuf0 4Dr62daujhoylvH3WR8SHeNHX6dF9Q/D8BIVThNQk0bsGKLmXfQfFAUGbE+KCuZ//Oy6nje2c Px8ee4GR2jnSeTK3qSb1txiVe5dKhF2xmpheS7RRmvjsdMrzr6Lpv5gFx10mtHQZzH1aScBDZ RG3A1CExHrc7JSdddIUzWOA4r2Rg7Nr9l4V+y2oHwXSdA33UycIgULA9sV3tTn5eWgB3hxdEK BmBihsYJoWzxWLtRWYbOKSWbpt1aPenEZbRM2AbtqseYmWNPsaju/F0XxlKSyxsEger8IYRYc OjyWuQuJ+uP2fkfQ6zGqlsVRVd1dE1CbvldFciK2jhModavQ4ERaSEAjwFyM0cb+EbT/FJbCL ZURybfYFV2PzgujAzn75ngAGzLBPfWKFW/d8tn8kgRWtg9XRNQVfiArxHkDQEKuugdUnJxh7c rFHWtftKO8qMjGMlcTexITJfAnbEL+8HFiIpUH7lCZskVJxgEFsQRlX1Ft2ik7MfmTBltpOls 9+glxXzE63eDy6D31tyyo7EpTQ0Cluvc1sQ6lIO6RXhGZOeGZMNpIef1wHoZCe4nucW9MFQ9t RkolODep46ZwIhhT64ms5jk04Il0+BZdW+4P/g== Received-SPF: pass (zohomail.com: domain of gnu.org designates 209.51.188.17 as permitted sender) client-ip=209.51.188.17; envelope-from=qemu-devel-bounces+importer=patchew.org@nongnu.org; helo=lists.gnu.org; Received-SPF: none client-ip=212.227.17.24; envelope-from=laurent@vivier.eu; helo=mout.kundenserver.de X-Spam_score_int: -18 X-Spam_score: -1.9 X-Spam_bar: - X-Spam_report: (-1.9 / 5.0 requ) BAYES_00=-1.9, SPF_HELO_NONE=0.001, SPF_NONE=0.001, T_SCC_BODY_TEXT_LINE=-0.01 autolearn=ham autolearn_force=no X-Spam_action: no action X-BeenThere: qemu-devel@nongnu.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: qemu-devel-bounces+importer=patchew.org@nongnu.org Sender: "Qemu-devel" X-ZM-MESSAGEID: 1656493975248100007 Content-Type: text/plain; charset="utf-8" From: Bernhard Beschow xen_piix_pci_write_config_client() is implemented in the xen sub tree and uses PIIX constants internally, thus creating a direct dependency on PIIX. Now that xen_set_pci_link_route() is stubbable, the logic of xen_piix_pci_write_config_client() can be moved to PIIX which resolves the dependency. Signed-off-by: Bernhard Beschow Acked-by: Michael S. Tsirkin Reviewed-by: Paul Durrant Message-Id: <20220626094656.15673-3-shentey@gmail.com> Signed-off-by: Laurent Vivier --- hw/i386/xen/xen-hvm.c | 18 ------------------ hw/isa/piix3.c | 15 ++++++++++++++- include/hw/xen/xen.h | 1 - stubs/xen-hw-stub.c | 4 ---- 4 files changed, 14 insertions(+), 24 deletions(-) diff --git a/hw/i386/xen/xen-hvm.c b/hw/i386/xen/xen-hvm.c index 204fda7949d9..e4293d6d666a 100644 --- a/hw/i386/xen/xen-hvm.c +++ b/hw/i386/xen/xen-hvm.c @@ -15,7 +15,6 @@ #include "hw/pci/pci.h" #include "hw/pci/pci_host.h" #include "hw/i386/pc.h" -#include "hw/southbridge/piix.h" #include "hw/irq.h" #include "hw/hw.h" #include "hw/i386/apic-msidef.h" @@ -149,23 +148,6 @@ void xen_piix3_set_irq(void *opaque, int irq_num, int = level) irq_num & 3, level); } =20 -void xen_piix_pci_write_config_client(uint32_t address, uint32_t val, int = len) -{ - int i; - - /* Scan for updates to PCI link routes (0x60-0x63). */ - for (i =3D 0; i < len; i++) { - uint8_t v =3D (val >> (8 * i)) & 0xff; - if (v & 0x80) { - v =3D 0; - } - v &=3D 0xf; - if (((address + i) >=3D PIIX_PIRQCA) && ((address + i) <=3D PIIX_P= IRQCD)) { - xen_set_pci_link_route(address + i - PIIX_PIRQCA, v); - } - } -} - int xen_set_pci_link_route(uint8_t link, uint8_t irq) { return xendevicemodel_set_pci_link_route(xen_dmod, xen_domid, link, ir= q); diff --git a/hw/isa/piix3.c b/hw/isa/piix3.c index 6388558f92d4..48f9ab109645 100644 --- a/hw/isa/piix3.c +++ b/hw/isa/piix3.c @@ -138,7 +138,20 @@ static void piix3_write_config(PCIDevice *dev, static void piix3_write_config_xen(PCIDevice *dev, uint32_t address, uint32_t val, int len) { - xen_piix_pci_write_config_client(address, val, len); + int i; + + /* Scan for updates to PCI link routes (0x60-0x63). */ + for (i =3D 0; i < len; i++) { + uint8_t v =3D (val >> (8 * i)) & 0xff; + if (v & 0x80) { + v =3D 0; + } + v &=3D 0xf; + if (((address + i) >=3D PIIX_PIRQCA) && ((address + i) <=3D PIIX_P= IRQCD)) { + xen_set_pci_link_route(address + i - PIIX_PIRQCA, v); + } + } + piix3_write_config(dev, address, val, len); } =20 diff --git a/include/hw/xen/xen.h b/include/hw/xen/xen.h index 13bffaef531f..afdf9c436afc 100644 --- a/include/hw/xen/xen.h +++ b/include/hw/xen/xen.h @@ -23,7 +23,6 @@ extern bool xen_domid_restrict; int xen_pci_slot_get_pirq(PCIDevice *pci_dev, int irq_num); int xen_set_pci_link_route(uint8_t link, uint8_t irq); void xen_piix3_set_irq(void *opaque, int irq_num, int level); -void xen_piix_pci_write_config_client(uint32_t address, uint32_t val, int = len); void xen_hvm_inject_msi(uint64_t addr, uint32_t data); int xen_is_pirq_msi(uint32_t msi_data); =20 diff --git a/stubs/xen-hw-stub.c b/stubs/xen-hw-stub.c index 743967623f00..34a22f2ad72e 100644 --- a/stubs/xen-hw-stub.c +++ b/stubs/xen-hw-stub.c @@ -19,10 +19,6 @@ void xen_piix3_set_irq(void *opaque, int irq_num, int le= vel) { } =20 -void xen_piix_pci_write_config_client(uint32_t address, uint32_t val, int = len) -{ -} - int xen_set_pci_link_route(uint8_t link, uint8_t irq) { return -1; --=20 2.36.1