[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: [Qemu-devel] [PATCH 5/5] tests: acpi: fix FADT not being compared to
From: |
Michael S. Tsirkin |
Subject: |
Re: [Qemu-devel] [PATCH 5/5] tests: acpi: fix FADT not being compared to reference table |
Date: |
Tue, 16 Jan 2018 06:16:34 +0200 |
On Fri, Dec 29, 2017 at 04:16:42PM +0100, Igor Mammedov wrote:
> It turns out that FADT isn't actually tested for changes
> against reference table, since it happens to be the 1st
> table in RSDT which is currently ignored.
> Fix it by making sure that all tables from RSDT are added
> to test list.
>
> Signed-off-by: Igor Mammedov <address@hidden>
This was intentional, wasn't it?
The reason IIRC was that FADT includes things like the DSDT
address which can change at any time.
So I think we'll have to tweak the FADT to compare it.
E.g. replace any non-zero pointer with a known pattern,
and fix up the checksum.
What do you think?
> ---
> tests/bios-tables-test.c | 4 ++--
> 1 file changed, 2 insertions(+), 2 deletions(-)
>
> diff --git a/tests/bios-tables-test.c b/tests/bios-tables-test.c
> index 81c558e..c5dccdb 100644
> --- a/tests/bios-tables-test.c
> +++ b/tests/bios-tables-test.c
> @@ -248,14 +248,14 @@ static void test_acpi_dsdt_table(test_data *data)
> /* Load all tables and add to test list directly RSDT referenced tables */
> static void fetch_rsdt_referenced_tables(test_data *data)
> {
> - int tables_nr = data->rsdt_tables_nr - 1; /* fadt is first */
> + int tables_nr = data->rsdt_tables_nr;
> int i;
>
> for (i = 0; i < tables_nr; i++) {
> AcpiSdtTable ssdt_table;
> uint32_t addr;
>
> - addr = le32_to_cpu(data->rsdt_tables_addr[i + 1]); /* fadt is first
> */
> + addr = le32_to_cpu(data->rsdt_tables_addr[i]);
> fetch_table(&ssdt_table, addr);
>
> /* Add table to ASL test tables list */
> --
> 2.7.4
- Re: [Qemu-devel] [PATCH 5/5] tests: acpi: fix FADT not being compared to reference table,
Michael S. Tsirkin <=