diff options
author | Simon Glass <sjg@chromium.org> | 2023-09-03 18:15:51 +0300 |
---|---|---|
committer | Heinrich Schuchardt <heinrich.schuchardt@canonical.com> | 2023-09-09 07:12:47 +0300 |
commit | 063536a7810d4e760787592f1b8e0e01992fa796 (patch) | |
tree | 7b27991f412b6b72354881051bd5cfac731a0289 | |
parent | 5d1fa6b6a64713072eeb001247f2a083806f2c48 (diff) | |
download | u-boot-063536a7810d4e760787592f1b8e0e01992fa796.tar.xz |
doc: efi: Update for the 64-bit app
The 64-bit app is supported now, so update the documentation.
Signed-off-by: Simon Glass <sjg@chromium.org>
Signed-off-by: Heinrich Schuchardt <heinrich.schuchardt@canonical.com>
-rw-r--r-- | doc/develop/uefi/u-boot_on_efi.rst | 26 |
1 files changed, 11 insertions, 15 deletions
diff --git a/doc/develop/uefi/u-boot_on_efi.rst b/doc/develop/uefi/u-boot_on_efi.rst index 0d4927807c..245b4af1fa 100644 --- a/doc/develop/uefi/u-boot_on_efi.rst +++ b/doc/develop/uefi/u-boot_on_efi.rst @@ -31,14 +31,12 @@ Only x86 is supported at present. If you are using EFI on another architecture you may want to reconsider. However, much of the code is generic so could be ported. -U-Boot supports running as an EFI application for 32-bit EFI only. This is -not very useful since only a serial port is provided. You can look around at -memory and type 'help' but that is about it. +U-Boot supports running as an EFI application for both 32- and 64-bit EFI. -More usefully, U-Boot supports building itself as a payload for either 32-bit -or 64-bit EFI. U-Boot is packaged up and loaded in its entirety by EFI. Once -started, U-Boot changes to 32-bit mode (currently) and takes over the -machine. You can use devices, boot a kernel, etc. +U-Boot supports building itself as a payload for either 32-bit or 64-bit EFI. +U-Boot is packaged up and loaded in its entirety by EFI. Once started, U-Boot +changes to 32-bit mode (currently) and takes over the machine. You can use +devices, boot a kernel, etc. Build Instructions @@ -47,9 +45,9 @@ First choose a board that has EFI support and obtain an EFI implementation for that board. It will be either 32-bit or 64-bit. Alternatively, you can opt for using QEMU [1] and the OVMF [2], as detailed below. -To build U-Boot as an EFI application (32-bit EFI required), enable CONFIG_EFI -and CONFIG_EFI_APP. The efi-x86_app config (efi-x86_app32_defconfig) is set up -for this. Just build U-Boot as normal, e.g.:: +To build U-Boot as an EFI application, enable CONFIG_EFI and CONFIG_EFI_APP. +The efi-x86_app32 and efi-x86_app64 configs are set up for this. Just build +U-Boot as normal, e.g.:: make efi-x86_app32_defconfig make @@ -189,9 +187,9 @@ interrupts disabled at present. 32/64-bit ~~~~~~~~~ -While the EFI application can in principle be built as either 32- or 64-bit, -only 32-bit is currently supported. This means that the application can only -be used with 32-bit EFI. +While the EFI application can be built as either 32- or 64-bit, you need to be +careful to build the correct one so that your UEFI firmware can start it. Most +UEFI images are 64-bit at present. The payload stub can be build as either 32- or 64-bits. Only a small amount of code is built this way (see the extra- line in lib/efi/Makefile). @@ -345,8 +343,6 @@ This work could be extended in a number of ways: - Add ARM support -- Add 64-bit application support (in progress) - - Figure out how to solve the interrupt problem - Add more drivers to the application side (e.g.USB, environment access). |