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