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. | ||