[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[Qemu-devel] [PATCH v3 04/13] tests: acpi: fetch X_DSDT if pointer to DS
From: |
Igor Mammedov |
Subject: |
[Qemu-devel] [PATCH v3 04/13] tests: acpi: fetch X_DSDT if pointer to DSDT is 0 |
Date: |
Thu, 25 Apr 2019 07:34:40 +0200 |
that way it would be possible to test a DSDT pointed by
64bit X_DSDT field in FADT.
PS:
it will allow to enable testing arm/virt board, which sets
only newer X_DSDT field.
Signed-off-by: Igor Mammedov <address@hidden>
Reviewed-by: Philippe Mathieu-Daudé <address@hidden>
---
v2:
add 'val = le32_to_cpu(val)' even if it doesn't necessary
it works as reminder that value copied from table is in
little-endian format (Philippe Mathieu-Daudé <address@hidden>)
---
tests/bios-tables-test.c | 9 ++++++++-
1 file changed, 8 insertions(+), 1 deletion(-)
diff --git a/tests/bios-tables-test.c b/tests/bios-tables-test.c
index c29dcf4..ed62a17 100644
--- a/tests/bios-tables-test.c
+++ b/tests/bios-tables-test.c
@@ -140,6 +140,8 @@ static void test_acpi_fadt_table(test_data *data)
AcpiSdtTable table = g_array_index(data->tables, typeof(table), 0);
uint8_t *fadt_aml = table.aml;
uint32_t fadt_len = table.aml_len;
+ uint32_t val;
+ int dsdt_offset = 40 /* DSDT */;
g_assert(compare_signature(&table, "FACP"));
@@ -148,8 +150,13 @@ static void test_acpi_fadt_table(test_data *data)
fadt_aml + 36 /* FIRMWARE_CTRL */, "FACS", false);
g_array_append_val(data->tables, table);
+ memcpy(&val, fadt_aml + dsdt_offset, 4);
+ val = le32_to_cpu(val);
+ if (!val) {
+ dsdt_offset = 140 /* X_DSDT */;
+ }
acpi_fetch_table(data->qts, &table.aml, &table.aml_len,
- fadt_aml + 40 /* DSDT */, "DSDT", true);
+ fadt_aml + dsdt_offset, "DSDT", true);
g_array_append_val(data->tables, table);
memset(fadt_aml + 36, 0, 4); /* sanitize FIRMWARE_CTRL ptr */
--
2.7.4
- [Qemu-devel] [PATCH v3 10/13] tests: add expected ACPI tables for arm/virt board, (continued)
- [Qemu-devel] [PATCH v3 10/13] tests: add expected ACPI tables for arm/virt board, Igor Mammedov, 2019/04/25
- [Qemu-devel] [PATCH v3 09/13] tests: acpi: ignore SMBIOS tests when UEFI firmware is used, Igor Mammedov, 2019/04/25
- [Qemu-devel] [PATCH v3 08/13] tests: acpi: add a way to start tests with UEFI firmware, Igor Mammedov, 2019/04/25
- [Qemu-devel] [PATCH v3 07/13] tests: acpi: add acpi_find_rsdp_address_uefi() helper, Igor Mammedov, 2019/04/25
- [Qemu-devel] [PATCH v3 06/13] tests: acpi: move boot_sector_init() into x86 tests branch, Igor Mammedov, 2019/04/25
- [Qemu-devel] [PATCH v3 05/13] tests: acpi: skip FACS table if board uses hw reduced ACPI profile, Igor Mammedov, 2019/04/25
- [Qemu-devel] [PATCH v3 04/13] tests: acpi: fetch X_DSDT if pointer to DSDT is 0,
Igor Mammedov <=
- [Qemu-devel] [PATCH v3 03/13] tests: acpi: make pointer to RSDP 64bit, Igor Mammedov, 2019/04/25
- [Qemu-devel] [PATCH v3 02/13] tests: acpi: rename acpi_parse_rsdp_table() into acpi_fetch_rsdp_table(), Igor Mammedov, 2019/04/25
- [Qemu-devel] [PATCH v3 01/13] tests: acpi: make RSDT test routine handle XSDT, Igor Mammedov, 2019/04/25