Simon Glass | 867a6ac | 2015-07-31 09:31:36 -0600 | [diff] [blame] | 1 | config EFI |
| 2 | bool "Support running U-Boot from EFI" |
| 3 | depends on X86 |
Simon Glass | 77dd7c6 | 2019-12-06 21:41:49 -0700 | [diff] [blame] | 4 | imply X86_TSC_READ_BASE |
Simon Glass | 867a6ac | 2015-07-31 09:31:36 -0600 | [diff] [blame] | 5 | help |
| 6 | U-Boot can be started from EFI on certain platforms. This allows |
| 7 | EFI to perform most of the system init and then jump to U-Boot for |
| 8 | final system boot. Another option is to run U-Boot as an EFI |
| 9 | application, with U-Boot using EFI's drivers instead of its own. |
| 10 | |
| 11 | choice |
| 12 | prompt "Select EFI mode to use" |
| 13 | depends on X86 && EFI |
| 14 | |
| 15 | config EFI_APP |
| 16 | bool "Support running as an EFI application" |
Heinrich Schuchardt | d30924f | 2022-05-02 06:27:00 +0200 | [diff] [blame] | 17 | select CHARSET |
Simon Glass | 867a6ac | 2015-07-31 09:31:36 -0600 | [diff] [blame] | 18 | help |
| 19 | Build U-Boot as an application which can be started from EFI. This |
| 20 | is useful for examining a platform in the early stages of porting |
| 21 | U-Boot to it. It allows only very basic functionality, such as a |
| 22 | command prompt and memory and I/O functions. Use 'reset' to return |
| 23 | to EFI. |
| 24 | |
Simon Glass | 476476e | 2015-08-04 12:33:52 -0600 | [diff] [blame] | 25 | config EFI_STUB |
| 26 | bool "Support running as an EFI payload" |
| 27 | |
| 28 | endchoice |
| 29 | |
Simon Glass | f4d227c | 2021-11-03 21:09:06 -0600 | [diff] [blame] | 30 | choice |
| 31 | prompt "EFI app 32/64-bit selection" |
Simon Glass | 867a6ac | 2015-07-31 09:31:36 -0600 | [diff] [blame] | 32 | depends on EFI_APP |
Simon Glass | 867a6ac | 2015-07-31 09:31:36 -0600 | [diff] [blame] | 33 | help |
Simon Glass | f4d227c | 2021-11-03 21:09:06 -0600 | [diff] [blame] | 34 | EFI does not support mixing 32-bit and 64-bit modes. This is a |
| 35 | significant problem because it means that you must build a stub with |
| 36 | the correct type for EFI to load it correctly. If you are using |
| 37 | 32-bit EFI, select 32-bit here, else select 64-bit. Failure to do |
| 38 | this may produce no error message - it just won't start! |
| 39 | |
| 40 | config EFI_APP_32BIT |
| 41 | bool "Produce an app for running with 32-bit EFI" |
| 42 | |
| 43 | config EFI_APP_64BIT |
| 44 | bool "Produce an app for running with 64-bit EFI" |
| 45 | |
| 46 | endchoice |
Simon Glass | 867a6ac | 2015-07-31 09:31:36 -0600 | [diff] [blame] | 47 | |
Simon Glass | 476476e | 2015-08-04 12:33:52 -0600 | [diff] [blame] | 48 | choice |
Simon Glass | f4d227c | 2021-11-03 21:09:06 -0600 | [diff] [blame] | 49 | prompt "EFI stub 32/64-bit selection" |
Simon Glass | 476476e | 2015-08-04 12:33:52 -0600 | [diff] [blame] | 50 | depends on EFI_STUB |
| 51 | help |
| 52 | EFI does not support mixing 32-bit and 64-bit modes. This is a |
| 53 | significant problem because it means that you must build a stub with |
| 54 | the correct type for EFI to load it correctly. If you are using |
| 55 | 32-bit EFI, select 32-bit here, else select 64-bit. Failure to do |
| 56 | this may produce no error message - it just won't start! |
| 57 | |
| 58 | config EFI_STUB_32BIT |
| 59 | bool "Produce a stub for running with 32-bit EFI" |
| 60 | |
| 61 | config EFI_STUB_64BIT |
| 62 | bool "Produce a stub for running with 64-bit EFI" |
| 63 | |
Simon Glass | 867a6ac | 2015-07-31 09:31:36 -0600 | [diff] [blame] | 64 | endchoice |
Simon Glass | f4d227c | 2021-11-03 21:09:06 -0600 | [diff] [blame] | 65 | |
| 66 | config EFI_RAM_SIZE |
| 67 | hex "Amount of EFI RAM for U-Boot" |
| 68 | depends on EFI_APP |
| 69 | default 0x10000000 |
| 70 | help |
| 71 | Set the amount of EFI RAM which is claimed by U-Boot for its own |
| 72 | use. U-Boot allocates this from EFI on start-up (along with a few |
| 73 | other smaller amounts) and it can never be increased after that. |
| 74 | It is used as the RAM size in with U-Boot. |