[U-Boot] [PATCH 1/1] efi_selftest: physical and virtual addresses must match

Heinrich Schuchardt xypron.glpk at gmx.de
Thu Apr 11 18:19:49 UTC 2019


At boottime physical and virtual addresses must match. Add a corresponding
check to the memory unit test.

Signed-off-by: Heinrich Schuchardt <xypron.glpk at gmx.de>
---
 lib/efi_selftest/efi_selftest_memory.c | 5 +++++
 1 file changed, 5 insertions(+)

diff --git a/lib/efi_selftest/efi_selftest_memory.c b/lib/efi_selftest/efi_selftest_memory.c
index 24b4438ce4..d41227b605 100644
--- a/lib/efi_selftest/efi_selftest_memory.c
+++ b/lib/efi_selftest/efi_selftest_memory.c
@@ -65,6 +65,11 @@ static int find_in_memory_map(efi_uintn_t map_size,
 	for (i = 0; map_size; ++i, map_size -= desc_size) {
 		struct efi_mem_desc *entry = &memory_map[i];
 
+		if (entry->physical_start != entry->virtual_start) {
+			efi_st_error("Physical and virtual addresses do not match\n");
+			return EFI_ST_FAILURE;
+		}
+
 		if (addr >= entry->physical_start &&
 		    addr < entry->physical_start +
 			    (entry->num_pages << EFI_PAGE_SHIFT)) {
-- 
2.20.1



More information about the U-Boot mailing list