[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: [RFC PATCH 1/5] hw/acpi/pcihp: Introduce find_host()
From: |
Igor Mammedov |
Subject: |
Re: [RFC PATCH 1/5] hw/acpi/pcihp: Introduce find_host() |
Date: |
Mon, 13 Jul 2020 11:37:30 +0200 |
On Thu, 9 Jul 2020 00:46:11 +0200
Julia Suvorova <jusual@redhat.com> wrote:
> 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;
> +}
My guess you are adding it for 5/5, with a function name a bit off
compared to what you are doing (probably you've tried to reuse find_i440fx()
idea)
I'd just make acpi_get_i386_pci_host() public, drop find_host and use
host = acpi_get_i386_pci_host()
bus = PCI_HOST_BRIDGE(pci_host)->bus
like it's done elsewhere
> 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;
>
[RFC PATCH 4/5] hw/i386/acpi-build: Turn off support of PCIe native hot-plug and SHPC in _OSC, Julia Suvorova, 2020/07/08