|author||Mark Salter <email@example.com>||2013-11-29 16:00:14 -0500|
|committer||Matt Fleming <firstname.lastname@example.org>||2014-04-30 19:57:05 +0100|
doc: arm64: add description of EFI stub support
Add explanation of arm64 EFI stub and kernel image header changes needed to masquerade as a PE/COFF application. Signed-off-by: Mark Salter <email@example.com> Signed-off-by: Leif Lindholm <firstname.lastname@example.org> Acked-by: Grant Likely <email@example.com> Acked-by: Catalin Marinas <firstname.lastname@example.org> Signed-off-by: Matt Fleming <email@example.com>
Diffstat (limited to 'Documentation/efi-stub.txt')
1 files changed, 9 insertions, 3 deletions
diff --git a/Documentation/efi-stub.txt b/Documentation/efi-stub.txt
index 26be7b02a164..7747024d3bb7 100644
@@ -12,6 +12,11 @@ arch/arm/boot/compressed/efi-header.S and
arch/arm/boot/compressed/efi-stub.c. EFI stub code that is shared
between architectures is in drivers/firmware/efi/efi-stub-helper.c.
+For arm64, there is no compressed kernel support, so the Image itself
+masquerades as a PE/COFF image and the EFI stub is linked into the
+kernel. The arm64 EFI stub lives in arch/arm64/kernel/efi-entry.S
By using the EFI boot stub it's possible to boot a Linux kernel
without the use of a conventional EFI boot loader, such as grub or
elilo. Since the EFI boot stub performs the jobs of a boot loader, in
@@ -28,7 +33,8 @@ the extension the EFI firmware loader will refuse to execute it. It's
not possible to execute bzImage.efi from the usual Linux file systems
because EFI firmware doesn't have support for them. For ARM the
arch/arm/boot/zImage should be copied to the system partition, and it
-may not need to be renamed.
+may not need to be renamed. Similarly for arm64, arch/arm64/boot/Image
+should be copied but not necessarily renamed.
**** Passing kernel parameters from the EFI shell
@@ -72,7 +78,7 @@ is passed to bzImage.efi.
**** The "dtb=" option
-For the ARM architecture, we also need to be able to provide a device
-tree to the kernel. This is done with the "dtb=" command line option,
+For the ARM and arm64 architectures, we also need to be able to provide a
+device tree to the kernel. This is done with the "dtb=" command line option,
and is processed in the same manner as the "initrd=" option that is