mirror of
https://github.com/AsahiLinux/u-boot
synced 2024-11-28 15:41:40 +00:00
f4d227c99f
Most EFI implementations use 64-bit but U-Boot only supports running as a 32-bit app at present. While efi-x86_payload64 does boot from 64-bit UEFI it immediately changes back to 32-bit before starting U-Boot. In order to support a 64-bit U-Boot app, update the Kconfig to add an option for 32/64 bit. Update the prompt for the existing option so it is clear it relates to the stub. Move both up to just under the choice that controls them, since this looks better and the menu. Use CONFIG_EFI_APP in the Makefile instead of CONFIG_TARGET_EFI_APP, since the latter is specific to a single target and we will have two. Memory size is set to 32MB for now so that it can run on qemu without increasing the default memory size. We may need to increase the default later. Signed-off-by: Simon Glass <sjg@chromium.org> Reviewed-by: Heinrich Schuchardt <xypron.glpk@gmx.de>
73 lines
2.3 KiB
Text
73 lines
2.3 KiB
Text
config EFI
|
|
bool "Support running U-Boot from EFI"
|
|
depends on X86
|
|
imply X86_TSC_READ_BASE
|
|
help
|
|
U-Boot can be started from EFI on certain platforms. This allows
|
|
EFI to perform most of the system init and then jump to U-Boot for
|
|
final system boot. Another option is to run U-Boot as an EFI
|
|
application, with U-Boot using EFI's drivers instead of its own.
|
|
|
|
choice
|
|
prompt "Select EFI mode to use"
|
|
depends on X86 && EFI
|
|
|
|
config EFI_APP
|
|
bool "Support running as an EFI application"
|
|
help
|
|
Build U-Boot as an application which can be started from EFI. This
|
|
is useful for examining a platform in the early stages of porting
|
|
U-Boot to it. It allows only very basic functionality, such as a
|
|
command prompt and memory and I/O functions. Use 'reset' to return
|
|
to EFI.
|
|
|
|
config EFI_STUB
|
|
bool "Support running as an EFI payload"
|
|
|
|
endchoice
|
|
|
|
choice
|
|
prompt "EFI app 32/64-bit selection"
|
|
depends on EFI_APP
|
|
help
|
|
EFI does not support mixing 32-bit and 64-bit modes. This is a
|
|
significant problem because it means that you must build a stub with
|
|
the correct type for EFI to load it correctly. If you are using
|
|
32-bit EFI, select 32-bit here, else select 64-bit. Failure to do
|
|
this may produce no error message - it just won't start!
|
|
|
|
config EFI_APP_32BIT
|
|
bool "Produce an app for running with 32-bit EFI"
|
|
|
|
config EFI_APP_64BIT
|
|
bool "Produce an app for running with 64-bit EFI"
|
|
|
|
endchoice
|
|
|
|
choice
|
|
prompt "EFI stub 32/64-bit selection"
|
|
depends on EFI_STUB
|
|
help
|
|
EFI does not support mixing 32-bit and 64-bit modes. This is a
|
|
significant problem because it means that you must build a stub with
|
|
the correct type for EFI to load it correctly. If you are using
|
|
32-bit EFI, select 32-bit here, else select 64-bit. Failure to do
|
|
this may produce no error message - it just won't start!
|
|
|
|
config EFI_STUB_32BIT
|
|
bool "Produce a stub for running with 32-bit EFI"
|
|
|
|
config EFI_STUB_64BIT
|
|
bool "Produce a stub for running with 64-bit EFI"
|
|
|
|
endchoice
|
|
|
|
config EFI_RAM_SIZE
|
|
hex "Amount of EFI RAM for U-Boot"
|
|
depends on EFI_APP
|
|
default 0x10000000
|
|
help
|
|
Set the amount of EFI RAM which is claimed by U-Boot for its own
|
|
use. U-Boot allocates this from EFI on start-up (along with a few
|
|
other smaller amounts) and it can never be increased after that.
|
|
It is used as the RAM size in with U-Boot.
|