From mboxrd@z Thu Jan 1 00:00:00 1970 Received: from eggs.gnu.org ([2001:4830:134:3::10]:40829) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1bv1ny-0007ms-8N for qemu-devel@nongnu.org; Fri, 14 Oct 2016 08:41:43 -0400 Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1bv1nx-0005fZ-5B for qemu-devel@nongnu.org; Fri, 14 Oct 2016 08:41:42 -0400 Date: Fri, 14 Oct 2016 14:41:29 +0200 From: Igor Mammedov Message-ID: <20161014144129.7826bfc8@nial.brq.redhat.com> In-Reply-To: <1476435295-21885-3-git-send-email-eric.auger@redhat.com> References: <1476435295-21885-1-git-send-email-eric.auger@redhat.com> <1476435295-21885-3-git-send-email-eric.auger@redhat.com> MIME-Version: 1.0 Content-Type: text/plain; charset=US-ASCII Content-Transfer-Encoding: 7bit Subject: Re: [Qemu-devel] [PATCH v2 2/2] ARM: Virt: ACPI: Build an IORT table with RC and ITS nodes List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , To: Eric Auger Cc: eric.auger.pro@gmail.com, prem.mallappa@broadcom.com, peter.maydell@linaro.org, qemu-arm@nongnu.org, qemu-devel@nongnu.org, shannon.zhao@linaro.org, tn@semihalf.com, drjones@redhat.com, christoffer.dall@linaro.org On Fri, 14 Oct 2016 10:54:55 +0200 Eric Auger wrote: > From: Prem Mallappa > > 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 > Signed-off-by: Eric Auger > > --- > > 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? > - > /* 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);