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" <m...@redhat.com> (supporter:ACPI/SMBIOS) > Cc: Igor Mammedov <imamm...@redhat.com> (supporter:ACPI/SMBIOS) > Cc: Shannon Zhao <zhaoshengl...@huawei.com> (maintainer:ARM ACPI Subsystem) > Cc: Paolo Bonzini <pbonz...@redhat.com> (maintainer:X86) > Cc: Richard W.M. Jones <rjo...@redhat.com> > Cc: Aleksei Kovura <alex3...@zoho.com> > Cc: Michael Tokarev <m...@tls.msk.ru> > Cc: Steven Newbury <st...@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 <ler...@redhat.com>
Reviewed-by: Shannon Zhao <shannon.z...@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); > -- Shannon