[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[RFC PATCH 1/5] hw/acpi/pcihp: Introduce find_host()
From: |
Julia Suvorova |
Subject: |
[RFC PATCH 1/5] hw/acpi/pcihp: Introduce find_host() |
Date: |
Thu, 9 Jul 2020 00:46:11 +0200 |
Returns the current host bus with ACPI PCI hot-plug support: q35 or i440fx.
Signed-off-by: Julia Suvorova <jusual@redhat.com>
---
hw/i386/acpi-build.h | 2 ++
hw/acpi/pcihp.c | 13 +++++++++++++
hw/i386/acpi-build.c | 2 +-
3 files changed, 16 insertions(+), 1 deletion(-)
diff --git a/hw/i386/acpi-build.h b/hw/i386/acpi-build.h
index 74df5fc612..0696b4e48d 100644
--- a/hw/i386/acpi-build.h
+++ b/hw/i386/acpi-build.h
@@ -7,4 +7,6 @@ extern const struct AcpiGenericAddress x86_nvdimm_acpi_dsmio;
void acpi_setup(void);
+Object *acpi_get_i386_pci_host(void);
+
#endif
diff --git a/hw/acpi/pcihp.c b/hw/acpi/pcihp.c
index d42906ea19..3d4ee3af72 100644
--- a/hw/acpi/pcihp.c
+++ b/hw/acpi/pcihp.c
@@ -33,10 +33,12 @@
#include "hw/acpi/acpi.h"
#include "exec/address-spaces.h"
#include "hw/pci/pci_bus.h"
+#include "hw/pci/pci_host.h"
#include "migration/vmstate.h"
#include "qapi/error.h"
#include "qom/qom-qobject.h"
#include "trace.h"
+#include "hw/i386/acpi-build.h"
#define ACPI_PCIHP_ADDR 0xae00
#define ACPI_PCIHP_SIZE 0x0014
@@ -86,6 +88,17 @@ static void *acpi_set_bsel(PCIBus *bus, void *opaque)
return bsel_alloc;
}
+static PCIBus *find_host(void)
+{
+ Object *obj = acpi_get_i386_pci_host();
+
+ if (obj) {
+ return PCI_HOST_BRIDGE(obj)->bus;
+ }
+
+ return NULL;
+}
+
static void acpi_set_pci_info(void)
{
static bool bsel_is_set;
diff --git a/hw/i386/acpi-build.c b/hw/i386/acpi-build.c
index 900f786d08..11c598f955 100644
--- a/hw/i386/acpi-build.c
+++ b/hw/i386/acpi-build.c
@@ -270,7 +270,7 @@ static void acpi_get_misc_info(AcpiMiscInfo *info)
* Because of the PXB hosts we cannot simply query TYPE_PCI_HOST_BRIDGE.
* On i386 arch we only have two pci hosts, so we can look only for them.
*/
-static Object *acpi_get_i386_pci_host(void)
+Object *acpi_get_i386_pci_host(void)
{
PCIHostState *host;
--
2.25.4