From: Heinrich Schuchardt Date: Sun, 9 Nov 2025 10:10:07 +0000 (+0100) Subject: test: cmd/fdt: do not use fixed buffer addresses X-Git-Tag: v2026.01-rc3~5^2~11 X-Git-Url: http://git.openpandora.org/cgi-bin/gitweb.cgi?a=commitdiff_plain;h=1a498e5fb8a70ba9be7bb8e7c88227e9229d1d99;p=pandora-u-boot.git test: cmd/fdt: do not use fixed buffer addresses The location of memory depends on the board. Do not assume memory at fixed memory locations. Use memalign() instead to allocate a buffer. Acked-by: Ilias Apalodimas Signed-off-by: Heinrich Schuchardt --- diff --git a/test/cmd/fdt.c b/test/cmd/fdt.c index b950123b6da..4c3c6308ab4 100644 --- a/test/cmd/fdt.c +++ b/test/cmd/fdt.c @@ -265,7 +265,7 @@ FDT_TEST(fdt_test_addr_resize, UTF_CONSOLE); static int fdt_test_move(struct unit_test_state *uts) { char fdt[256]; - ulong addr, newaddr = 0x10000; + ulong addr, newaddr; const int size = sizeof(fdt); uint32_t ts; void *buf; @@ -275,8 +275,10 @@ static int fdt_test_move(struct unit_test_state *uts) ts = fdt_totalsize(fdt); /* Moved target DT location */ - buf = map_sysmem(newaddr, size); + buf = memalign(8, size); + ut_assertnonnull(buf); memset(buf, 0, size); + newaddr = map_to_sysmem(buf); /* Test moving the working FDT to a new location */ ut_assertok(run_commandf("fdt move %08lx %08lx %x", addr, newaddr, ts)); @@ -288,6 +290,8 @@ static int fdt_test_move(struct unit_test_state *uts) ut_assert_nextline("Total of %d byte(s) were the same", ts); ut_assert_console_end(); + free(buf); + return 0; } FDT_TEST(fdt_test_move, UTF_CONSOLE); diff --git a/test/common/print.c b/test/common/print.c index 2ac7eeed2c1..f33476a36b4 100644 --- a/test/common/print.c +++ b/test/common/print.c @@ -266,74 +266,70 @@ static int print_do_hex_dump(struct unit_test_state *uts) { u8 *buf; int i; + ulong addr; buf = calloc(1, BUF_SIZE); ut_assertnonnull(buf); + addr = map_to_sysmem(buf); for (i = 0; i < 0x11; i++) buf[i] = i * 0x11; /* bytes */ print_hex_dump_bytes("", DUMP_PREFIX_ADDRESS, buf, 0x12); ut_assert_nextline("%0*lx: 00 11 22 33 44 55 66 77 88 99 aa bb cc dd ee ff ..\"3DUfw........", - IS_ENABLED(CONFIG_PHYS_64BIT) ? 16 : 8, - (uintptr_t)buf); + IS_ENABLED(CONFIG_PHYS_64BIT) ? 16 : 8, addr); ut_assert_nextline("%0*lx: 10 00 ..", IS_ENABLED(CONFIG_PHYS_64BIT) ? 16 : 8, - (uintptr_t)buf + 0x10UL); + addr + 0x10UL); ut_assert_console_end(); /* line length */ print_hex_dump("", DUMP_PREFIX_ADDRESS, 8, 1, buf, 0x12, true); ut_assert_nextline("%0*lx: 00 11 22 33 44 55 66 77 ..\"3DUfw", - IS_ENABLED(CONFIG_PHYS_64BIT) ? 16 : 8, - (uintptr_t)buf); + IS_ENABLED(CONFIG_PHYS_64BIT) ? 16 : 8, addr); ut_assert_nextline("%0*lx: 88 99 aa bb cc dd ee ff ........", IS_ENABLED(CONFIG_PHYS_64BIT) ? 16 : 8, - (uintptr_t)buf + 0x8UL); + addr + 0x8UL); ut_assert_nextline("%0*lx: 10 00 ..", IS_ENABLED(CONFIG_PHYS_64BIT) ? 16 : 8, - (uintptr_t)buf + 0x10UL); + addr + 0x10UL); ut_assert_console_end(); /* long line */ buf[0x41] = 0x41; print_hex_dump("", DUMP_PREFIX_ADDRESS, 0x40, 1, buf, 0x42, true); ut_assert_nextline("%0*lx: 00 11 22 33 44 55 66 77 88 99 aa bb cc dd ee ff 10 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ..\"3DUfw........................................................", - IS_ENABLED(CONFIG_PHYS_64BIT) ? 16 : 8, - (uintptr_t)buf); + IS_ENABLED(CONFIG_PHYS_64BIT) ? 16 : 8, addr); ut_assert_nextline("%0*lx: 00 41 .A", IS_ENABLED(CONFIG_PHYS_64BIT) ? 16 : 8, - (uintptr_t)buf + 0x40UL); + addr + 0x40UL); ut_assert_console_end(); /* 16-bit */ print_hex_dump("", DUMP_PREFIX_ADDRESS, 0, 2, buf, 0x12, true); ut_assert_nextline("%0*lx: 1100 3322 5544 7766 9988 bbaa ddcc ffee ..\"3DUfw........", - IS_ENABLED(CONFIG_PHYS_64BIT) ? 16 : 8, - (uintptr_t)buf); + IS_ENABLED(CONFIG_PHYS_64BIT) ? 16 : 8, addr); ut_assert_nextline("%0*lx: 0010 ..", IS_ENABLED(CONFIG_PHYS_64BIT) ? 16 : 8, - (uintptr_t)buf + 0x10UL); + addr + 0x10UL); ut_assert_console_end(); /* 32-bit */ print_hex_dump("", DUMP_PREFIX_ADDRESS, 0, 4, buf, 0x14, true); ut_assert_nextline("%0*lx: 33221100 77665544 bbaa9988 ffeeddcc ..\"3DUfw........", - IS_ENABLED(CONFIG_PHYS_64BIT) ? 16 : 8, - (uintptr_t)buf); + IS_ENABLED(CONFIG_PHYS_64BIT) ? 16 : 8, addr); ut_assert_nextline("%0*lx: 00000010 ....", IS_ENABLED(CONFIG_PHYS_64BIT) ? 16 : 8, - (uintptr_t)buf + 0x10UL); + addr + 0x10UL); ut_assert_console_end(); /* 64-bit */ print_hex_dump("", DUMP_PREFIX_ADDRESS, 16, 8, buf, 0x18, true); ut_assert_nextline("%0*lx: 7766554433221100 ffeeddccbbaa9988 ..\"3DUfw........", - IS_ENABLED(CONFIG_PHYS_64BIT) ? 16 : 8, - (uintptr_t)buf); + IS_ENABLED(CONFIG_PHYS_64BIT) ? 16 : 8, addr); ut_assert_nextline("%0*lx: 0000000000000010 ........", IS_ENABLED(CONFIG_PHYS_64BIT) ? 16 : 8, - (uintptr_t)buf + 0x10UL); + addr + 0x10UL); ut_assert_console_end(); /* ASCII */ @@ -345,8 +341,7 @@ static int print_do_hex_dump(struct unit_test_state *uts) buf[8] = 255; print_hex_dump("", DUMP_PREFIX_ADDRESS, 0, 1, buf, 10, true); ut_assert_nextline("%0*lx: 00 1f 20 21 7e 7f 80 81 ff 99 .. !~.....", - IS_ENABLED(CONFIG_PHYS_64BIT) ? 16 : 8, - (uintptr_t)buf); + IS_ENABLED(CONFIG_PHYS_64BIT) ? 16 : 8, addr); ut_assert_console_end(); free(buf);