From: Heinrich Schuchardt <xypron.glpk@gmx.de>
Date: Sat, 27 Jul 2019 17:32:23 +0000 (+0200)
Subject: efi_selftest: sharpen ConvertPointer() test
X-Git-Tag: v2025.01-rc5-pxa1908~2844^2
X-Git-Url: http://git.dujemihanovic.xyz/img/static/html/index.html?a=commitdiff_plain;h=bb689577206a679f5066a5251610ff80659507af;p=u-boot.git

efi_selftest: sharpen ConvertPointer() test

Now that ConvertPointer() is implemented throw an error if the result is
incorrect.

Signed-off-by: Heinrich Schuchardt <xypron.glpk@gmx.de>
---

diff --git a/lib/efi_selftest/efi_selftest_set_virtual_address_map.c b/lib/efi_selftest/efi_selftest_set_virtual_address_map.c
index 3ffb61b7e8..a4e5a50f63 100644
--- a/lib/efi_selftest/efi_selftest_set_virtual_address_map.c
+++ b/lib/efi_selftest/efi_selftest_set_virtual_address_map.c
@@ -20,6 +20,7 @@ static u32 desc_version;
 static u64 page1;
 static u64 page2;
 static u32 notify_call_count;
+static bool convert_pointer_failed;
 
 /**
  * notify () - notification function
@@ -39,17 +40,28 @@ static void EFIAPI notify(struct efi_event *event, void *context)
 
 	addr = (void *)(uintptr_t)page1;
 	ret = runtime->convert_pointer(0, &addr);
-	if (ret != EFI_SUCCESS)
-		efi_st_todo("ConvertPointer failed\n");
-	if ((uintptr_t)addr != page1 + EFI_PAGE_SIZE)
-		efi_st_todo("ConvertPointer wrong address\n");
+	if (ret != EFI_SUCCESS) {
+		efi_st_error("ConvertPointer failed\n");
+		convert_pointer_failed = true;
+		return;
+	}
+	if ((uintptr_t)addr != page1 + EFI_PAGE_SIZE) {
+		efi_st_error("ConvertPointer wrong address\n");
+		convert_pointer_failed = true;
+		return;
+	}
 
 	addr = (void *)(uintptr_t)page2;
 	ret = runtime->convert_pointer(0, &addr);
-	if (ret != EFI_SUCCESS)
-		efi_st_todo("ConvertPointer failed\n");
-	if ((uintptr_t)addr != page2 + 2 * EFI_PAGE_SIZE)
-		efi_st_todo("ConvertPointer wrong address\n");
+	if (ret != EFI_SUCCESS) {
+		efi_st_error("ConvertPointer failed\n");
+		convert_pointer_failed = true;
+		return;
+	}
+	if ((uintptr_t)addr != page2 + 2 * EFI_PAGE_SIZE) {
+		efi_st_error("ConvertPointer wrong address\n");
+		convert_pointer_failed = true;
+	}
 }
 
 /**
@@ -181,6 +193,8 @@ static int execute(void)
 			     notify_call_count);
 		return EFI_ST_FAILURE;
 	}
+	if (convert_pointer_failed)
+		return EFI_ST_FAILURE;
 
 	return EFI_ST_SUCCESS;
 }