diff options
-rw-r--r-- | include/acpi/acpi_table.h | 2 | ||||
-rw-r--r-- | test/dm/acpi.c | 10 |
2 files changed, 11 insertions, 1 deletions
diff --git a/include/acpi/acpi_table.h b/include/acpi/acpi_table.h index a3b6725..20ac3b5 100644 --- a/include/acpi/acpi_table.h +++ b/include/acpi/acpi_table.h @@ -80,7 +80,7 @@ struct acpi_rsdt { }; /* XSDT (Extended System Description Table) */ -struct acpi_xsdt { +struct __packed acpi_xsdt { struct acpi_table_header header; u64 entry[MAX_ACPI_TABLES]; }; diff --git a/test/dm/acpi.c b/test/dm/acpi.c index 5236b39..7e661ee 100644 --- a/test/dm/acpi.c +++ b/test/dm/acpi.c @@ -747,3 +747,13 @@ static int dm_test_acpi_find_table(struct unit_test_state *uts) return 0; } DM_TEST(dm_test_acpi_find_table, 0); + +/* Test offsets in RSDT, XSDT */ +static int dm_test_acpi_offsets(struct unit_test_state *uts) +{ + ut_asserteq(36, offsetof(struct acpi_rsdt, entry)); + ut_asserteq(36, offsetof(struct acpi_xsdt, entry)); + + return 0; +} +DM_TEST(dm_test_acpi_offsets, 0); |