mirror of
				https://source.denx.de/u-boot/u-boot.git
				synced 2025-10-31 00:11:51 +01:00 
			
		
		
		
	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:
 |