From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: X-Spam-Checker-Version: SpamAssassin 3.4.0 (2014-02-07) on aws-us-west-2-korg-lkml-1.web.codeaurora.org X-Spam-Level: X-Spam-Status: No, score=-6.8 required=3.0 tests=HEADER_FROM_DIFFERENT_DOMAINS, INCLUDES_PATCH,MAILING_LIST_MULTI,SIGNED_OFF_BY,SPF_HELO_NONE,SPF_PASS, URIBL_BLOCKED autolearn=ham autolearn_force=no version=3.4.0 Received: from mail.kernel.org (mail.kernel.org [198.145.29.99]) by smtp.lore.kernel.org (Postfix) with ESMTP id D8853CA9EA0 for ; Fri, 18 Oct 2019 13:50:36 +0000 (UTC) Received: from lists.xenproject.org (lists.xenproject.org [192.237.175.120]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by mail.kernel.org (Postfix) with ESMTPS id B6567222BD for ; Fri, 18 Oct 2019 13:50:36 +0000 (UTC) DMARC-Filter: OpenDMARC Filter v1.3.2 mail.kernel.org B6567222BD Authentication-Results: mail.kernel.org; dmarc=fail (p=none dis=none) header.from=redhat.com Authentication-Results: mail.kernel.org; spf=none smtp.mailfrom=xen-devel-bounces@lists.xenproject.org Received: from localhost ([127.0.0.1] helo=lists.xenproject.org) by lists.xenproject.org with esmtp (Exim 4.89) (envelope-from ) id 1iLSeB-00060o-TS; Fri, 18 Oct 2019 13:50:27 +0000 Received: from us1-rack-iad1.inumbo.com ([172.99.69.81]) by lists.xenproject.org with esmtp (Exim 4.89) (envelope-from ) id 1iLSeA-0005zy-5m for xen-devel@lists.xenproject.org; Fri, 18 Oct 2019 13:50:26 +0000 X-Inumbo-ID: 3c750cac-f1ae-11e9-8aca-bc764e2007e4 Received: from mx1.redhat.com (unknown [209.132.183.28]) by us1-rack-iad1.inumbo.com (Halon) with ESMTPS id 3c750cac-f1ae-11e9-8aca-bc764e2007e4; Fri, 18 Oct 2019 13:50:25 +0000 (UTC) Received: from smtp.corp.redhat.com (int-mx02.intmail.prod.int.phx2.redhat.com [10.5.11.12]) (using TLSv1.2 with cipher AECDH-AES256-SHA (256/256 bits)) (No client certificate requested) by mx1.redhat.com (Postfix) with ESMTPS id F15B518CB91A; Fri, 18 Oct 2019 13:50:24 +0000 (UTC) Received: from x1w.redhat.com (unknown [10.40.205.74]) by smtp.corp.redhat.com (Postfix) with ESMTPS id E7B3D60BF1; Fri, 18 Oct 2019 13:50:19 +0000 (UTC) From: =?UTF-8?q?Philippe=20Mathieu-Daud=C3=A9?= To: qemu-devel@nongnu.org Date: Fri, 18 Oct 2019 15:47:47 +0200 Message-Id: <20191018134754.16362-14-philmd@redhat.com> In-Reply-To: <20191018134754.16362-1-philmd@redhat.com> References: <20191018134754.16362-1-philmd@redhat.com> MIME-Version: 1.0 X-Scanned-By: MIMEDefang 2.79 on 10.5.11.12 X-Greylist: Sender IP whitelisted, not delayed by milter-greylist-4.6.2 (mx1.redhat.com [10.5.110.63]); Fri, 18 Oct 2019 13:50:25 +0000 (UTC) Subject: [Xen-devel] [PATCH v2 13/20] hw/pci-host/piix: Extract piix3_create() X-BeenThere: xen-devel@lists.xenproject.org X-Mailman-Version: 2.1.23 Precedence: list List-Id: Xen developer discussion List-Unsubscribe: , List-Post: List-Help: List-Subscribe: , Cc: Stefano Stabellini , Marcel Apfelbaum , "Michael S. Tsirkin" , Paul Durrant , Paolo Bonzini , =?UTF-8?q?Herv=C3=A9=20Poussineau?= , Aleksandar Markovic , Igor Mammedov , Anthony Perard , xen-devel@lists.xenproject.org, Aleksandar Rikalo , Richard Henderson , =?UTF-8?q?Philippe=20Mathieu-Daud=C3=A9?= , Aurelien Jarno , Eduardo Habkost Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 Errors-To: xen-devel-bounces@lists.xenproject.org Sender: "Xen-devel" RXh0cmFjdCB0aGUgUElJWDMgY3JlYXRpb24gY29kZSBmcm9tIHRoZSBpNDQwZnhfaW5pdCgpIGZ1 bmN0aW9uLgoKUmV2aWV3ZWQtYnk6IEFsZWtzYW5kYXIgTWFya292aWMgPGFtYXJrb3ZpY0B3YXZl Y29tcC5jb20+ClNpZ25lZC1vZmYtYnk6IFBoaWxpcHBlIE1hdGhpZXUtRGF1ZMOpIDxwaGlsbWRA cmVkaGF0LmNvbT4KLS0tCiBody9wY2ktaG9zdC9waWl4LmMgfCA1MSArKysrKysrKysrKysrKysr KysrKysrKysrKysrLS0tLS0tLS0tLS0tLS0tLS0tCiAxIGZpbGUgY2hhbmdlZCwgMzEgaW5zZXJ0 aW9ucygrKSwgMjAgZGVsZXRpb25zKC0pCgpkaWZmIC0tZ2l0IGEvaHcvcGNpLWhvc3QvcGlpeC5j IGIvaHcvcGNpLWhvc3QvcGlpeC5jCmluZGV4IDJmNGNiY2JmZTkuLjMyOTI3MDNkZTcgMTAwNjQ0 Ci0tLSBhL2h3L3BjaS1ob3N0L3BpaXguYworKysgYi9ody9wY2ktaG9zdC9waWl4LmMKQEAgLTMz MSw2ICszMzEsMzYgQEAgc3RhdGljIHZvaWQgaTQ0MGZ4X3JlYWxpemUoUENJRGV2aWNlICpkZXYs IEVycm9yICoqZXJycCkKICAgICB9CiB9CiAKK3N0YXRpYyBQSUlYM1N0YXRlICpwaWl4M19jcmVh dGUoUENJQnVzICpwY2lfYnVzLCBJU0FCdXMgKippc2FfYnVzKQoreworICAgIFBJSVgzU3RhdGUg KnBpaXgzOworICAgIFBDSURldmljZSAqcGNpX2RldjsKKworICAgIC8qCisgICAgICogWGVuIHN1 cHBvcnRzIGFkZGl0aW9uYWwgaW50ZXJydXB0IHJvdXRlcyBmcm9tIHRoZSBQQ0kgZGV2aWNlcyB0 bworICAgICAqIHRoZSBJT0FQSUM6IHRoZSBmb3VyIHBpbnMgb2YgZWFjaCBQQ0kgZGV2aWNlIG9u IHRoZSBidXMgYXJlIGFsc28KKyAgICAgKiBjb25uZWN0ZWQgdG8gdGhlIElPQVBJQyBkaXJlY3Rs eS4KKyAgICAgKiBUaGVzZSBhZGRpdGlvbmFsIHJvdXRlcyBjYW4gYmUgZGlzY292ZXJlZCB0aHJv dWdoIEFDUEkuCisgICAgICovCisgICAgaWYgKHhlbl9lbmFibGVkKCkpIHsKKyAgICAgICAgcGNp X2RldiA9IHBjaV9jcmVhdGVfc2ltcGxlX211bHRpZnVuY3Rpb24ocGNpX2J1cywgLTEsIHRydWUs CisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFRZUEVf UElJWDNfWEVOX0RFVklDRSk7CisgICAgICAgIHBpaXgzID0gUElJWDNfUENJX0RFVklDRShwY2lf ZGV2KTsKKyAgICAgICAgcGNpX2J1c19pcnFzKHBjaV9idXMsIHhlbl9waWl4M19zZXRfaXJxLCB4 ZW5fcGNpX3Nsb3RfZ2V0X3BpcnEsCisgICAgICAgICAgICAgICAgICAgICBwaWl4MywgWEVOX1BJ SVhfTlVNX1BJUlFTKTsKKyAgICB9IGVsc2UgeworICAgICAgICBwY2lfZGV2ID0gcGNpX2NyZWF0 ZV9zaW1wbGVfbXVsdGlmdW5jdGlvbihwY2lfYnVzLCAtMSwgdHJ1ZSwKKyAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgVFlQRV9QSUlYM19ERVZJQ0UpOwor ICAgICAgICBwaWl4MyA9IFBJSVgzX1BDSV9ERVZJQ0UocGNpX2Rldik7CisgICAgICAgIHBjaV9i dXNfaXJxcyhwY2lfYnVzLCBwaWl4M19zZXRfaXJxLCBwY2lfc2xvdF9nZXRfcGlycSwKKyAgICAg ICAgICAgICAgICAgICAgIHBpaXgzLCBQSUlYX05VTV9QSVJRUyk7CisgICAgICAgIHBjaV9idXNf c2V0X3JvdXRlX2lycV9mbihwY2lfYnVzLCBwaWl4M19yb3V0ZV9pbnR4X3Bpbl90b19pcnEpOwor ICAgIH0KKyAgICAqaXNhX2J1cyA9IElTQV9CVVMocWRldl9nZXRfY2hpbGRfYnVzKERFVklDRShw aWl4MyksICJpc2EuMCIpKTsKKworICAgIHJldHVybiBwaWl4MzsKK30KKwogUENJQnVzICppNDQw ZnhfaW5pdChjb25zdCBjaGFyICpob3N0X3R5cGUsIGNvbnN0IGNoYXIgKnBjaV90eXBlLAogICAg ICAgICAgICAgICAgICAgICBQQ0lJNDQwRlhTdGF0ZSAqKnBpNDQwZnhfc3RhdGUsCiAgICAgICAg ICAgICAgICAgICAgIGludCAqcGlpeDNfZGV2Zm4sCkBAIC00MDAsMjcgKzQzMCw4IEBAIFBDSUJ1 cyAqaTQ0MGZ4X2luaXQoY29uc3QgY2hhciAqaG9zdF90eXBlLCBjb25zdCBjaGFyICpwY2lfdHlw ZSwKICAgICAgICAgICAgICAgICAgUEFNX0VYUEFOX1NJWkUpOwogICAgIH0KIAotICAgIC8qIFhl biBzdXBwb3J0cyBhZGRpdGlvbmFsIGludGVycnVwdCByb3V0ZXMgZnJvbSB0aGUgUENJIGRldmlj ZXMgdG8KLSAgICAgKiB0aGUgSU9BUElDOiB0aGUgZm91ciBwaW5zIG9mIGVhY2ggUENJIGRldmlj ZSBvbiB0aGUgYnVzIGFyZSBhbHNvCi0gICAgICogY29ubmVjdGVkIHRvIHRoZSBJT0FQSUMgZGly ZWN0bHkuCi0gICAgICogVGhlc2UgYWRkaXRpb25hbCByb3V0ZXMgY2FuIGJlIGRpc2NvdmVyZWQg dGhyb3VnaCBBQ1BJLiAqLwotICAgIGlmICh4ZW5fZW5hYmxlZCgpKSB7Ci0gICAgICAgIFBDSURl dmljZSAqcGNpX2RldiA9IHBjaV9jcmVhdGVfc2ltcGxlX211bHRpZnVuY3Rpb24oYiwKLSAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgLTEsIHRydWUsIFRZUEVfUElJWDNfWEVOX0RFVklDRSk7 Ci0gICAgICAgIHBpaXgzID0gUElJWDNfUENJX0RFVklDRShwY2lfZGV2KTsKLSAgICAgICAgcGNp X2J1c19pcnFzKGIsIHhlbl9waWl4M19zZXRfaXJxLCB4ZW5fcGNpX3Nsb3RfZ2V0X3BpcnEsCi0g ICAgICAgICAgICAgICAgcGlpeDMsIFhFTl9QSUlYX05VTV9QSVJRUyk7Ci0gICAgfSBlbHNlIHsK LSAgICAgICAgUENJRGV2aWNlICpwY2lfZGV2ID0gcGNpX2NyZWF0ZV9zaW1wbGVfbXVsdGlmdW5j dGlvbihiLAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAtMSwgdHJ1ZSwgVFlQRV9QSUlY M19ERVZJQ0UpOwotICAgICAgICBwaWl4MyA9IFBJSVgzX1BDSV9ERVZJQ0UocGNpX2Rldik7Ci0g ICAgICAgIHBjaV9idXNfaXJxcyhiLCBwaWl4M19zZXRfaXJxLCBwY2lfc2xvdF9nZXRfcGlycSwg cGlpeDMsCi0gICAgICAgICAgICAgICAgUElJWF9OVU1fUElSUVMpOwotICAgICAgICBwY2lfYnVz X3NldF9yb3V0ZV9pcnFfZm4oYiwgcGlpeDNfcm91dGVfaW50eF9waW5fdG9faXJxKTsKLSAgICB9 CisgICAgcGlpeDMgPSBwaWl4M19jcmVhdGUoYiwgaXNhX2J1cyk7CiAgICAgcGlpeDMtPnBpYyA9 IHBpYzsKLSAgICAqaXNhX2J1cyA9IElTQV9CVVMocWRldl9nZXRfY2hpbGRfYnVzKERFVklDRShw aWl4MyksICJpc2EuMCIpKTsKLQogICAgICpwaWl4M19kZXZmbiA9IHBpaXgzLT5kZXYuZGV2Zm47 CiAKICAgICByYW1fc2l6ZSA9IHJhbV9zaXplIC8gOCAvIDEwMjQgLyAxMDI0OwotLSAKMi4yMS4w CgoKX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX18KWGVuLWRl dmVsIG1haWxpbmcgbGlzdApYZW4tZGV2ZWxAbGlzdHMueGVucHJvamVjdC5vcmcKaHR0cHM6Ly9s aXN0cy54ZW5wcm9qZWN0Lm9yZy9tYWlsbWFuL2xpc3RpbmZvL3hlbi1kZXZlbA== From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: X-Spam-Checker-Version: SpamAssassin 3.4.0 (2014-02-07) on aws-us-west-2-korg-lkml-1.web.codeaurora.org X-Spam-Level: X-Spam-Status: No, score=-6.8 required=3.0 tests=HEADER_FROM_DIFFERENT_DOMAINS, INCLUDES_PATCH,MAILING_LIST_MULTI,SIGNED_OFF_BY,SPF_HELO_NONE,SPF_PASS, URIBL_BLOCKED autolearn=ham autolearn_force=no version=3.4.0 Received: from mail.kernel.org (mail.kernel.org [198.145.29.99]) by smtp.lore.kernel.org (Postfix) with ESMTP id DF352CA9EA0 for ; Fri, 18 Oct 2019 14:07:35 +0000 (UTC) Received: from lists.gnu.org (lists.gnu.org [209.51.188.17]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by mail.kernel.org (Postfix) with ESMTPS id B4EC521925 for ; Fri, 18 Oct 2019 14:07:35 +0000 (UTC) DMARC-Filter: OpenDMARC Filter v1.3.2 mail.kernel.org B4EC521925 Authentication-Results: mail.kernel.org; dmarc=fail (p=none dis=none) header.from=redhat.com Authentication-Results: mail.kernel.org; spf=pass smtp.mailfrom=qemu-devel-bounces+qemu-devel=archiver.kernel.org@nongnu.org Received: from localhost ([::1]:40578 helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1iLSuk-0000WH-Lr for qemu-devel@archiver.kernel.org; Fri, 18 Oct 2019 10:07:34 -0400 Received: from eggs.gnu.org ([2001:470:142:3::10]:55224) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1iLSeB-0005ka-FJ for qemu-devel@nongnu.org; Fri, 18 Oct 2019 09:50:28 -0400 Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1iLSeA-0006cp-3H for qemu-devel@nongnu.org; Fri, 18 Oct 2019 09:50:27 -0400 Received: from mx1.redhat.com ([209.132.183.28]:40472) by eggs.gnu.org with esmtps (TLS1.0:DHE_RSA_AES_256_CBC_SHA1:32) (Exim 4.71) (envelope-from ) id 1iLSe9-0006cW-RJ for qemu-devel@nongnu.org; Fri, 18 Oct 2019 09:50:26 -0400 Received: from smtp.corp.redhat.com (int-mx02.intmail.prod.int.phx2.redhat.com [10.5.11.12]) (using TLSv1.2 with cipher AECDH-AES256-SHA (256/256 bits)) (No client certificate requested) by mx1.redhat.com (Postfix) with ESMTPS id F15B518CB91A; Fri, 18 Oct 2019 13:50:24 +0000 (UTC) Received: from x1w.redhat.com (unknown [10.40.205.74]) by smtp.corp.redhat.com (Postfix) with ESMTPS id E7B3D60BF1; Fri, 18 Oct 2019 13:50:19 +0000 (UTC) From: =?UTF-8?q?Philippe=20Mathieu-Daud=C3=A9?= To: qemu-devel@nongnu.org Subject: [PATCH v2 13/20] hw/pci-host/piix: Extract piix3_create() Date: Fri, 18 Oct 2019 15:47:47 +0200 Message-Id: <20191018134754.16362-14-philmd@redhat.com> In-Reply-To: <20191018134754.16362-1-philmd@redhat.com> References: <20191018134754.16362-1-philmd@redhat.com> MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 X-Scanned-By: MIMEDefang 2.79 on 10.5.11.12 X-Greylist: Sender IP whitelisted, not delayed by milter-greylist-4.6.2 (mx1.redhat.com [10.5.110.63]); Fri, 18 Oct 2019 13:50:25 +0000 (UTC) Content-Transfer-Encoding: quoted-printable X-detected-operating-system: by eggs.gnu.org: GNU/Linux 2.2.x-3.x [generic] [fuzzy] X-Received-From: 209.132.183.28 X-BeenThere: qemu-devel@nongnu.org X-Mailman-Version: 2.1.23 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Cc: Stefano Stabellini , "Michael S. Tsirkin" , Paul Durrant , Paolo Bonzini , =?UTF-8?q?Herv=C3=A9=20Poussineau?= , Aleksandar Markovic , Igor Mammedov , Anthony Perard , xen-devel@lists.xenproject.org, Aleksandar Rikalo , Richard Henderson , =?UTF-8?q?Philippe=20Mathieu-Daud=C3=A9?= , Aurelien Jarno , Eduardo Habkost Errors-To: qemu-devel-bounces+qemu-devel=archiver.kernel.org@nongnu.org Sender: "Qemu-devel" Extract the PIIX3 creation code from the i440fx_init() function. Reviewed-by: Aleksandar Markovic Signed-off-by: Philippe Mathieu-Daud=C3=A9 --- hw/pci-host/piix.c | 51 ++++++++++++++++++++++++++++------------------ 1 file changed, 31 insertions(+), 20 deletions(-) diff --git a/hw/pci-host/piix.c b/hw/pci-host/piix.c index 2f4cbcbfe9..3292703de7 100644 --- a/hw/pci-host/piix.c +++ b/hw/pci-host/piix.c @@ -331,6 +331,36 @@ static void i440fx_realize(PCIDevice *dev, Error **e= rrp) } } =20 +static PIIX3State *piix3_create(PCIBus *pci_bus, ISABus **isa_bus) +{ + PIIX3State *piix3; + PCIDevice *pci_dev; + + /* + * Xen supports additional interrupt routes from the PCI devices to + * the IOAPIC: the four pins of each PCI device on the bus are also + * connected to the IOAPIC directly. + * These additional routes can be discovered through ACPI. + */ + if (xen_enabled()) { + pci_dev =3D pci_create_simple_multifunction(pci_bus, -1, true, + TYPE_PIIX3_XEN_DEVICE)= ; + piix3 =3D PIIX3_PCI_DEVICE(pci_dev); + pci_bus_irqs(pci_bus, xen_piix3_set_irq, xen_pci_slot_get_pirq, + piix3, XEN_PIIX_NUM_PIRQS); + } else { + pci_dev =3D pci_create_simple_multifunction(pci_bus, -1, true, + TYPE_PIIX3_DEVICE); + piix3 =3D PIIX3_PCI_DEVICE(pci_dev); + pci_bus_irqs(pci_bus, piix3_set_irq, pci_slot_get_pirq, + piix3, PIIX_NUM_PIRQS); + pci_bus_set_route_irq_fn(pci_bus, piix3_route_intx_pin_to_irq); + } + *isa_bus =3D ISA_BUS(qdev_get_child_bus(DEVICE(piix3), "isa.0")); + + return piix3; +} + PCIBus *i440fx_init(const char *host_type, const char *pci_type, PCII440FXState **pi440fx_state, int *piix3_devfn, @@ -400,27 +430,8 @@ PCIBus *i440fx_init(const char *host_type, const cha= r *pci_type, PAM_EXPAN_SIZE); } =20 - /* Xen supports additional interrupt routes from the PCI devices to - * the IOAPIC: the four pins of each PCI device on the bus are also - * connected to the IOAPIC directly. - * These additional routes can be discovered through ACPI. */ - if (xen_enabled()) { - PCIDevice *pci_dev =3D pci_create_simple_multifunction(b, - -1, true, TYPE_PIIX3_XEN_DEVICE); - piix3 =3D PIIX3_PCI_DEVICE(pci_dev); - pci_bus_irqs(b, xen_piix3_set_irq, xen_pci_slot_get_pirq, - piix3, XEN_PIIX_NUM_PIRQS); - } else { - PCIDevice *pci_dev =3D pci_create_simple_multifunction(b, - -1, true, TYPE_PIIX3_DEVICE); - piix3 =3D PIIX3_PCI_DEVICE(pci_dev); - pci_bus_irqs(b, piix3_set_irq, pci_slot_get_pirq, piix3, - PIIX_NUM_PIRQS); - pci_bus_set_route_irq_fn(b, piix3_route_intx_pin_to_irq); - } + piix3 =3D piix3_create(b, isa_bus); piix3->pic =3D pic; - *isa_bus =3D ISA_BUS(qdev_get_child_bus(DEVICE(piix3), "isa.0")); - *piix3_devfn =3D piix3->dev.devfn; =20 ram_size =3D ram_size / 8 / 1024 / 1024; --=20 2.21.0