[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: [PATCH v2 3/3] hw/i386/acpi-build: Resolve north rather than south b
From: |
Ani Sinha |
Subject: |
Re: [PATCH v2 3/3] hw/i386/acpi-build: Resolve north rather than south bridges |
Date: |
Fri, 28 Oct 2022 16:28:07 +0530 |
On Fri, Oct 28, 2022 at 4:05 PM Bernhard Beschow <shentey@gmail.com> wrote:
>
> The code currently assumes Q35 iff ICH9 and i440fx iff PIIX. Now that more
> AML generation has been moved into the south bridges and since the
> machines define themselves primarily through their north bridges, let's
> switch to resolving the north bridges for AML generation instead. This
> also allows for easier experimentation with different south bridges in
> the "pc" machine, e.g. with PIIX4 and VT82xx.
Unfortunately this patch does not apply on the latest master. Also the
code seems to be off. Can you rebase and rework the patch?
>
> Signed-off-by: Bernhard Beschow <shentey@gmail.com>
> ---
> hw/i386/acpi-build.c | 11 ++++++-----
> 1 file changed, 6 insertions(+), 5 deletions(-)
>
> diff --git a/hw/i386/acpi-build.c b/hw/i386/acpi-build.c
> index 73d8a59737..d9eaa5fc4d 100644
> --- a/hw/i386/acpi-build.c
> +++ b/hw/i386/acpi-build.c
> @@ -60,6 +60,7 @@
> #include "hw/i386/fw_cfg.h"
> #include "hw/i386/ich9.h"
> #include "hw/pci/pci_bus.h"
> +#include "hw/pci-host/i440fx.h"
> #include "hw/pci-host/q35.h"
> #include "hw/i386/x86-iommu.h"
>
> @@ -1322,8 +1323,8 @@ build_dsdt(GArray *table_data, BIOSLinker *linker,
> AcpiPmInfo *pm, AcpiMiscInfo *misc,
> Range *pci_hole, Range *pci_hole64, MachineState *machine)
> {
> - Object *piix = object_resolve_type_unambiguous(TYPE_PIIX4_PM);
> - Object *lpc = object_resolve_type_unambiguous(TYPE_ICH9_LPC_DEVICE);
> + Object *i440fx =
> object_resolve_type_unambiguous(TYPE_I440FX_PCI_HOST_BRIDGE);
> + Object *q35 = object_resolve_type_unambiguous(TYPE_Q35_HOST_DEVICE);
> CrsRangeEntry *entry;
> Aml *dsdt, *sb_scope, *scope, *dev, *method, *field, *pkg, *crs;
> CrsRangeSet crs_range_set;
> @@ -1344,13 +1345,13 @@ build_dsdt(GArray *table_data, BIOSLinker *linker,
> AcpiTable table = { .sig = "DSDT", .rev = 1, .oem_id = x86ms->oem_id,
> .oem_table_id = x86ms->oem_table_id };
>
> - assert(!!piix != !!lpc);
> + assert(!!i440fx != !!q35);
>
> acpi_table_begin(&table, table_data);
> dsdt = init_aml_allocator();
>
> build_dbg_aml(dsdt);
> - if (piix) {
> + if (i440fx) {
> sb_scope = aml_scope("_SB");
> dev = aml_device("PCI0");
> aml_append(dev, aml_name_decl("_HID", aml_eisaid("PNP0A03")));
> @@ -1363,7 +1364,7 @@ build_dsdt(GArray *table_data, BIOSLinker *linker,
> build_x86_acpi_pci_hotplug(dsdt, pm->pcihp_io_base);
> }
> build_piix4_pci0_int(dsdt);
> - } else if (lpc) {
> + } else if (q35) {
> sb_scope = aml_scope("_SB");
> dev = aml_device("PCI0");
> aml_append(dev, aml_name_decl("_HID", aml_eisaid("PNP0A08")));
> --
> 2.38.1
>
- [PATCH v2 0/3] hw/i386: Cleanup AML generation for north and south bridges, Bernhard Beschow, 2022/10/28
- [PATCH v2 3/3] hw/i386/acpi-build: Resolve north rather than south bridges, Bernhard Beschow, 2022/10/28
- Re: [PATCH v2 3/3] hw/i386/acpi-build: Resolve north rather than south bridges,
Ani Sinha <=
- Re: [PATCH v2 3/3] hw/i386/acpi-build: Resolve north rather than south bridges, B, 2022/10/28
- Re: [PATCH v2 3/3] hw/i386/acpi-build: Resolve north rather than south bridges, Ani Sinha, 2022/10/28
- Re: [PATCH v2 3/3] hw/i386/acpi-build: Resolve north rather than south bridges, Michael S. Tsirkin, 2022/10/29
- Re: [PATCH v2 3/3] hw/i386/acpi-build: Resolve north rather than south bridges, Ani Sinha, 2022/10/30
- Re: [PATCH v2 3/3] hw/i386/acpi-build: Resolve north rather than south bridges, Michael S. Tsirkin, 2022/10/30
- Re: [PATCH v2 3/3] hw/i386/acpi-build: Resolve north rather than south bridges, Ani Sinha, 2022/10/30
- Re: [PATCH v2 3/3] hw/i386/acpi-build: Resolve north rather than south bridges, Michael S. Tsirkin, 2022/10/30
Re: [PATCH v2 3/3] hw/i386/acpi-build: Resolve north rather than south bridges, Ani Sinha, 2022/10/30
Re: [PATCH v2 3/3] hw/i386/acpi-build: Resolve north rather than south bridges, Igor Mammedov, 2022/10/31
[PATCH v2 1/3] hw/i386/acpi-build: Remove unused struct, Bernhard Beschow, 2022/10/28