From mboxrd@z Thu Jan 1 00:00:00 1970 Received: by 2002:a17:90a:3d4c:0:0:0:0 with SMTP id o12-v6csp2102800pjf; Sun, 4 Nov 2018 18:07:06 -0800 (PST) X-Google-Smtp-Source: AJdET5c98Yga+bex8yMjWj6H3NBs6kv5gyD+y6DQ+TUOlTLJSiL/BjXGojQduTK8i50S49b4RzxU X-Received: by 2002:aed:34a3:: with SMTP id x32mr9352109qtd.385.1541383625990; Sun, 04 Nov 2018 18:07:05 -0800 (PST) ARC-Seal: i=1; a=rsa-sha256; t=1541383625; cv=none; d=google.com; s=arc-20160816; b=bMPXhXQGMWvxZl91diRGxrjNkHOjXRzUzcf4rxMonXnmiNQ/Wi06KN53miUN+kGEkZ u3SiTv52IPhM93+oCUjRTFHLxz1vYoPgH0tJU4t+hAUTSkc9oNgZRQWX+l0HKw0DfAXF HQj7vcoUJLi5IQjtxFGaAwz1LvJxAGt3JOpFwWVBpxiPC3a2joBOk+oalJY/xGu5WMqR gsccQ+5bjYNwwDBdck3npwmVqx9bNFongJEppPW7P6zj2QQk15DT34dGBPOazlI4dpnV V3ciYVaB6WtiS0JtgyyonhoMBeYfDcjoP8CXzULwcC35Yd7KnDgaPUNjK6H61/g+WfrX vIKQ== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20160816; h=sender:errors-to:cc:list-subscribe:list-help:list-post:list-archive :list-unsubscribe:list-id:precedence:subject :content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:to:from; bh=6pq/yIkqLlBRjOh5wGKadSzZODrcyxkivA/64SYiuYA=; b=TJUeZgZDgZ+TcAvuP8lO9r2myTni0fTf+MlU+HL3+fgEkjOzARoPZbLOCnIlGZkmB2 WIgLDL5ND4lWfHOfyJPy6djY8qvSHrRJ6HmyciOSciPqYHTGCSn7xrX3KZLYtoiNo/v1 YdQLidKDAZ8JcdldkZM91K4rCxLbUfDD4s0Pr6k8Het6wWbD3z5/u1BrqyiWeAd0l67D hauiG4G0z7cpzdAQVcLe28B6+xnicfG7mLCidY5CU6orBmDb1szyN+i7lZdMTwwU4gu+ 0lhLkT5V5p1swZM055odiLRC25ZmisuRKbazZzPYZGrGODIe4mtBbVZ1BhRawZ79lx/Z uUzA== ARC-Authentication-Results: i=1; mx.google.com; spf=pass (google.com: domain of qemu-arm-bounces+alex.bennee=linaro.org@nongnu.org designates 2001:4830:134:3::11 as permitted sender) smtp.mailfrom="qemu-arm-bounces+alex.bennee=linaro.org@nongnu.org"; dmarc=fail (p=NONE sp=NONE dis=NONE) header.from=intel.com Return-Path: Received: from lists.gnu.org (lists.gnu.org. [2001:4830:134:3::11]) by mx.google.com with ESMTPS id s35si3170854qtd.154.2018.11.04.18.07.05 for (version=TLS1 cipher=AES128-SHA bits=128/128); Sun, 04 Nov 2018 18:07:05 -0800 (PST) Received-SPF: pass (google.com: domain of qemu-arm-bounces+alex.bennee=linaro.org@nongnu.org designates 2001:4830:134:3::11 as permitted sender) client-ip=2001:4830:134:3::11; Authentication-Results: mx.google.com; spf=pass (google.com: domain of qemu-arm-bounces+alex.bennee=linaro.org@nongnu.org designates 2001:4830:134:3::11 as permitted sender) smtp.mailfrom="qemu-arm-bounces+alex.bennee=linaro.org@nongnu.org"; dmarc=fail (p=NONE sp=NONE dis=NONE) header.from=intel.com Received: from localhost ([::1]:32788 helo=lists.gnu.org) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1gJUID-0008HR-Ec for alex.bennee@linaro.org; Sun, 04 Nov 2018 21:07:05 -0500 Received: from eggs.gnu.org ([2001:4830:134:3::10]:47352) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1gJTvS-0000jM-2d for qemu-arm@nongnu.org; Sun, 04 Nov 2018 20:43:35 -0500 Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1gJTvO-0003Xc-BA for qemu-arm@nongnu.org; Sun, 04 Nov 2018 20:43:31 -0500 Received: from mga05.intel.com ([192.55.52.43]:26671) by eggs.gnu.org with esmtps (TLS1.0:DHE_RSA_AES_256_CBC_SHA1:32) (Exim 4.71) (envelope-from ) id 1gJTvG-0003Ia-GP; Sun, 04 Nov 2018 20:43:24 -0500 X-Amp-Result: SKIPPED(no attachment in message) X-Amp-File-Uploaded: False Received: from fmsmga005.fm.intel.com ([10.253.24.32]) by fmsmga105.fm.intel.com with ESMTP/TLS/DHE-RSA-AES256-GCM-SHA384; 04 Nov 2018 17:43:20 -0800 X-ExtLoop1: 1 X-IronPort-AV: E=Sophos;i="5.54,466,1534834800"; d="scan'208";a="277074507" Received: from emurphy1-mobl1.ger.corp.intel.com (HELO localhost.localdomain) ([10.252.26.250]) by fmsmga005.fm.intel.com with ESMTP; 04 Nov 2018 17:43:14 -0800 From: Samuel Ortiz To: qemu-devel@nongnu.org Date: Mon, 5 Nov 2018 02:40:42 +0100 Message-Id: <20181105014047.26447-20-sameo@linux.intel.com> X-Mailer: git-send-email 2.19.1 In-Reply-To: <20181105014047.26447-1-sameo@linux.intel.com> References: <20181105014047.26447-1-sameo@linux.intel.com> MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit X-detected-operating-system: by eggs.gnu.org: Genre and OS details not recognized. X-Received-From: 192.55.52.43 Subject: [Qemu-arm] [PATCH v5 19/24] hw: acpi: Retrieve the PCI bus from AcpiPciHpState X-BeenThere: qemu-arm@nongnu.org X-Mailman-Version: 2.1.21 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Cc: Peter Maydell , Stefano Stabellini , Eduardo Habkost , "Michael S. Tsirkin" , Jing Liu , Shannon Zhao , Igor Mammedov , qemu-arm@nongnu.org, Marcel Apfelbaum , Paolo Bonzini , Anthony Perard , xen-devel@lists.xenproject.org, Sebastien Boeuf , Richard Henderson Errors-To: qemu-arm-bounces+alex.bennee=linaro.org@nongnu.org Sender: "Qemu-arm" X-TUID: 5mSZVpkSSLes From: Sebastien Boeuf Instead of using the machine type specific method find_i440fx() to retrieve the PCI bus, this commit aims to rely on the fact that the PCI bus is known by the structure AcpiPciHpState. When the structure is initialized through acpi_pcihp_init() call, it saves the PCI bus, which means there is no need to invoke a special function later on. Based on the fact that find_i440fx() was only used there, this patch also removes the function find_i440fx() itself from the entire codebase. Reviewed-by: Philippe Mathieu-Daudé Tested-by: Philippe Mathieu-Daudé Signed-off-by: Sebastien Boeuf Signed-off-by: Jing Liu --- include/hw/i386/pc.h | 1 - hw/acpi/pcihp.c | 10 ++++------ hw/pci-host/piix.c | 8 -------- stubs/pci-host-piix.c | 6 ------ stubs/Makefile.objs | 1 - 5 files changed, 4 insertions(+), 22 deletions(-) delete mode 100644 stubs/pci-host-piix.c diff --git a/include/hw/i386/pc.h b/include/hw/i386/pc.h index 44cb6bf3f3..8e5f1464eb 100644 --- a/include/hw/i386/pc.h +++ b/include/hw/i386/pc.h @@ -255,7 +255,6 @@ PCIBus *i440fx_init(const char *host_type, const char *pci_type, MemoryRegion *pci_memory, MemoryRegion *ram_memory); -PCIBus *find_i440fx(void); /* piix4.c */ extern PCIDevice *piix4_dev; int piix4_init(PCIBus *bus, ISABus **isa_bus, int devfn); diff --git a/hw/acpi/pcihp.c b/hw/acpi/pcihp.c index 80d42e12ff..254b2e50ab 100644 --- a/hw/acpi/pcihp.c +++ b/hw/acpi/pcihp.c @@ -93,10 +93,9 @@ static void *acpi_set_bsel(PCIBus *bus, void *opaque) return bsel_alloc; } -static void acpi_set_pci_info(void) +static void acpi_set_pci_info(AcpiPciHpState *s) { static bool bsel_is_set; - PCIBus *bus; unsigned bsel_alloc = ACPI_PCIHP_BSEL_DEFAULT; if (bsel_is_set) { @@ -104,10 +103,9 @@ static void acpi_set_pci_info(void) } bsel_is_set = true; - bus = find_i440fx(); /* TODO: Q35 support */ - if (bus) { + if (s->root) { /* Scan all PCI buses. Set property to enable acpi based hotplug. */ - pci_for_each_bus_depth_first(bus, acpi_set_bsel, NULL, &bsel_alloc); + pci_for_each_bus_depth_first(s->root, acpi_set_bsel, NULL, &bsel_alloc); } } @@ -213,7 +211,7 @@ static void acpi_pcihp_update(AcpiPciHpState *s) void acpi_pcihp_reset(AcpiPciHpState *s) { - acpi_set_pci_info(); + acpi_set_pci_info(s); acpi_pcihp_update(s); } diff --git a/hw/pci-host/piix.c b/hw/pci-host/piix.c index 47293a3915..658460264b 100644 --- a/hw/pci-host/piix.c +++ b/hw/pci-host/piix.c @@ -445,14 +445,6 @@ PCIBus *i440fx_init(const char *host_type, const char *pci_type, return b; } -PCIBus *find_i440fx(void) -{ - PCIHostState *s = OBJECT_CHECK(PCIHostState, - object_resolve_path("/machine/i440fx", NULL), - TYPE_PCI_HOST_BRIDGE); - return s ? s->bus : NULL; -} - /* PIIX3 PCI to ISA bridge */ static void piix3_set_irq_pic(PIIX3State *piix3, int pic_irq) { diff --git a/stubs/pci-host-piix.c b/stubs/pci-host-piix.c deleted file mode 100644 index 6ed81b1f21..0000000000 --- a/stubs/pci-host-piix.c +++ /dev/null @@ -1,6 +0,0 @@ -#include "qemu/osdep.h" -#include "hw/i386/pc.h" -PCIBus *find_i440fx(void) -{ - return NULL; -} diff --git a/stubs/Makefile.objs b/stubs/Makefile.objs index 5dd0aeeec6..725f78bedc 100644 --- a/stubs/Makefile.objs +++ b/stubs/Makefile.objs @@ -41,6 +41,5 @@ stub-obj-y += pc_madt_cpu_entry.o stub-obj-y += vmgenid.o stub-obj-y += xen-common.o stub-obj-y += xen-hvm.o -stub-obj-y += pci-host-piix.o stub-obj-y += ram-block.o stub-obj-y += ramfb.o -- 2.19.1 From mboxrd@z Thu Jan 1 00:00:00 1970 From: Samuel Ortiz Subject: [PATCH v5 19/24] hw: acpi: Retrieve the PCI bus from AcpiPciHpState Date: Mon, 5 Nov 2018 02:40:42 +0100 Message-ID: <20181105014047.26447-20-sameo@linux.intel.com> References: <20181105014047.26447-1-sameo@linux.intel.com> Mime-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 Return-path: Received: from all-amaz-eas1.inumbo.com ([34.197.232.57] helo=us1-amaz-eas2.inumbo.com) by lists.xenproject.org with esmtp (Exim 4.89) (envelope-from ) id 1gJTvH-0004TZ-2w for xen-devel@lists.xenproject.org; Mon, 05 Nov 2018 01:43:23 +0000 In-Reply-To: <20181105014047.26447-1-sameo@linux.intel.com> List-Unsubscribe: , List-Post: List-Help: List-Subscribe: , Errors-To: xen-devel-bounces@lists.xenproject.org Sender: "Xen-devel" To: qemu-devel@nongnu.org Cc: Peter Maydell , Stefano Stabellini , Eduardo Habkost , "Michael S. Tsirkin" , Jing Liu , Shannon Zhao , Igor Mammedov , qemu-arm@nongnu.org, Marcel Apfelbaum , Paolo Bonzini , Anthony Perard , xen-devel@lists.xenproject.org, Sebastien Boeuf , Richard Henderson List-Id: xen-devel@lists.xenproject.org RnJvbTogU2ViYXN0aWVuIEJvZXVmIDxzZWJhc3RpZW4uYm9ldWZAaW50ZWwuY29tPgoKSW5zdGVh ZCBvZiB1c2luZyB0aGUgbWFjaGluZSB0eXBlIHNwZWNpZmljIG1ldGhvZCBmaW5kX2k0NDBmeCgp IHRvCnJldHJpZXZlIHRoZSBQQ0kgYnVzLCB0aGlzIGNvbW1pdCBhaW1zIHRvIHJlbHkgb24gdGhl IGZhY3QgdGhhdCB0aGUKUENJIGJ1cyBpcyBrbm93biBieSB0aGUgc3RydWN0dXJlIEFjcGlQY2lI cFN0YXRlLgoKV2hlbiB0aGUgc3RydWN0dXJlIGlzIGluaXRpYWxpemVkIHRocm91Z2ggYWNwaV9w Y2locF9pbml0KCkgY2FsbCwKaXQgc2F2ZXMgdGhlIFBDSSBidXMsIHdoaWNoIG1lYW5zIHRoZXJl IGlzIG5vIG5lZWQgdG8gaW52b2tlIGEKc3BlY2lhbCBmdW5jdGlvbiBsYXRlciBvbi4KCkJhc2Vk IG9uIHRoZSBmYWN0IHRoYXQgZmluZF9pNDQwZngoKSB3YXMgb25seSB1c2VkIHRoZXJlLCB0aGlz CnBhdGNoIGFsc28gcmVtb3ZlcyB0aGUgZnVuY3Rpb24gZmluZF9pNDQwZngoKSBpdHNlbGYgZnJv bSB0aGUKZW50aXJlIGNvZGViYXNlLgoKUmV2aWV3ZWQtYnk6IFBoaWxpcHBlIE1hdGhpZXUtRGF1 ZMOpIDxwaGlsbWRAcmVkaGF0LmNvbT4KVGVzdGVkLWJ5OiBQaGlsaXBwZSBNYXRoaWV1LURhdWTD qSA8cGhpbG1kQHJlZGhhdC5jb20+ClNpZ25lZC1vZmYtYnk6IFNlYmFzdGllbiBCb2V1ZiA8c2Vi YXN0aWVuLmJvZXVmQGludGVsLmNvbT4KU2lnbmVkLW9mZi1ieTogSmluZyBMaXUgPGppbmcyLmxp dUBsaW51eC5pbnRlbC5jb20+Ci0tLQogaW5jbHVkZS9ody9pMzg2L3BjLmggIHwgIDEgLQogaHcv YWNwaS9wY2locC5jICAgICAgIHwgMTAgKysrKy0tLS0tLQogaHcvcGNpLWhvc3QvcGlpeC5jICAg IHwgIDggLS0tLS0tLS0KIHN0dWJzL3BjaS1ob3N0LXBpaXguYyB8ICA2IC0tLS0tLQogc3R1YnMv TWFrZWZpbGUub2JqcyAgIHwgIDEgLQogNSBmaWxlcyBjaGFuZ2VkLCA0IGluc2VydGlvbnMoKyks IDIyIGRlbGV0aW9ucygtKQogZGVsZXRlIG1vZGUgMTAwNjQ0IHN0dWJzL3BjaS1ob3N0LXBpaXgu YwoKZGlmZiAtLWdpdCBhL2luY2x1ZGUvaHcvaTM4Ni9wYy5oIGIvaW5jbHVkZS9ody9pMzg2L3Bj LmgKaW5kZXggNDRjYjZiZjNmMy4uOGU1ZjE0NjRlYiAxMDA2NDQKLS0tIGEvaW5jbHVkZS9ody9p Mzg2L3BjLmgKKysrIGIvaW5jbHVkZS9ody9pMzg2L3BjLmgKQEAgLTI1NSw3ICsyNTUsNiBAQCBQ Q0lCdXMgKmk0NDBmeF9pbml0KGNvbnN0IGNoYXIgKmhvc3RfdHlwZSwgY29uc3QgY2hhciAqcGNp X3R5cGUsCiAgICAgICAgICAgICAgICAgICAgIE1lbW9yeVJlZ2lvbiAqcGNpX21lbW9yeSwKICAg ICAgICAgICAgICAgICAgICAgTWVtb3J5UmVnaW9uICpyYW1fbWVtb3J5KTsKIAotUENJQnVzICpm aW5kX2k0NDBmeCh2b2lkKTsKIC8qIHBpaXg0LmMgKi8KIGV4dGVybiBQQ0lEZXZpY2UgKnBpaXg0 X2RldjsKIGludCBwaWl4NF9pbml0KFBDSUJ1cyAqYnVzLCBJU0FCdXMgKippc2FfYnVzLCBpbnQg ZGV2Zm4pOwpkaWZmIC0tZ2l0IGEvaHcvYWNwaS9wY2locC5jIGIvaHcvYWNwaS9wY2locC5jCmlu ZGV4IDgwZDQyZTEyZmYuLjI1NGIyZTUwYWIgMTAwNjQ0Ci0tLSBhL2h3L2FjcGkvcGNpaHAuYwor KysgYi9ody9hY3BpL3BjaWhwLmMKQEAgLTkzLDEwICs5Myw5IEBAIHN0YXRpYyB2b2lkICphY3Bp X3NldF9ic2VsKFBDSUJ1cyAqYnVzLCB2b2lkICpvcGFxdWUpCiAgICAgcmV0dXJuIGJzZWxfYWxs b2M7CiB9CiAKLXN0YXRpYyB2b2lkIGFjcGlfc2V0X3BjaV9pbmZvKHZvaWQpCitzdGF0aWMgdm9p ZCBhY3BpX3NldF9wY2lfaW5mbyhBY3BpUGNpSHBTdGF0ZSAqcykKIHsKICAgICBzdGF0aWMgYm9v bCBic2VsX2lzX3NldDsKLSAgICBQQ0lCdXMgKmJ1czsKICAgICB1bnNpZ25lZCBic2VsX2FsbG9j ID0gQUNQSV9QQ0lIUF9CU0VMX0RFRkFVTFQ7CiAKICAgICBpZiAoYnNlbF9pc19zZXQpIHsKQEAg LTEwNCwxMCArMTAzLDkgQEAgc3RhdGljIHZvaWQgYWNwaV9zZXRfcGNpX2luZm8odm9pZCkKICAg ICB9CiAgICAgYnNlbF9pc19zZXQgPSB0cnVlOwogCi0gICAgYnVzID0gZmluZF9pNDQwZngoKTsg LyogVE9ETzogUTM1IHN1cHBvcnQgKi8KLSAgICBpZiAoYnVzKSB7CisgICAgaWYgKHMtPnJvb3Qp IHsKICAgICAgICAgLyogU2NhbiBhbGwgUENJIGJ1c2VzLiBTZXQgcHJvcGVydHkgdG8gZW5hYmxl IGFjcGkgYmFzZWQgaG90cGx1Zy4gKi8KLSAgICAgICAgcGNpX2Zvcl9lYWNoX2J1c19kZXB0aF9m aXJzdChidXMsIGFjcGlfc2V0X2JzZWwsIE5VTEwsICZic2VsX2FsbG9jKTsKKyAgICAgICAgcGNp X2Zvcl9lYWNoX2J1c19kZXB0aF9maXJzdChzLT5yb290LCBhY3BpX3NldF9ic2VsLCBOVUxMLCAm YnNlbF9hbGxvYyk7CiAgICAgfQogfQogCkBAIC0yMTMsNyArMjExLDcgQEAgc3RhdGljIHZvaWQg YWNwaV9wY2locF91cGRhdGUoQWNwaVBjaUhwU3RhdGUgKnMpCiAKIHZvaWQgYWNwaV9wY2locF9y ZXNldChBY3BpUGNpSHBTdGF0ZSAqcykKIHsKLSAgICBhY3BpX3NldF9wY2lfaW5mbygpOworICAg IGFjcGlfc2V0X3BjaV9pbmZvKHMpOwogICAgIGFjcGlfcGNpaHBfdXBkYXRlKHMpOwogfQogCmRp ZmYgLS1naXQgYS9ody9wY2ktaG9zdC9waWl4LmMgYi9ody9wY2ktaG9zdC9waWl4LmMKaW5kZXgg NDcyOTNhMzkxNS4uNjU4NDYwMjY0YiAxMDA2NDQKLS0tIGEvaHcvcGNpLWhvc3QvcGlpeC5jCisr KyBiL2h3L3BjaS1ob3N0L3BpaXguYwpAQCAtNDQ1LDE0ICs0NDUsNiBAQCBQQ0lCdXMgKmk0NDBm eF9pbml0KGNvbnN0IGNoYXIgKmhvc3RfdHlwZSwgY29uc3QgY2hhciAqcGNpX3R5cGUsCiAgICAg cmV0dXJuIGI7CiB9CiAKLVBDSUJ1cyAqZmluZF9pNDQwZngodm9pZCkKLXsKLSAgICBQQ0lIb3N0 U3RhdGUgKnMgPSBPQkpFQ1RfQ0hFQ0soUENJSG9zdFN0YXRlLAotICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICBvYmplY3RfcmVzb2x2ZV9wYXRoKCIvbWFjaGluZS9pNDQwZngiLCBO VUxMKSwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgVFlQRV9QQ0lfSE9TVF9C UklER0UpOwotICAgIHJldHVybiBzID8gcy0+YnVzIDogTlVMTDsKLX0KLQogLyogUElJWDMgUENJ IHRvIElTQSBicmlkZ2UgKi8KIHN0YXRpYyB2b2lkIHBpaXgzX3NldF9pcnFfcGljKFBJSVgzU3Rh dGUgKnBpaXgzLCBpbnQgcGljX2lycSkKIHsKZGlmZiAtLWdpdCBhL3N0dWJzL3BjaS1ob3N0LXBp aXguYyBiL3N0dWJzL3BjaS1ob3N0LXBpaXguYwpkZWxldGVkIGZpbGUgbW9kZSAxMDA2NDQKaW5k ZXggNmVkODFiMWYyMS4uMDAwMDAwMDAwMAotLS0gYS9zdHVicy9wY2ktaG9zdC1waWl4LmMKKysr IC9kZXYvbnVsbApAQCAtMSw2ICswLDAgQEAKLSNpbmNsdWRlICJxZW11L29zZGVwLmgiCi0jaW5j bHVkZSAiaHcvaTM4Ni9wYy5oIgotUENJQnVzICpmaW5kX2k0NDBmeCh2b2lkKQotewotICAgIHJl dHVybiBOVUxMOwotfQpkaWZmIC0tZ2l0IGEvc3R1YnMvTWFrZWZpbGUub2JqcyBiL3N0dWJzL01h a2VmaWxlLm9ianMKaW5kZXggNWRkMGFlZWVjNi4uNzI1Zjc4YmVkYyAxMDA2NDQKLS0tIGEvc3R1 YnMvTWFrZWZpbGUub2JqcworKysgYi9zdHVicy9NYWtlZmlsZS5vYmpzCkBAIC00MSw2ICs0MSw1 IEBAIHN0dWItb2JqLXkgKz0gcGNfbWFkdF9jcHVfZW50cnkubwogc3R1Yi1vYmoteSArPSB2bWdl bmlkLm8KIHN0dWItb2JqLXkgKz0geGVuLWNvbW1vbi5vCiBzdHViLW9iai15ICs9IHhlbi1odm0u bwotc3R1Yi1vYmoteSArPSBwY2ktaG9zdC1waWl4Lm8KIHN0dWItb2JqLXkgKz0gcmFtLWJsb2Nr Lm8KIHN0dWItb2JqLXkgKz0gcmFtZmIubwotLSAKMi4xOS4xCgoKX19fX19fX19fX19fX19fX19f X19fX19fX19fX19fX19fX19fX19fX19fX19fX18KWGVuLWRldmVsIG1haWxpbmcgbGlzdApYZW4t ZGV2ZWxAbGlzdHMueGVucHJvamVjdC5vcmcKaHR0cHM6Ly9saXN0cy54ZW5wcm9qZWN0Lm9yZy9t YWlsbWFuL2xpc3RpbmZvL3hlbi1kZXZlbA== From mboxrd@z Thu Jan 1 00:00:00 1970 Received: from eggs.gnu.org ([2001:4830:134:3::10]:47417) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1gJTvc-0000rY-GF for qemu-devel@nongnu.org; Sun, 04 Nov 2018 20:43:45 -0500 Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1gJTvW-0003iL-Kb for qemu-devel@nongnu.org; Sun, 04 Nov 2018 20:43:44 -0500 From: Samuel Ortiz Date: Mon, 5 Nov 2018 02:40:42 +0100 Message-Id: <20181105014047.26447-20-sameo@linux.intel.com> In-Reply-To: <20181105014047.26447-1-sameo@linux.intel.com> References: <20181105014047.26447-1-sameo@linux.intel.com> MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Subject: [Qemu-devel] [PATCH v5 19/24] hw: acpi: Retrieve the PCI bus from AcpiPciHpState List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , To: qemu-devel@nongnu.org Cc: Shannon Zhao , Stefano Stabellini , Anthony Perard , Richard Henderson , Marcel Apfelbaum , xen-devel@lists.xenproject.org, Paolo Bonzini , "Michael S. Tsirkin" , Igor Mammedov , qemu-arm@nongnu.org, Peter Maydell , Eduardo Habkost , Sebastien Boeuf , Jing Liu From: Sebastien Boeuf Instead of using the machine type specific method find_i440fx() to retrieve the PCI bus, this commit aims to rely on the fact that the PCI bus is known by the structure AcpiPciHpState. When the structure is initialized through acpi_pcihp_init() call, it saves the PCI bus, which means there is no need to invoke a special function later on. Based on the fact that find_i440fx() was only used there, this patch also removes the function find_i440fx() itself from the entire codebase. Reviewed-by: Philippe Mathieu-Daudé Tested-by: Philippe Mathieu-Daudé Signed-off-by: Sebastien Boeuf Signed-off-by: Jing Liu --- include/hw/i386/pc.h | 1 - hw/acpi/pcihp.c | 10 ++++------ hw/pci-host/piix.c | 8 -------- stubs/pci-host-piix.c | 6 ------ stubs/Makefile.objs | 1 - 5 files changed, 4 insertions(+), 22 deletions(-) delete mode 100644 stubs/pci-host-piix.c diff --git a/include/hw/i386/pc.h b/include/hw/i386/pc.h index 44cb6bf3f3..8e5f1464eb 100644 --- a/include/hw/i386/pc.h +++ b/include/hw/i386/pc.h @@ -255,7 +255,6 @@ PCIBus *i440fx_init(const char *host_type, const char *pci_type, MemoryRegion *pci_memory, MemoryRegion *ram_memory); -PCIBus *find_i440fx(void); /* piix4.c */ extern PCIDevice *piix4_dev; int piix4_init(PCIBus *bus, ISABus **isa_bus, int devfn); diff --git a/hw/acpi/pcihp.c b/hw/acpi/pcihp.c index 80d42e12ff..254b2e50ab 100644 --- a/hw/acpi/pcihp.c +++ b/hw/acpi/pcihp.c @@ -93,10 +93,9 @@ static void *acpi_set_bsel(PCIBus *bus, void *opaque) return bsel_alloc; } -static void acpi_set_pci_info(void) +static void acpi_set_pci_info(AcpiPciHpState *s) { static bool bsel_is_set; - PCIBus *bus; unsigned bsel_alloc = ACPI_PCIHP_BSEL_DEFAULT; if (bsel_is_set) { @@ -104,10 +103,9 @@ static void acpi_set_pci_info(void) } bsel_is_set = true; - bus = find_i440fx(); /* TODO: Q35 support */ - if (bus) { + if (s->root) { /* Scan all PCI buses. Set property to enable acpi based hotplug. */ - pci_for_each_bus_depth_first(bus, acpi_set_bsel, NULL, &bsel_alloc); + pci_for_each_bus_depth_first(s->root, acpi_set_bsel, NULL, &bsel_alloc); } } @@ -213,7 +211,7 @@ static void acpi_pcihp_update(AcpiPciHpState *s) void acpi_pcihp_reset(AcpiPciHpState *s) { - acpi_set_pci_info(); + acpi_set_pci_info(s); acpi_pcihp_update(s); } diff --git a/hw/pci-host/piix.c b/hw/pci-host/piix.c index 47293a3915..658460264b 100644 --- a/hw/pci-host/piix.c +++ b/hw/pci-host/piix.c @@ -445,14 +445,6 @@ PCIBus *i440fx_init(const char *host_type, const char *pci_type, return b; } -PCIBus *find_i440fx(void) -{ - PCIHostState *s = OBJECT_CHECK(PCIHostState, - object_resolve_path("/machine/i440fx", NULL), - TYPE_PCI_HOST_BRIDGE); - return s ? s->bus : NULL; -} - /* PIIX3 PCI to ISA bridge */ static void piix3_set_irq_pic(PIIX3State *piix3, int pic_irq) { diff --git a/stubs/pci-host-piix.c b/stubs/pci-host-piix.c deleted file mode 100644 index 6ed81b1f21..0000000000 --- a/stubs/pci-host-piix.c +++ /dev/null @@ -1,6 +0,0 @@ -#include "qemu/osdep.h" -#include "hw/i386/pc.h" -PCIBus *find_i440fx(void) -{ - return NULL; -} diff --git a/stubs/Makefile.objs b/stubs/Makefile.objs index 5dd0aeeec6..725f78bedc 100644 --- a/stubs/Makefile.objs +++ b/stubs/Makefile.objs @@ -41,6 +41,5 @@ stub-obj-y += pc_madt_cpu_entry.o stub-obj-y += vmgenid.o stub-obj-y += xen-common.o stub-obj-y += xen-hvm.o -stub-obj-y += pci-host-piix.o stub-obj-y += ram-block.o stub-obj-y += ramfb.o -- 2.19.1