summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorHeinrich Schuchardt <xypron.glpk@gmx.de>2019-07-14 14:05:37 +0200
committerHeinrich Schuchardt <xypron.glpk@gmx.de>2019-07-16 22:17:21 +0000
commitc0b352ec9236e8fe6a42c00e541e3579d6df52e6 (patch)
treee0997ebbea61ef0a48dcb0a2aaa92326e78a553a
parent0b0165692484e13fcdac1eafbcd8d42c09257796 (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.rst87
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: