[PATCH master 2/2] test: self: mmu: fix invalid use of __is_defined

Ahmad Fatoum a.fatoum at pengutronix.de
Tue May 23 02:42:08 PDT 2023


__is_defined is only usable for undefined macros and defined macros with
a value. __is_defined on a defined macro without a value are will yield
zero, which is unfortunate as ARCH_HAS_REMAP is defined without a value
for the architectures that define it. The header has an arch_can_remap()
helper that's already used to guard remapping code in the memtest
command, so let's make use of it instead. While at it, fix the skipped
test count to correctly reflect the number of tests skipped.

This should fix failure of the test on x86, where remapping is not
supported as we run under EFI and don't touch page tables.

Signed-off-by: Ahmad Fatoum <a.fatoum at pengutronix.de>
---
 test/self/mmu.c | 4 ++--
 1 file changed, 2 insertions(+), 2 deletions(-)

diff --git a/test/self/mmu.c b/test/self/mmu.c
index 48515b30aeb8..5e630e708f02 100644
--- a/test/self/mmu.c
+++ b/test/self/mmu.c
@@ -79,8 +79,8 @@ static void test_remap(void)
 	memtest(buffer, SZ_8M, "cached buffer");
 	memtest(mirror, SZ_8M, "cached mirror");
 
-	if (__is_defined(ARCH_HAS_REMAP)) {
-		skipped_tests += 10;
+	if (!arch_can_remap()) {
+		skipped_tests += 18;
 		goto out;
 	}
 
-- 
2.39.2




More information about the barebox mailing list