diff options
author | Heinrich Schuchardt <xypron.glpk@gmx.de> | 2019-07-14 14:05:37 +0200 |
---|---|---|
committer | Heinrich Schuchardt <xypron.glpk@gmx.de> | 2019-07-16 22:17:21 +0000 |
commit | c0b352ec9236e8fe6a42c00e541e3579d6df52e6 (patch) | |
tree | e0997ebbea61ef0a48dcb0a2aaa92326e78a553a | |
parent | 0b0165692484e13fcdac1eafbcd8d42c09257796 (diff) |
efi_loader: add more sources to Sphinx documentation
Add more C files as sources to the Sphinx generated documentaton
(make htmldocs).
Signed-off-by: Heinrich Schuchardt <xypron.glpk@gmx.de>
-rw-r--r-- | doc/efi.rst | 87 |
1 files changed, 85 insertions, 2 deletions
diff --git a/doc/efi.rst b/doc/efi.rst index 5337a55c3b..39e2dbae0b 100644 --- a/doc/efi.rst +++ b/doc/efi.rst @@ -1,7 +1,64 @@ .. SPDX-License-Identifier: GPL-2.0+ -EFI subsystem -============= +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 ------------- @@ -15,8 +72,34 @@ 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: |