[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: [Qemu-devel] [PATCH] qtest/bios-tables: Add DMAR unit test on intel_
From: |
Vasilis Liaskovitis |
Subject: |
Re: [Qemu-devel] [PATCH] qtest/bios-tables: Add DMAR unit test on intel_iommu for q35 |
Date: |
Mon, 24 Nov 2014 14:38:34 +0100 |
User-agent: |
Mutt/1.5.21 (2010-09-15) |
Hi,
On Mon, Nov 24, 2014 at 11:37:05AM +0200, Marcel Apfelbaum wrote:
> On Sat, 2014-11-22 at 20:05 +0100, Vasilis Liaskovitis wrote:
> > The test enables intel_iommu on q35 and reads the DMAR table and its only
> > DRHC structure (for now), checking only the header and checksums.
> >
> > Signed-off-by: Vasilis Liaskovitis <address@hidden>
> > ---
> > tests/bios-tables-test.c | 34 +++++++++++++++++++++++++++++++++-
> > 1 file changed, 33 insertions(+), 1 deletion(-)
> >
> > diff --git a/tests/bios-tables-test.c b/tests/bios-tables-test.c
> > index 9e4d205..f09b0cb 100644
> > --- a/tests/bios-tables-test.c
> > +++ b/tests/bios-tables-test.c
> > @@ -45,6 +45,8 @@ typedef struct {
> > AcpiRsdtDescriptorRev1 rsdt_table;
> > AcpiFadtDescriptorRev1 fadt_table;
> > AcpiFacsDescriptorRev1 facs_table;
> > + AcpiTableDmar dmar_table;
> > + AcpiDmarHardwareUnit drhd;
> > uint32_t *rsdt_tables_addr;
> > int rsdt_tables_nr;
> > GArray *tables;
> > @@ -371,6 +373,33 @@ static void test_acpi_dsdt_table(test_data *data)
> > g_array_append_val(data->tables, dsdt_table);
> > }
> >
> > +static void test_acpi_dmar_table(test_data *data)
> > +{
> > + AcpiTableDmar *dmar_table = &data->dmar_table;
> > + AcpiDmarHardwareUnit *drhd = &data->drhd;
> > + struct AcpiTableHeader *header = (struct AcpiTableHeader *) dmar_table;
> > + int tables_nr = data->rsdt_tables_nr - 1;
> > + uint32_t addr = data->rsdt_tables_addr[tables_nr]; /* dmar is last */
> Hi,
>
> The DMAR table is always last? If not, it will break when we add another
> table test.
> I suggest going over the tables and looking for the DMAR signature.
agreed, it would also break if hw/i386/acpi-build.c adds other tables after
DMAR. I posted v2 following your suggestion.
thanks,
- Vasilis