Message ID | 1453126333-19474-3-git-send-email-lersek@redhat.com (mailing list archive) |
---|---|
State | New, archived |
Headers | show |
On 2016/1/18 22:12, Laszlo Ersek wrote: > Since build_rsdt() is implemented as common utility code (in > "hw/acpi/aml-build.c"), it should expose -- and forward -- the oem_id and > oem_table_id parameters between board code and the generic build_header() > function. > > Cc: "Michael S. Tsirkin" <mst@redhat.com> (supporter:ACPI/SMBIOS) > Cc: Igor Mammedov <imammedo@redhat.com> (supporter:ACPI/SMBIOS) > Cc: Shannon Zhao <zhaoshenglong@huawei.com> (maintainer:ARM ACPI Subsystem) > Cc: Paolo Bonzini <pbonzini@redhat.com> (maintainer:X86) > Cc: Richard W.M. Jones <rjones@redhat.com> > Cc: Aleksei Kovura <alex3kov@zoho.com> > Cc: Michael Tokarev <mjt@tls.msk.ru> > Cc: Steven Newbury <steve@snewbury.org.uk> > RHBZ: https://bugzilla.redhat.com/show_bug.cgi?id=1248758 > LP: https://bugs.launchpad.net/qemu/+bug/1533848 > Signed-off-by: Laszlo Ersek <lersek@redhat.com> Reviewed-by: Shannon Zhao <shannon.zhao@linaro.org> > --- > > Notes: > v2: > - no change > > include/hw/acpi/aml-build.h | 3 ++- > hw/acpi/aml-build.c | 5 +++-- > hw/arm/virt-acpi-build.c | 2 +- > hw/i386/acpi-build.c | 2 +- > 4 files changed, 7 insertions(+), 5 deletions(-) > > diff --git a/include/hw/acpi/aml-build.h b/include/hw/acpi/aml-build.h > index c460bdd..aa29d30 100644 > --- a/include/hw/acpi/aml-build.h > +++ b/include/hw/acpi/aml-build.h > @@ -364,6 +364,7 @@ void acpi_add_table(GArray *table_offsets, GArray *table_data); > void acpi_build_tables_init(AcpiBuildTables *tables); > void acpi_build_tables_cleanup(AcpiBuildTables *tables, bool mfre); > void > -build_rsdt(GArray *table_data, GArray *linker, GArray *table_offsets); > +build_rsdt(GArray *table_data, GArray *linker, GArray *table_offsets, > + const char *oem_id, const char *oem_table_id); > > #endif > diff --git a/hw/acpi/aml-build.c b/hw/acpi/aml-build.c > index 05b8bd0..ce7fe81 100644 > --- a/hw/acpi/aml-build.c > +++ b/hw/acpi/aml-build.c > @@ -1496,7 +1496,8 @@ void acpi_build_tables_cleanup(AcpiBuildTables *tables, bool mfre) > > /* Build rsdt table */ > void > -build_rsdt(GArray *table_data, GArray *linker, GArray *table_offsets) > +build_rsdt(GArray *table_data, GArray *linker, GArray *table_offsets, > + const char *oem_id, const char *oem_table_id) > { > AcpiRsdtDescriptorRev1 *rsdt; > size_t rsdt_len; > @@ -1515,5 +1516,5 @@ build_rsdt(GArray *table_data, GArray *linker, GArray *table_offsets) > sizeof(uint32_t)); > } > build_header(linker, table_data, > - (void *)rsdt, "RSDT", rsdt_len, 1, NULL, NULL); > + (void *)rsdt, "RSDT", rsdt_len, 1, oem_id, oem_table_id); > } > diff --git a/hw/arm/virt-acpi-build.c b/hw/arm/virt-acpi-build.c > index 985fca4..2e90515 100644 > --- a/hw/arm/virt-acpi-build.c > +++ b/hw/arm/virt-acpi-build.c > @@ -642,7 +642,7 @@ void virt_acpi_build(VirtGuestInfo *guest_info, AcpiBuildTables *tables) > > /* RSDT is pointed to by RSDP */ > rsdt = tables_blob->len; > - build_rsdt(tables_blob, tables->linker, table_offsets); > + build_rsdt(tables_blob, tables->linker, table_offsets, NULL, NULL); > > /* RSDP is in FSEG memory, so allocate it separately */ > build_rsdp(tables->rsdp, tables->linker, rsdt); > diff --git a/hw/i386/acpi-build.c b/hw/i386/acpi-build.c > index e1ebd07..6408362 100644 > --- a/hw/i386/acpi-build.c > +++ b/hw/i386/acpi-build.c > @@ -2705,7 +2705,7 @@ void acpi_build(PcGuestInfo *guest_info, AcpiBuildTables *tables) > > /* RSDT is pointed to by RSDP */ > rsdt = tables_blob->len; > - build_rsdt(tables_blob, tables->linker, table_offsets); > + build_rsdt(tables_blob, tables->linker, table_offsets, NULL, NULL); > > /* RSDP is in FSEG memory, so allocate it separately */ > build_rsdp(tables->rsdp, tables->linker, rsdt); >
diff --git a/include/hw/acpi/aml-build.h b/include/hw/acpi/aml-build.h index c460bdd..aa29d30 100644 --- a/include/hw/acpi/aml-build.h +++ b/include/hw/acpi/aml-build.h @@ -364,6 +364,7 @@ void acpi_add_table(GArray *table_offsets, GArray *table_data); void acpi_build_tables_init(AcpiBuildTables *tables); void acpi_build_tables_cleanup(AcpiBuildTables *tables, bool mfre); void -build_rsdt(GArray *table_data, GArray *linker, GArray *table_offsets); +build_rsdt(GArray *table_data, GArray *linker, GArray *table_offsets, + const char *oem_id, const char *oem_table_id); #endif diff --git a/hw/acpi/aml-build.c b/hw/acpi/aml-build.c index 05b8bd0..ce7fe81 100644 --- a/hw/acpi/aml-build.c +++ b/hw/acpi/aml-build.c @@ -1496,7 +1496,8 @@ void acpi_build_tables_cleanup(AcpiBuildTables *tables, bool mfre) /* Build rsdt table */ void -build_rsdt(GArray *table_data, GArray *linker, GArray *table_offsets) +build_rsdt(GArray *table_data, GArray *linker, GArray *table_offsets, + const char *oem_id, const char *oem_table_id) { AcpiRsdtDescriptorRev1 *rsdt; size_t rsdt_len; @@ -1515,5 +1516,5 @@ build_rsdt(GArray *table_data, GArray *linker, GArray *table_offsets) sizeof(uint32_t)); } build_header(linker, table_data, - (void *)rsdt, "RSDT", rsdt_len, 1, NULL, NULL); + (void *)rsdt, "RSDT", rsdt_len, 1, oem_id, oem_table_id); } diff --git a/hw/arm/virt-acpi-build.c b/hw/arm/virt-acpi-build.c index 985fca4..2e90515 100644 --- a/hw/arm/virt-acpi-build.c +++ b/hw/arm/virt-acpi-build.c @@ -642,7 +642,7 @@ void virt_acpi_build(VirtGuestInfo *guest_info, AcpiBuildTables *tables) /* RSDT is pointed to by RSDP */ rsdt = tables_blob->len; - build_rsdt(tables_blob, tables->linker, table_offsets); + build_rsdt(tables_blob, tables->linker, table_offsets, NULL, NULL); /* RSDP is in FSEG memory, so allocate it separately */ build_rsdp(tables->rsdp, tables->linker, rsdt); diff --git a/hw/i386/acpi-build.c b/hw/i386/acpi-build.c index e1ebd07..6408362 100644 --- a/hw/i386/acpi-build.c +++ b/hw/i386/acpi-build.c @@ -2705,7 +2705,7 @@ void acpi_build(PcGuestInfo *guest_info, AcpiBuildTables *tables) /* RSDT is pointed to by RSDP */ rsdt = tables_blob->len; - build_rsdt(tables_blob, tables->linker, table_offsets); + build_rsdt(tables_blob, tables->linker, table_offsets, NULL, NULL); /* RSDP is in FSEG memory, so allocate it separately */ build_rsdp(tables->rsdp, tables->linker, rsdt);
Since build_rsdt() is implemented as common utility code (in "hw/acpi/aml-build.c"), it should expose -- and forward -- the oem_id and oem_table_id parameters between board code and the generic build_header() function. Cc: "Michael S. Tsirkin" <mst@redhat.com> (supporter:ACPI/SMBIOS) Cc: Igor Mammedov <imammedo@redhat.com> (supporter:ACPI/SMBIOS) Cc: Shannon Zhao <zhaoshenglong@huawei.com> (maintainer:ARM ACPI Subsystem) Cc: Paolo Bonzini <pbonzini@redhat.com> (maintainer:X86) Cc: Richard W.M. Jones <rjones@redhat.com> Cc: Aleksei Kovura <alex3kov@zoho.com> Cc: Michael Tokarev <mjt@tls.msk.ru> Cc: Steven Newbury <steve@snewbury.org.uk> RHBZ: https://bugzilla.redhat.com/show_bug.cgi?id=1248758 LP: https://bugs.launchpad.net/qemu/+bug/1533848 Signed-off-by: Laszlo Ersek <lersek@redhat.com> --- Notes: v2: - no change include/hw/acpi/aml-build.h | 3 ++- hw/acpi/aml-build.c | 5 +++-- hw/arm/virt-acpi-build.c | 2 +- hw/i386/acpi-build.c | 2 +- 4 files changed, 7 insertions(+), 5 deletions(-)