diff options
| author | Leif Lindholm <leif.lindholm@linaro.org> | 2013-11-28 11:41:21 -0500 |
|---|---|---|
| committer | Matt Fleming <matt.fleming@intel.com> | 2014-04-30 14:57:01 -0400 |
| commit | e1977464e8403b4d7ed23d6bdb3358e78b311aa0 (patch) | |
| tree | df9fde23da4ca05355845ec2a7a7fdc049c7c2da /Documentation/arm | |
| parent | f84d02755f5a9f3b88e8d15d6384da25ad6dcf5e (diff) | |
doc: arm: add UEFI support documentation
This patch provides documentation of the [U]EFI runtime service and
configuration features for the arm architecture.
Cc: Rob Landley <rob@landley.net>
Cc: linux-doc@vger.kernel.org
Signed-off-by: Leif Lindholm <leif.lindholm@linaro.org>
Acked-by: Grant Likely <grant.likely@linaro.org>
Acked-by: Catalin Marinas <catalin.marinas@arm.com>
Signed-off-by: Matt Fleming <matt.fleming@intel.com>
Diffstat (limited to 'Documentation/arm')
| -rw-r--r-- | Documentation/arm/00-INDEX | 2 | ||||
| -rw-r--r-- | Documentation/arm/uefi.txt | 64 |
2 files changed, 66 insertions, 0 deletions
diff --git a/Documentation/arm/00-INDEX b/Documentation/arm/00-INDEX index a94090cc785d..3b08bc2b04cf 100644 --- a/Documentation/arm/00-INDEX +++ b/Documentation/arm/00-INDEX | |||
| @@ -46,5 +46,7 @@ swp_emulation | |||
| 46 | - SWP/SWPB emulation handler/logging description | 46 | - SWP/SWPB emulation handler/logging description |
| 47 | tcm.txt | 47 | tcm.txt |
| 48 | - ARM Tightly Coupled Memory | 48 | - ARM Tightly Coupled Memory |
| 49 | uefi.txt | ||
| 50 | - [U]EFI configuration and runtime services documentation | ||
| 49 | vlocks.txt | 51 | vlocks.txt |
| 50 | - Voting locks, low-level mechanism relying on memory system atomic writes. | 52 | - Voting locks, low-level mechanism relying on memory system atomic writes. |
diff --git a/Documentation/arm/uefi.txt b/Documentation/arm/uefi.txt new file mode 100644 index 000000000000..d60030a1b909 --- /dev/null +++ b/Documentation/arm/uefi.txt | |||
| @@ -0,0 +1,64 @@ | |||
| 1 | UEFI, the Unified Extensible Firmware Interface, is a specification | ||
| 2 | governing the behaviours of compatible firmware interfaces. It is | ||
| 3 | maintained by the UEFI Forum - http://www.uefi.org/. | ||
| 4 | |||
| 5 | UEFI is an evolution of its predecessor 'EFI', so the terms EFI and | ||
| 6 | UEFI are used somewhat interchangeably in this document and associated | ||
| 7 | source code. As a rule, anything new uses 'UEFI', whereas 'EFI' refers | ||
| 8 | to legacy code or specifications. | ||
| 9 | |||
| 10 | UEFI support in Linux | ||
| 11 | ===================== | ||
| 12 | Booting on a platform with firmware compliant with the UEFI specification | ||
| 13 | makes it possible for the kernel to support additional features: | ||
| 14 | - UEFI Runtime Services | ||
| 15 | - Retrieving various configuration information through the standardised | ||
| 16 | interface of UEFI configuration tables. (ACPI, SMBIOS, ...) | ||
| 17 | |||
| 18 | For actually enabling [U]EFI support, enable: | ||
| 19 | - CONFIG_EFI=y | ||
| 20 | - CONFIG_EFI_VARS=y or m | ||
| 21 | |||
| 22 | The implementation depends on receiving information about the UEFI environment | ||
| 23 | in a Flattened Device Tree (FDT) - so is only available with CONFIG_OF. | ||
| 24 | |||
| 25 | UEFI stub | ||
| 26 | ========= | ||
| 27 | The "stub" is a feature that extends the Image/zImage into a valid UEFI | ||
| 28 | PE/COFF executable, including a loader application that makes it possible to | ||
| 29 | load the kernel directly from the UEFI shell, boot menu, or one of the | ||
| 30 | lightweight bootloaders like Gummiboot or rEFInd. | ||
| 31 | |||
| 32 | The kernel image built with stub support remains a valid kernel image for | ||
| 33 | booting in non-UEFI environments. | ||
| 34 | |||
| 35 | UEFI kernel support on ARM | ||
| 36 | ========================== | ||
| 37 | UEFI kernel support on the ARM architectures (arm and arm64) is only available | ||
| 38 | when boot is performed through the stub. | ||
| 39 | |||
| 40 | When booting in UEFI mode, the stub deletes any memory nodes from a provided DT. | ||
| 41 | Instead, the kernel reads the UEFI memory map. | ||
| 42 | |||
| 43 | The stub populates the FDT /chosen node with (and the kernel scans for) the | ||
| 44 | following parameters: | ||
| 45 | ________________________________________________________________________________ | ||
| 46 | Name | Size | Description | ||
| 47 | ================================================================================ | ||
| 48 | linux,uefi-system-table | 64-bit | Physical address of the UEFI System Table. | ||
| 49 | -------------------------------------------------------------------------------- | ||
| 50 | linux,uefi-mmap-start | 64-bit | Physical address of the UEFI memory map, | ||
| 51 | | | populated by the UEFI GetMemoryMap() call. | ||
| 52 | -------------------------------------------------------------------------------- | ||
| 53 | linux,uefi-mmap-size | 32-bit | Size in bytes of the UEFI memory map | ||
| 54 | | | pointed to in previous entry. | ||
| 55 | -------------------------------------------------------------------------------- | ||
| 56 | linux,uefi-mmap-desc-size | 32-bit | Size in bytes of each entry in the UEFI | ||
| 57 | | | memory map. | ||
| 58 | -------------------------------------------------------------------------------- | ||
| 59 | linux,uefi-mmap-desc-ver | 32-bit | Version of the mmap descriptor format. | ||
| 60 | -------------------------------------------------------------------------------- | ||
| 61 | linux,uefi-stub-kern-ver | string | Copy of linux_banner from build. | ||
| 62 | -------------------------------------------------------------------------------- | ||
| 63 | |||
| 64 | For verbose debug messages, specify 'uefi_debug' on the kernel command line. | ||
