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
5 changed files with 85 additions and 0 deletions
|
@ -97,6 +97,13 @@ config CMD_ACPI
|
||||||
between the firmware and OS, and is particularly useful when you
|
between the firmware and OS, and is particularly useful when you
|
||||||
want to make hardware changes without the OS needing to be adjusted.
|
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
|
config CMD_BDI
|
||||||
bool "bdinfo"
|
bool "bdinfo"
|
||||||
default y
|
default y
|
||||||
|
|
|
@ -13,6 +13,7 @@ obj-y += version.o
|
||||||
|
|
||||||
# command
|
# command
|
||||||
obj-$(CONFIG_CMD_ACPI) += acpi.o
|
obj-$(CONFIG_CMD_ACPI) += acpi.o
|
||||||
|
obj-$(CONFIG_CMD_ADDRMAP) += addrmap.o
|
||||||
obj-$(CONFIG_CMD_AES) += aes.o
|
obj-$(CONFIG_CMD_AES) += aes.o
|
||||||
obj-$(CONFIG_CMD_AB_SELECT) += ab_select.o
|
obj-$(CONFIG_CMD_AB_SELECT) += ab_select.o
|
||||||
obj-$(CONFIG_CMD_ADC) += adc.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::
|
.. toctree::
|
||||||
:maxdepth: 1
|
:maxdepth: 1
|
||||||
|
|
||||||
|
addrmap
|
||||||
base
|
base
|
||||||
bootefi
|
bootefi
|
||||||
booti
|
booti
|
||||||
|
|
Loading…
Reference in a new issue