cmd: Add a command to display the address map
This adds a new command 'addrmap' to display the address map for non-identity virtual-physical memory mappings. Signed-off-by: Bin Meng <bmeng.cn@gmail.com> Reviewed-by: Simon Glass <sjg@chromium.org> Reviewed-by: Priyanka Jain <priyanka.jain@nxp.com>
This commit is contained in:
parent
b561563316
commit
56d0635f18
@ -97,6 +97,13 @@ config CMD_ACPI
|
||||
between the firmware and OS, and is particularly useful when you
|
||||
want to make hardware changes without the OS needing to be adjusted.
|
||||
|
||||
config CMD_ADDRMAP
|
||||
bool "addrmap"
|
||||
depends on ADDR_MAP
|
||||
default y
|
||||
help
|
||||
List non-identity virtual-physical memory mappings for 32-bit CPUs.
|
||||
|
||||
config CMD_BDI
|
||||
bool "bdinfo"
|
||||
default y
|
||||
|
@ -13,6 +13,7 @@ obj-y += version.o
|
||||
|
||||
# command
|
||||
obj-$(CONFIG_CMD_ACPI) += acpi.o
|
||||
obj-$(CONFIG_CMD_ADDRMAP) += addrmap.o
|
||||
obj-$(CONFIG_CMD_AES) += aes.o
|
||||
obj-$(CONFIG_CMD_AB_SELECT) += ab_select.o
|
||||
obj-$(CONFIG_CMD_ADC) += adc.o
|
||||
|
35
cmd/addrmap.c
Normal file
35
cmd/addrmap.c
Normal file
@ -0,0 +1,35 @@
|
||||
// SPDX-License-Identifier: GPL-2.0+
|
||||
/*
|
||||
* Copyright (C) 2021, Bin Meng <bmeng.cn@gmail.com>
|
||||
*/
|
||||
|
||||
#include <common.h>
|
||||
#include <command.h>
|
||||
#include <addr_map.h>
|
||||
|
||||
static int do_addrmap(struct cmd_tbl *cmdtp, int flag, int argc,
|
||||
char *const argv[])
|
||||
{
|
||||
int i;
|
||||
|
||||
printf(" vaddr paddr size\n");
|
||||
printf("================ ================ ================\n");
|
||||
|
||||
for (i = 0; i < CONFIG_SYS_NUM_ADDR_MAP; i++) {
|
||||
if (address_map[i].size == 0)
|
||||
continue;
|
||||
|
||||
printf("%16.8lx %16.8llx %16.8llx\n",
|
||||
address_map[i].vaddr,
|
||||
(unsigned long long)address_map[i].paddr,
|
||||
(unsigned long long)address_map[i].size);
|
||||
}
|
||||
|
||||
return 0;
|
||||
}
|
||||
|
||||
U_BOOT_CMD(
|
||||
addrmap, 1, 1, do_addrmap,
|
||||
"List non-identity virtual-physical memory mappings for 32-bit CPUs",
|
||||
""
|
||||
);
|
41
doc/usage/addrmap.rst
Normal file
41
doc/usage/addrmap.rst
Normal file
@ -0,0 +1,41 @@
|
||||
.. SPDX-License-Identifier: GPL-2.0+
|
||||
|
||||
addrmap command
|
||||
===============
|
||||
|
||||
Synopsis
|
||||
--------
|
||||
|
||||
::
|
||||
|
||||
addrmap
|
||||
|
||||
Description
|
||||
-----------
|
||||
|
||||
The addrmap command is used to display non-identity virtual-physical memory
|
||||
mappings for 32-bit CPUs.
|
||||
|
||||
The output may look like:
|
||||
|
||||
::
|
||||
|
||||
=> addrmap
|
||||
vaddr paddr size
|
||||
================ ================ ================
|
||||
e0000000 fe0000000 00100000
|
||||
00000000 00000000 04000000
|
||||
04000000 04000000 04000000
|
||||
80000000 c00000000 10000000
|
||||
90000000 c10000000 10000000
|
||||
a0000000 fe1000000 00010000
|
||||
|
||||
The first column indicates the virtual address.
|
||||
The second column indicates the physical address.
|
||||
The third column indicates the mapped size.
|
||||
|
||||
Configuration
|
||||
-------------
|
||||
|
||||
To use the addrmap command you must specify CONFIG_CMD_ADDRMAP=y.
|
||||
It is automatically turned on when CONFIG_ADDR_MAP is set.
|
@ -14,6 +14,7 @@ Shell commands
|
||||
.. toctree::
|
||||
:maxdepth: 1
|
||||
|
||||
addrmap
|
||||
base
|
||||
bootefi
|
||||
booti
|
||||
|
Loading…
Reference in New Issue
Block a user