aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--include/acpi/acpi_table.h2
-rw-r--r--test/dm/acpi.c10
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);