summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorHeinrich Schuchardt <xypron.glpk@gmx.de>2020-03-14 08:44:07 +0100
committerHeinrich Schuchardt <xypron.glpk@gmx.de>2020-03-17 08:29:52 +0100
commita415d61eac26a9108c26ef779f2009dc3062f5d8 (patch)
treed8ead5be50911e2853bf36b660eede16767df561
parentfef907b2e4406da8addebd7fefb6fd87ca7875ab (diff)
downloadu-boot-a415d61eac26a9108c26ef779f2009dc3062f5d8.tar.gz
cmd: map addresses to sysmem in efidebug memmap
Addresses in the sandbox's device tree are in the sandbox's virtual address space. If we want to compare memory reservations in the device-tree with the output of 'efidebug memmap', we need to convert back to this address space. Adjust the output of the 'efidebug memmap' command. Signed-off-by: Heinrich Schuchardt <xypron.glpk@gmx.de>
-rw-r--r--cmd/efidebug.c6
1 files changed, 4 insertions, 2 deletions
diff --git a/cmd/efidebug.c b/cmd/efidebug.c
index 8c3681c37d..bb7c13d6a1 100644
--- a/cmd/efidebug.c
+++ b/cmd/efidebug.c
@@ -12,6 +12,7 @@
#include <exports.h>
#include <hexdump.h>
#include <malloc.h>
+#include <mapmem.h>
#include <search.h>
#include <linux/ctype.h>
@@ -488,9 +489,10 @@ static int do_efi_show_memmap(cmd_tbl_t *cmdtp, int flag,
printf("%-16s %.*llx-%.*llx", type,
EFI_PHYS_ADDR_WIDTH,
- map->physical_start,
+ (u64)map_to_sysmem((void *)map->physical_start),
EFI_PHYS_ADDR_WIDTH,
- map->physical_start + map->num_pages * EFI_PAGE_SIZE);
+ (u64)map_to_sysmem((void *)map->physical_start +
+ map->num_pages * EFI_PAGE_SIZE));
print_memory_attributes(map->attribute);
putc('\n');