apalis_imx6: unify sd/mmc drive strength with linux kernel settings
[oweals/u-boot.git] / doc / README.uefi
index 6b9759cfede87a12959bbc9d6a8d097bb8f014e8..66b6abece5ebc5b234150fb402c5b6392e8b9cff 100644 (file)
@@ -12,9 +12,18 @@ the interaction of drivers and applications with the firmware. The API comprises
 access to block storage, network, and console to name a few. The Linux kernel
 and boot loaders like GRUB or the FreeBSD loader can be executed.
 
+## Development target
+
+The implementation of UEFI in U-Boot strives to reach the minimum requirements
+described in "Server Base Boot Requirements System Software on ARM Platforms -
+Version 1.1" [4].
+
+A full blown UEFI implementation would contradict the U-Boot design principle
+"keep it small".
+
 ## Building for UEFI
 
-The UEFI standard supports only little endian systems. The UEFI support can be
+The UEFI standard supports only little-endian systems. The UEFI support can be
 activated for ARM and x86 by specifying
 
     CONFIG_CMD_BOOTEFI=y
@@ -53,7 +62,7 @@ arguments.
 
 ### Executing the boot manager
 
-The UEFI specfication foresees to define boot entries and boot sequence via UEFI
+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]
@@ -90,14 +99,14 @@ Below you find the output of an example session.
 The environment variable fdtcontroladdr points to U-Boot's internal device tree
 (if available).
 
-### Executing the built-in selftest
+### Executing the built-in self-test
 
-An UEFI selftest suite can be embedded in U-Boot by building with
+An UEFI self-test suite can be embedded in U-Boot by building with
 
     CONFIG_CMD_BOOTEFI_SELFTEST=y
 
 For testing the UEFI implementation the bootefi command can be used to start the
-selftest.
+self-test.
 
     bootefi selftest [fdt address]
 
@@ -299,7 +308,7 @@ This driver is only available if U-Boot is configured with
     CONFIG_BLK=y
     CONFIG_PARTITIONS=y
 
-## TODOs as of U-Boot 2018.07
+## TODOs as of U-Boot 2019.04
 
 * unimplemented or incompletely implemented boot services
   * Exit - call unload function, unload applications only
@@ -308,16 +317,13 @@ This driver is only available if U-Boot is configured with
 
 * unimplemented or incompletely implemented runtime services
   * SetVariable() ignores attribute EFI_VARIABLE_APPEND_WRITE
-  * GetNextVariableName is not implemented
   * QueryVariableInfo is not implemented
 
 * unimplemented events
   * EVT_RUNTIME
   * EVT_SIGNAL_VIRTUAL_ADDRESS_CHANGE
-  * event groups
 
 * data model
-  * manage events in a linked list
   * manage configuration tables in a linked list
 
 * UEFI drivers
@@ -329,9 +335,14 @@ This driver is only available if U-Boot is configured with
   * persistence
   * runtime support
 
+* incompletely implemented protocols
+  * support version 0x00020000 of the EFI file protocol
+
 ## Links
 
 * [1](http://uefi.org/specifications)
   http://uefi.org/specifications - UEFI specifications
 * [2](./driver-model/README.txt) doc/driver-model/README.txt - Driver model
 * [3](./README.iscsi) doc/README.iscsi - iSCSI booting with U-Boot and iPXE
+* [4](https://developer.arm.com/docs/den0044/latest/server-base-boot-requirements-system-software-on-arm-platforms-version-11)
+  Server Base Boot Requirements System Software on ARM Platforms - Version 1.1