c8fe916c91
Currently the Sphinx doc only contains API descriptions of several U-Boot subsystems. For future extension, group these existing docs into an API sub-directory. Signed-off-by: Bin Meng <bmeng.cn@gmail.com> Reviewed-by: Heinrich Schuchardt <xypron.glpk@gmx.de>
106 lines
2.3 KiB
ReStructuredText
106 lines
2.3 KiB
ReStructuredText
.. SPDX-License-Identifier: GPL-2.0+
|
|
|
|
UEFI subsystem
|
|
==============
|
|
|
|
Lauching UEFI images
|
|
--------------------
|
|
|
|
Bootefi command
|
|
~~~~~~~~~~~~~~~
|
|
|
|
The bootefi command is used to start UEFI applications or to install UEFI
|
|
drivers. It takes two parameters
|
|
|
|
bootefi <image address> [fdt address]
|
|
|
|
* image address - the memory address of the UEFI binary
|
|
* fdt address - the memory address of the flattened device tree
|
|
|
|
The environment variable 'bootargs' is passed as load options in the UEFI system
|
|
table. The Linux kernel EFI stub uses the load options as command line
|
|
arguments.
|
|
|
|
.. kernel-doc:: cmd/bootefi.c
|
|
:internal:
|
|
|
|
Boot manager
|
|
~~~~~~~~~~~~
|
|
|
|
The UEFI specification foresees to define boot entries and boot sequence via UEFI
|
|
variables. Booting according to these variables is possible via
|
|
|
|
bootefi bootmgr [fdt address]
|
|
|
|
* fdt address - the memory address of the flattened device tree
|
|
|
|
The relevant variables are:
|
|
|
|
* Boot0000-BootFFFF define boot entries
|
|
* BootNext specifies next boot option to be booted
|
|
* BootOrder specifies in which sequence the boot options shall be tried if
|
|
BootNext is not defined or booting via BootNext fails
|
|
|
|
.. kernel-doc:: lib/efi_loader/efi_bootmgr.c
|
|
:internal:
|
|
|
|
Efidebug command
|
|
~~~~~~~~~~~~~~~~
|
|
|
|
The efidebug command is used to set and display boot options as well as to
|
|
display information about internal data of the UEFI subsystem (devices,
|
|
drivers, handles, loaded images, and the memory map).
|
|
|
|
.. kernel-doc:: cmd/efidebug.c
|
|
:internal:
|
|
|
|
Initialization of the UEFI sub-system
|
|
-------------------------------------
|
|
|
|
.. kernel-doc:: lib/efi_loader/efi_setup.c
|
|
:internal:
|
|
|
|
Boot services
|
|
-------------
|
|
|
|
.. kernel-doc:: lib/efi_loader/efi_boottime.c
|
|
:internal:
|
|
|
|
Image relocation
|
|
~~~~~~~~~~~~~~~~
|
|
|
|
.. kernel-doc:: lib/efi_loader/efi_image_loader.c
|
|
:internal:
|
|
|
|
Memory services
|
|
~~~~~~~~~~~~~~~
|
|
|
|
.. kernel-doc:: lib/efi_loader/efi_memory.c
|
|
:internal:
|
|
|
|
Runtime services
|
|
----------------
|
|
|
|
.. kernel-doc:: lib/efi_loader/efi_runtime.c
|
|
:internal:
|
|
|
|
Variable services
|
|
~~~~~~~~~~~~~~~~~
|
|
|
|
.. kernel-doc:: lib/efi_loader/efi_variable.c
|
|
:internal:
|
|
|
|
UEFI drivers
|
|
------------
|
|
|
|
UEFI driver uclass
|
|
~~~~~~~~~~~~~~~~~~
|
|
.. kernel-doc:: lib/efi_driver/efi_uclass.c
|
|
:internal:
|
|
|
|
Block device driver
|
|
~~~~~~~~~~~~~~~~~~~
|
|
|
|
.. kernel-doc:: lib/efi_driver/efi_block_device.c
|
|
:internal:
|