[PATCH] test: acpi: Handle both 32bit and 64bit ACPI tables

Marek Vasut marek.vasut+renesas at mailbox.org
Sun Aug 13 03:25:59 CEST 2023


Handle both 32bit and 64bit systems, i.e. sandbox and sandbox64
the same way drivers/cpu/cpu_sandbox.c sets those ACPI tables up.
This fixes "$ ./u-boot -Tc 'ut dm dm_test_acpi_write_tables'"
test failure on sandbox64.

Signed-off-by: Marek Vasut <marek.vasut+renesas at mailbox.org>
---
Cc: Simon Glass <sjg at chromium.org>
---
 test/dm/acpi.c | 12 ++++++++----
 1 file changed, 8 insertions(+), 4 deletions(-)

diff --git a/test/dm/acpi.c b/test/dm/acpi.c
index 77eb524b59f..5997bda649b 100644
--- a/test/dm/acpi.c
+++ b/test/dm/acpi.c
@@ -221,7 +221,8 @@ static int dm_test_acpi_create_dmar(struct unit_test_state *uts)
 	ut_assertnonnull(cpu);
 	ut_assertok(acpi_create_dmar(&dmar, DMAR_INTR_REMAP));
 	ut_asserteq(DMAR_INTR_REMAP, dmar.flags);
-	ut_asserteq(32 - 1, dmar.host_address_width);
+	ut_asserteq((IS_ENABLED(CONFIG_PHYS_64BIT) ? 64 : 32) - 1,
+		    dmar.host_address_width);
 
 	return 0;
 }
@@ -277,13 +278,16 @@ static int dm_test_acpi_write_tables(struct unit_test_state *uts)
 	 */
 	ut_asserteq_ptr(dmar + 3, ctx.current);
 	ut_asserteq(DMAR_INTR_REMAP, dmar->flags);
-	ut_asserteq(32 - 1, dmar->host_address_width);
+	ut_asserteq((IS_ENABLED(CONFIG_PHYS_64BIT) ? 64 : 32) - 1,
+		    dmar->host_address_width);
 
 	ut_asserteq(DMAR_INTR_REMAP, dmar[1].flags);
-	ut_asserteq(32 - 1, dmar[1].host_address_width);
+	ut_asserteq((IS_ENABLED(CONFIG_PHYS_64BIT) ? 64 : 32) - 1,
+		    dmar[1].host_address_width);
 
 	ut_asserteq(DMAR_INTR_REMAP, dmar[2].flags);
-	ut_asserteq(32 - 1, dmar[2].host_address_width);
+	ut_asserteq((IS_ENABLED(CONFIG_PHYS_64BIT) ? 64 : 32) - 1,
+		    dmar[2].host_address_width);
 
 	/* Check that the pointers were added correctly */
 	for (i = 0; i < 3; i++) {
-- 
2.40.1



More information about the U-Boot mailing list