[PATCH v2 09/12] doc: Add help for the efi command
Heinrich Schuchardt
xypron.glpk at gmx.de
Sun Mar 19 17:38:38 CET 2023
On 3/10/23 21:48, Simon Glass wrote:
> This command currently has no help. Add some.
>
> Signed-off-by: Simon Glass <sjg at chromium.org>
> ---
>
> (no changes since v1)
>
> doc/usage/cmd/efi.rst | 197 ++++++++++++++++++++++++++++++++++++++++++
> doc/usage/index.rst | 1 +
> 2 files changed, 198 insertions(+)
> create mode 100644 doc/usage/cmd/efi.rst
>
> diff --git a/doc/usage/cmd/efi.rst b/doc/usage/cmd/efi.rst
> new file mode 100644
> index 00000000000..c029c423879
> --- /dev/null
> +++ b/doc/usage/cmd/efi.rst
> @@ -0,0 +1,197 @@
> +.. SPDX-License-Identifier: GPL-2.0+
> +.. Copyright 2020, Heinrich Schuchardt <xypron.glpk at gmx.de>
> +
> +efi command
> +===========
> +
> +Synopsis
> +--------
> +
> +::
> +
> + efi mem [all]
> +
> +Description
> +-----------
> +
> +The *efi* command provides information about the EFI environment U-Boot is
> +running in, when it is started from EFI.
> +
> +When running as an EFI app, this command queries EFI boot services for the
> +information. When running as an EFI payload, EFI boot services have been
> +stopped, so it uses the information collected by the boot stub before that
> +happened.
> +
> +efi mem
> +~~~~~~~
> +
> +This shows the EFI memory map, sorted in order of physical address.
> +
> +This is normally a very large table. To help reduce the amount of detritus,
> +boot-time memory is normally merged with conventional memory. Use the 'all'
> +argument to show everything.
> +
> +The fields are as follows:
> +
> +#
> + Entry number (sequentially from 0)
> +
> +Type
> + Memory type. EFI has a large number of memory types. The type is shown in
> + the format <n>:<name> where in is the format number in hex and <name> is the
> + name.
> +
> +Physical
> + Physical address
> +
> +Virtual
> + Virtual address
> +
> +Size
> + Size of memory area in bytes
> +
> +Attributes
> + Shows a code for memory attributes. The key for this is shown below the
> + table.
> +
> +Example
> +-------
> +
> +::
> +
> + => efi mem
> + EFI table at 0, memory map 000000001ad38b60, size 1260, key a79, version 1, descr. size 0x30
> + # Type Physical Virtual Size Attributes
> + 0 7:conv 0000000000 0000000000 00000a0000 f
> + <gap> 00000a0000 0000060000
> + 1 7:conv 0000100000 0000000000 0000700000 f
> + 2 a:acpi_nvs 0000800000 0000000000 0000008000 f
> + 3 7:conv 0000808000 0000000000 0000008000 f
> + 4 a:acpi_nvs 0000810000 0000000000 00000f0000 f
> + 5 7:conv 0000900000 0000000000 001efef000 f
> + 6 6:rt_data 001f8ef000 0000000000 0000100000 rf
> + 7 5:rt_code 001f9ef000 0000000000 0000100000 rf
> + 8 0:reserved 001faef000 0000000000 0000080000 f
> + 9 9:acpi_reclaim 001fb6f000 0000000000 0000010000 f
> + 10 a:acpi_nvs 001fb7f000 0000000000 0000080000 f
> + 11 7:conv 001fbff000 0000000000 0000359000 f
> + 12 6:rt_data 001ff58000 0000000000 0000020000 rf
> + 13 a:acpi_nvs 001ff78000 0000000000 0000088000 f
> + <gap> 0020000000 0090000000
> + 14 0:reserved 00b0000000 0000000000 0010000000 1
> +
> + Attributes key:
> + f: uncached, write-coalescing, write-through, write-back
> + rf: uncached, write-coalescing, write-through, write-back, needs runtime mapping
> + 1: uncached
> + *Some areas are merged (use 'all' to see)
> +
> +
> + => efi mem all
> + EFI table at 0, memory map 000000001ad38bb0, size 1260, key a79, version 1, descr. size 0x30
> + # Type Physical Virtual Size Attributes
> + 0 3:bs_code 0000000000 0000000000 0000001000 f
> + 1 7:conv 0000001000 0000000000 000009f000 f
> + <gap> 00000a0000 0000060000
> + 2 7:conv 0000100000 0000000000 0000700000 f
> + 3 a:acpi_nvs 0000800000 0000000000 0000008000 f
> + 4 7:conv 0000808000 0000000000 0000008000 f
> + 5 a:acpi_nvs 0000810000 0000000000 00000f0000 f
> + 6 4:bs_data 0000900000 0000000000 0000c00000 f
> + 7 7:conv 0001500000 0000000000 000aa36000 f
> + 8 2:loader_data 000bf36000 0000000000 0010000000 f
> + 9 4:bs_data 001bf36000 0000000000 0000020000 f
> + 10 7:conv 001bf56000 0000000000 00021e1000 f
> + 11 1:loader_code 001e137000 0000000000 00000c4000 f
> + 12 7:conv 001e1fb000 0000000000 000009b000 f
> + 13 1:loader_code 001e296000 0000000000 00000e2000 f
> + 14 7:conv 001e378000 0000000000 000005b000 f
> + 15 4:bs_data 001e3d3000 0000000000 000001e000 f
> + 16 7:conv 001e3f1000 0000000000 0000016000 f
> + 17 4:bs_data 001e407000 0000000000 0000016000 f
> + 18 2:loader_data 001e41d000 0000000000 0000002000 f
> + 19 4:bs_data 001e41f000 0000000000 0000828000 f
> + 20 3:bs_code 001ec47000 0000000000 0000045000 f
> + 21 4:bs_data 001ec8c000 0000000000 0000001000 f
> + 22 3:bs_code 001ec8d000 0000000000 000000e000 f
> + 23 4:bs_data 001ec9b000 0000000000 0000001000 f
> + 24 3:bs_code 001ec9c000 0000000000 000002c000 f
> + 25 4:bs_data 001ecc8000 0000000000 0000001000 f
> + 26 3:bs_code 001ecc9000 0000000000 000000c000 f
> + 27 4:bs_data 001ecd5000 0000000000 0000006000 f
> + 28 3:bs_code 001ecdb000 0000000000 0000014000 f
> + 29 4:bs_data 001ecef000 0000000000 0000001000 f
> + 30 3:bs_code 001ecf0000 0000000000 000005b000 f
> + 31 4:bs_data 001ed4b000 0000000000 000000b000 f
> + 32 3:bs_code 001ed56000 0000000000 0000024000 f
> + 33 4:bs_data 001ed7a000 0000000000 0000006000 f
> + 34 3:bs_code 001ed80000 0000000000 0000010000 f
> + 35 4:bs_data 001ed90000 0000000000 0000002000 f
> + 36 3:bs_code 001ed92000 0000000000 0000025000 f
> + 37 4:bs_data 001edb7000 0000000000 0000003000 f
> + 38 3:bs_code 001edba000 0000000000 0000011000 f
> + 39 4:bs_data 001edcb000 0000000000 0000008000 f
> + 40 3:bs_code 001edd3000 0000000000 000002d000 f
> + 41 4:bs_data 001ee00000 0000000000 0000201000 f
> + 42 3:bs_code 001f001000 0000000000 0000024000 f
> + 43 4:bs_data 001f025000 0000000000 0000002000 f
> + 44 3:bs_code 001f027000 0000000000 0000009000 f
> + 45 4:bs_data 001f030000 0000000000 0000005000 f
> + 46 3:bs_code 001f035000 0000000000 000002f000 f
> + 47 4:bs_data 001f064000 0000000000 0000001000 f
> + 48 3:bs_code 001f065000 0000000000 0000005000 f
> + 49 4:bs_data 001f06a000 0000000000 0000005000 f
> + 50 3:bs_code 001f06f000 0000000000 0000007000 f
> + 51 4:bs_data 001f076000 0000000000 0000007000 f
> + 52 3:bs_code 001f07d000 0000000000 000000d000 f
> + 53 4:bs_data 001f08a000 0000000000 0000001000 f
> + 54 3:bs_code 001f08b000 0000000000 0000006000 f
> + 55 4:bs_data 001f091000 0000000000 0000004000 f
> + 56 3:bs_code 001f095000 0000000000 000000d000 f
> + 57 4:bs_data 001f0a2000 0000000000 0000003000 f
> + 58 3:bs_code 001f0a5000 0000000000 0000026000 f
> + 59 4:bs_data 001f0cb000 0000000000 0000005000 f
> + 60 3:bs_code 001f0d0000 0000000000 0000019000 f
> + 61 4:bs_data 001f0e9000 0000000000 0000004000 f
> + 62 3:bs_code 001f0ed000 0000000000 0000024000 f
> + 63 4:bs_data 001f111000 0000000000 0000008000 f
> + 64 3:bs_code 001f119000 0000000000 000000b000 f
> + 65 4:bs_data 001f124000 0000000000 0000001000 f
> + 66 3:bs_code 001f125000 0000000000 0000002000 f
> + 67 4:bs_data 001f127000 0000000000 0000002000 f
> + 68 3:bs_code 001f129000 0000000000 0000009000 f
> + 69 4:bs_data 001f132000 0000000000 0000003000 f
> + 70 3:bs_code 001f135000 0000000000 0000005000 f
> + 71 4:bs_data 001f13a000 0000000000 0000003000 f
> + 72 3:bs_code 001f13d000 0000000000 0000005000 f
> + 73 4:bs_data 001f142000 0000000000 0000003000 f
> + 74 3:bs_code 001f145000 0000000000 0000011000 f
> + 75 4:bs_data 001f156000 0000000000 000000b000 f
> + 76 3:bs_code 001f161000 0000000000 0000009000 f
> + 77 4:bs_data 001f16a000 0000000000 0000400000 f
> + 78 3:bs_code 001f56a000 0000000000 0000006000 f
> + 79 4:bs_data 001f570000 0000000000 0000001000 f
> + 80 3:bs_code 001f571000 0000000000 0000001000 f
> + 81 4:bs_data 001f572000 0000000000 0000002000 f
> + 82 3:bs_code 001f574000 0000000000 0000017000 f
> + 83 4:bs_data 001f58b000 0000000000 0000364000 f
> + 84 6:rt_data 001f8ef000 0000000000 0000100000 rf
> + 85 5:rt_code 001f9ef000 0000000000 0000100000 rf
> + 86 0:reserved 001faef000 0000000000 0000080000 f
> + 87 9:acpi_reclaim 001fb6f000 0000000000 0000010000 f
> + 88 a:acpi_nvs 001fb7f000 0000000000 0000080000 f
> + 89 4:bs_data 001fbff000 0000000000 0000201000 f
> + 90 7:conv 001fe00000 0000000000 00000e8000 f
> + 91 4:bs_data 001fee8000 0000000000 0000020000 f
> + 92 3:bs_code 001ff08000 0000000000 0000026000 f
> + 93 4:bs_data 001ff2e000 0000000000 0000009000 f
> + 94 3:bs_code 001ff37000 0000000000 0000021000 f
> + 95 6:rt_data 001ff58000 0000000000 0000020000 rf
> + 96 a:acpi_nvs 001ff78000 0000000000 0000088000 f
> + <gap> 0020000000 0090000000
> + 97 0:reserved 00b0000000 0000000000 0010000000 1
Why should we use a different output format then in efi_debug memmap=
We should avoid duplicate code.
Best regrads
Heinrich
> +
> + Attributes key:
> + f: uncached, write-coalescing, write-through, write-back
> + rf: uncached, write-coalescing, write-through, write-back, needs runtime mapping
> + 1: uncached
> diff --git a/doc/usage/index.rst b/doc/usage/index.rst
> index 840c20c934d..9f7a80e3bfe 100644
> --- a/doc/usage/index.rst
> +++ b/doc/usage/index.rst
> @@ -43,6 +43,7 @@ Shell commands
> cmd/dm
> cmd/ebtupdate
> cmd/echo
> + cmd/efi
> cmd/eficonfig
> cmd/env
> cmd/event
More information about the U-Boot
mailing list