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.
