Hi Igor, Shannon On 14/10/2016 14:41, Igor Mammedov wrote: > On Fri, 14 Oct 2016 10:54:55 +0200 > Eric Auger <eric.au...@redhat.com> wrote: > >> From: Prem Mallappa <prem.malla...@broadcom.com> >> >> This patch builds an IORT table that features a root complex node and >> an ITS node. This complements the ITS description in the ACPI MADT >> table and allows vhost-net on ACPI guest. >> >> Signed-off-by: Prem Mallappa <prem.malla...@broadcom.com> >> Signed-off-by: Eric Auger <eric.au...@redhat.com> >> >> --- >> >> v1 -> v2: >> - its_class_name() || !guest_info->no_its now wraps acpi_add_table >> and build_iort >> - add cpu_to_le* >> - CCA = CPM = DACS = 1 >> - cleanup according to Drew's comments >> - remove comments listing tables and spec revisions >> --- >> hw/arm/virt-acpi-build.c | 73 >> ++++++++++++++++++++++++++++++++++++++++-------- >> 1 file changed, 62 insertions(+), 11 deletions(-) >> >> diff --git a/hw/arm/virt-acpi-build.c b/hw/arm/virt-acpi-build.c >> index fa0655a..5fc0fd7 100644 >> --- a/hw/arm/virt-acpi-build.c >> +++ b/hw/arm/virt-acpi-build.c > [...] > >> +static void >> build_spcr(GArray *table_data, BIOSLinker *linker, VirtGuestInfo >> *guest_info) >> { >> AcpiSerialPortConsoleRedirection *spcr; >> @@ -667,17 +724,6 @@ void virt_acpi_build(VirtGuestInfo *guest_info, >> AcpiBuildTables *tables) >> ACPI_BUILD_TABLE_FILE, tables_blob, >> 64, false /* high memory */); >> >> - /* >> - * The ACPI v5.1 tables for Hardware-reduced ACPI platform are: >> - * RSDP >> - * RSDT >> - * FADT >> - * GTDT >> - * MADT >> - * MCFG >> - * DSDT >> - */ > deleting unrelated hunk? This follows one Drew's comment stating this was not really useful to continue maintaining it. If Shannon agrees I can submit a separate patch then to remove it. Waiting for Shannon's answer ...
Thanks Eric > >> - >> /* DSDT is pointed to by FADT */ >> dsdt = tables_blob->len; >> build_dsdt(tables_blob, tables->linker, guest_info); >> @@ -703,6 +749,11 @@ void virt_acpi_build(VirtGuestInfo *guest_info, >> AcpiBuildTables *tables) >> build_srat(tables_blob, tables->linker, guest_info); >> } >> >> + if (its_class_name() && !guest_info->no_its) { >> + acpi_add_table(table_offsets, tables_blob); >> + build_iort(tables_blob, tables->linker, guest_info); >> + } >> + >> /* RSDT is pointed to by RSDP */ >> rsdt = tables_blob->len; >> build_rsdt(tables_blob, tables->linker, table_offsets, NULL, NULL); > >