Uwe Hermann | 661e380 | 2008-03-21 18:37:23 +0000 | [diff] [blame] | 1 | ## |
Uwe Hermann | 661e380 | 2008-03-21 18:37:23 +0000 | [diff] [blame] | 2 | ## |
| 3 | ## Copyright (C) 2008 Advanced Micro Devices, Inc. |
Stefan Reinauer | 6986358 | 2008-08-08 13:45:03 +0000 | [diff] [blame] | 4 | ## Copyright (C) 2008 coresystems GmbH |
Uwe Hermann | 661e380 | 2008-03-21 18:37:23 +0000 | [diff] [blame] | 5 | ## |
| 6 | ## Redistribution and use in source and binary forms, with or without |
| 7 | ## modification, are permitted provided that the following conditions |
| 8 | ## are met: |
| 9 | ## 1. Redistributions of source code must retain the above copyright |
| 10 | ## notice, this list of conditions and the following disclaimer. |
| 11 | ## 2. Redistributions in binary form must reproduce the above copyright |
| 12 | ## notice, this list of conditions and the following disclaimer in the |
| 13 | ## documentation and/or other materials provided with the distribution. |
| 14 | ## 3. The name of the author may not be used to endorse or promote products |
| 15 | ## derived from this software without specific prior written permission. |
| 16 | ## |
| 17 | ## THIS SOFTWARE IS PROVIDED BY THE AUTHOR AND CONTRIBUTORS ``AS IS'' AND |
| 18 | ## ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE |
| 19 | ## IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE |
| 20 | ## ARE DISCLAIMED. IN NO EVENT SHALL THE AUTHOR OR CONTRIBUTORS BE LIABLE |
| 21 | ## FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL |
| 22 | ## DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS |
| 23 | ## OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) |
| 24 | ## HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT |
| 25 | ## LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY |
| 26 | ## OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF |
| 27 | ## SUCH DAMAGE. |
| 28 | ## |
Jordan Crouse | f6145c3 | 2008-03-19 23:56:58 +0000 | [diff] [blame] | 29 | |
| 30 | mainmenu "Libpayload Configuration" |
| 31 | |
Stefan Reinauer | e5d30b7 | 2010-03-25 22:15:19 +0000 | [diff] [blame] | 32 | menu "Generic Options" |
| 33 | |
Julius Werner | 22adcd6 | 2014-06-11 14:16:35 -0700 | [diff] [blame] | 34 | config GPL |
| 35 | bool "GPLv2-licensed Options" |
Julius Werner | 58caa8b | 2016-05-16 16:37:56 -0700 | [diff] [blame] | 36 | default y if CHROMEOS |
Julius Werner | 22adcd6 | 2014-06-11 14:16:35 -0700 | [diff] [blame] | 37 | default n |
| 38 | help |
| 39 | Prompt for options that will build code licensed under the GNU General |
| 40 | Public License (version 2). This will subject the whole payload to the |
| 41 | terms of this license (including its provision to release all sources, |
| 42 | please see the LICENSE_GPL file for details). |
| 43 | |
Stefan Reinauer | e5d30b7 | 2010-03-25 22:15:19 +0000 | [diff] [blame] | 44 | config EXPERIMENTAL |
| 45 | bool "Experimental Options" |
| 46 | default n |
| 47 | help |
| 48 | Prompt for experimental functionality. Attention: This is not likely |
| 49 | to work without problems |
| 50 | |
Stefan Reinauer | e5d30b7 | 2010-03-25 22:15:19 +0000 | [diff] [blame] | 51 | config DEVELOPER |
| 52 | bool "Developer Options" |
| 53 | default n |
| 54 | help |
| 55 | Prompt for developer options. These options are only interesting for |
| 56 | libpayload developers. |
| 57 | |
Julius Werner | 58caa8b | 2016-05-16 16:37:56 -0700 | [diff] [blame] | 58 | config CHROMEOS |
Jon Murphy | c4e9045 | 2022-06-28 10:36:23 -0600 | [diff] [blame] | 59 | bool "ChromeOS Options" |
Julius Werner | 58caa8b | 2016-05-16 16:37:56 -0700 | [diff] [blame] | 60 | default n |
| 61 | help |
Jon Murphy | c4e9045 | 2022-06-28 10:36:23 -0600 | [diff] [blame] | 62 | Select configuration defaults appropriate for ChromeOS boards. |
Julius Werner | 58caa8b | 2016-05-16 16:37:56 -0700 | [diff] [blame] | 63 | |
Patrick Georgi | b7d8f26 | 2015-07-06 09:04:42 +0000 | [diff] [blame] | 64 | choice |
| 65 | prompt "Compiler to use" |
| 66 | default COMPILER_GCC |
| 67 | help |
| 68 | This option allows you to select the compiler. |
| 69 | |
| 70 | config COMPILER_GCC |
| 71 | bool "GCC" |
| 72 | help |
| 73 | Use the GNU Compiler Collection (GCC). |
| 74 | |
| 75 | config COMPILER_LLVM_CLANG |
| 76 | bool "LLVM/clang" |
| 77 | help |
| 78 | Use LLVM/clang. |
| 79 | |
| 80 | endchoice |
| 81 | |
Jacob Garber | 04540f1 | 2019-10-02 18:55:07 -0600 | [diff] [blame] | 82 | config LTO |
| 83 | bool "Use link time optimization (LTO)" |
| 84 | default n |
| 85 | depends on COMPILER_GCC |
| 86 | help |
| 87 | Compile with link time optimization. This can often decrease the |
| 88 | final binary size, but may increase compilation time. |
| 89 | |
Julius Werner | 50a8174 | 2014-05-15 11:57:38 -0700 | [diff] [blame] | 90 | config REMOTEGDB |
| 91 | bool "Remote GDB stub" |
| 92 | default n |
| 93 | depends on GPL |
| 94 | help |
| 95 | Enable Remote GDB debugging support. |
| 96 | |
Stefan Reinauer | 1e6b86b | 2016-03-12 12:14:46 -0800 | [diff] [blame] | 97 | config MEMMAP_RAM_ONLY |
| 98 | bool "Only consider RAM entries in memory map for further processing" |
| 99 | default n |
| 100 | |
Stefan Reinauer | e5d30b7 | 2010-03-25 22:15:19 +0000 | [diff] [blame] | 101 | endmenu |
| 102 | |
Jordan Crouse | 20c9cf1 | 2008-10-20 16:51:43 +0000 | [diff] [blame] | 103 | menu "Architecture Options" |
| 104 | |
Patrick Georgi | d385ed2 | 2009-05-21 10:02:52 +0000 | [diff] [blame] | 105 | choice |
| 106 | prompt "Target Architecture" |
David Hendricks | 4b6be98 | 2012-11-30 13:56:31 -0800 | [diff] [blame] | 107 | default ARCH_X86 |
Patrick Georgi | d385ed2 | 2009-05-21 10:02:52 +0000 | [diff] [blame] | 108 | |
Gabe Black | 51edd54 | 2013-09-30 23:00:33 -0700 | [diff] [blame] | 109 | config ARCH_ARM |
| 110 | bool "ARM" |
Stefan Reinauer | 8af0d03 | 2012-12-14 13:05:21 -0800 | [diff] [blame] | 111 | help |
Gabe Black | 51edd54 | 2013-09-30 23:00:33 -0700 | [diff] [blame] | 112 | Support the ARM architecture |
Stefan Reinauer | 8af0d03 | 2012-12-14 13:05:21 -0800 | [diff] [blame] | 113 | |
David Hendricks | 4b6be98 | 2012-11-30 13:56:31 -0800 | [diff] [blame] | 114 | config ARCH_X86 |
Patrick Georgi | d385ed2 | 2009-05-21 10:02:52 +0000 | [diff] [blame] | 115 | bool "x86" |
| 116 | help |
| 117 | Support the x86 architecture |
| 118 | |
Furquan Shaikh | 8c8c377 | 2014-02-19 11:35:30 -0800 | [diff] [blame] | 119 | config ARCH_ARM64 |
| 120 | bool "ARM64" |
| 121 | help |
| 122 | Support the ARM64 architecture |
| 123 | |
Jakub Czapiga | 3d91b47 | 2021-09-15 14:52:45 +0200 | [diff] [blame] | 124 | config ARCH_MOCK |
| 125 | bool "Mock architecture (for unit tests)" |
| 126 | help |
| 127 | This enables the mock architecture (for unit tests) that is intended |
| 128 | to be used for testing purposes, to either test payloads or libpayload itself. |
| 129 | It provides necessary headers, but requires mocking (providing implementation |
| 130 | for) arch-specific functions. |
| 131 | |
Patrick Georgi | d385ed2 | 2009-05-21 10:02:52 +0000 | [diff] [blame] | 132 | endchoice |
| 133 | |
Jordan Crouse | 20c9cf1 | 2008-10-20 16:51:43 +0000 | [diff] [blame] | 134 | config MULTIBOOT |
| 135 | bool "Multiboot header support" |
David Hendricks | 4b6be98 | 2012-11-30 13:56:31 -0800 | [diff] [blame] | 136 | depends on ARCH_X86 |
Julius Werner | 58caa8b | 2016-05-16 16:37:56 -0700 | [diff] [blame] | 137 | default y if !CHROMEOS |
Jordan Crouse | 20c9cf1 | 2008-10-20 16:51:43 +0000 | [diff] [blame] | 138 | |
Stefan Reinauer | 8218445 | 2016-03-12 16:18:17 -0800 | [diff] [blame] | 139 | config HEAP_SIZE |
| 140 | int "Heap size" |
| 141 | default 131072 |
| 142 | help |
| 143 | This is the heap size (malloc'able size) available |
| 144 | to the payload. |
| 145 | |
| 146 | If unsure, set to 131072 (128K) |
| 147 | |
| 148 | config STACK_SIZE |
| 149 | int "Stack size" |
| 150 | default 16384 |
| 151 | help |
| 152 | This is the stack size available to the payload. |
| 153 | |
| 154 | If unsure, set to 16384 (16K) |
| 155 | |
| 156 | config BASE_ADDRESS |
| 157 | hex "Base address" |
| 158 | default 0x04000000 if ARCH_ARM |
| 159 | default 0x80100000 if ARCH_ARM64 |
Stefan Reinauer | 8218445 | 2016-03-12 16:18:17 -0800 | [diff] [blame] | 160 | default 0x00100000 if ARCH_X86 |
Jakub Czapiga | 3d91b47 | 2021-09-15 14:52:45 +0200 | [diff] [blame] | 161 | default 0x00000000 if ARCH_MOCK |
Stefan Reinauer | 8218445 | 2016-03-12 16:18:17 -0800 | [diff] [blame] | 162 | help |
| 163 | This is the base address for the payload. |
| 164 | |
Julius Werner | f96d905 | 2019-08-16 15:35:39 -0700 | [diff] [blame] | 165 | If unsure, set to 0x00100000 on x86, |
Stefan Reinauer | 8218445 | 2016-03-12 16:18:17 -0800 | [diff] [blame] | 166 | 0x04000000 on ARM or 0x80100000 on ARM64. |
| 167 | |
Jordan Crouse | 20c9cf1 | 2008-10-20 16:51:43 +0000 | [diff] [blame] | 168 | endmenu |
| 169 | |
Lee Leahy | 6796d78 | 2017-06-20 14:33:28 -0700 | [diff] [blame] | 170 | config USE_MARCH_586 |
| 171 | bool "Use march=586 qualifier to build" |
| 172 | default n |
| 173 | depends on ARCH_X86 |
| 174 | help |
| 175 | Allow a platform or processor to select to be compiled using |
| 176 | the '-march=i586' option instead of the typical '-march=i686' |
| 177 | |
Stefan Reinauer | 6986358 | 2008-08-08 13:45:03 +0000 | [diff] [blame] | 178 | menu "Standard Libraries" |
| 179 | |
| 180 | config LIBC |
| 181 | bool "Enable C library support" |
| 182 | default y |
| 183 | |
Patrick Georgi | 3b77b72 | 2011-07-07 15:41:53 +0200 | [diff] [blame] | 184 | config CURSES |
| 185 | bool "Build a curses library" |
Julius Werner | 58caa8b | 2016-05-16 16:37:56 -0700 | [diff] [blame] | 186 | default y if !CHROMEOS |
Stefan Reinauer | 6986358 | 2008-08-08 13:45:03 +0000 | [diff] [blame] | 187 | |
Patrick Georgi | 3b77b72 | 2011-07-07 15:41:53 +0200 | [diff] [blame] | 188 | choice |
| 189 | prompt "Curses implementation" |
| 190 | default PDCURSES |
| 191 | depends on CURSES |
| 192 | |
| 193 | config TINYCURSES |
Paul Menzel | dc1b3c1 | 2015-09-26 12:30:08 +0200 | [diff] [blame] | 194 | bool "TinyCurses" |
Patrick Georgi | 3b77b72 | 2011-07-07 15:41:53 +0200 | [diff] [blame] | 195 | help |
Paul Menzel | dc1b3c1 | 2015-09-26 12:30:08 +0200 | [diff] [blame] | 196 | TinyCurses was the first curses implementation for libpayload. |
Patrick Georgi | 3b77b72 | 2011-07-07 15:41:53 +0200 | [diff] [blame] | 197 | It features low memory consumption, static allocation of larger |
| 198 | data structures (so few or no memory allocation calls) and a |
| 199 | reduced feature set. |
| 200 | |
| 201 | config PDCURSES |
| 202 | bool "PDCurses" |
Patrick Georgi | 3b77b72 | 2011-07-07 15:41:53 +0200 | [diff] [blame] | 203 | help |
| 204 | libpayload's PDCurses port provides a full features curses |
| 205 | implementation, including libpanel, libmenu and libform (which |
| 206 | are taken from ncurses). |
| 207 | It requires more system resources, in particularily heap memory. |
| 208 | |
| 209 | endchoice |
| 210 | |
Jakub Czapiga | 63e5427 | 2021-11-15 08:36:07 +0000 | [diff] [blame] | 211 | source "libcbfs/Kconfig" |
Patrick Georgi | 6de1ee4a | 2011-07-21 15:43:14 +0200 | [diff] [blame] | 212 | |
| 213 | config LZMA |
| 214 | bool "LZMA decoder" |
| 215 | default y |
| 216 | help |
| 217 | LZMA decoder implementation, usable eg. by CBFS, |
| 218 | but also externally. |
Julius Werner | bf27391 | 2015-06-30 10:30:30 -0700 | [diff] [blame] | 219 | |
| 220 | config LZ4 |
| 221 | bool "LZ4 decoder" |
| 222 | default y |
| 223 | help |
| 224 | Decoder implementation for the LZ4 compression algorithm. |
| 225 | Adds standalone functions (CBFS support coming soon). |
Jakub Czapiga | 1fa3da4 | 2021-12-06 09:01:50 +0000 | [diff] [blame] | 226 | |
| 227 | source "vboot/Kconfig" |
| 228 | |
Stefan Reinauer | 6986358 | 2008-08-08 13:45:03 +0000 | [diff] [blame] | 229 | endmenu |
| 230 | |
| 231 | menu "Console Options" |
Uwe Hermann | 2d758b8 | 2008-03-31 15:21:24 +0000 | [diff] [blame] | 232 | |
Gabe Black | 4bb0731 | 2012-10-05 11:43:39 -0700 | [diff] [blame] | 233 | config SKIP_CONSOLE_INIT |
| 234 | bool "Skip initializing the consoles at startup" |
Julius Werner | 58caa8b | 2016-05-16 16:37:56 -0700 | [diff] [blame] | 235 | default y if CHROMEOS |
Gabe Black | 4bb0731 | 2012-10-05 11:43:39 -0700 | [diff] [blame] | 236 | default n |
| 237 | help |
| 238 | Normally, libpayload will initialize console input/output on startup |
| 239 | before the payload itself gets control. This option disables that |
| 240 | behavior and leaves console initialization up to the payload. |
| 241 | |
Gabe Black | a54b6a6 | 2012-09-29 00:21:27 -0700 | [diff] [blame] | 242 | config CBMEM_CONSOLE |
| 243 | bool "Send output to the in memory CBMEM console" |
| 244 | default y |
| 245 | |
Jordan Crouse | f6145c3 | 2008-03-19 23:56:58 +0000 | [diff] [blame] | 246 | config SERIAL_CONSOLE |
Uwe Hermann | 2d758b8 | 2008-03-31 15:21:24 +0000 | [diff] [blame] | 247 | bool "See output on the serial port console" |
| 248 | default y |
Jordan Crouse | f6145c3 | 2008-03-19 23:56:58 +0000 | [diff] [blame] | 249 | |
Gabe Black | 9135cb4 | 2013-09-26 16:13:08 -0700 | [diff] [blame] | 250 | config 8250_SERIAL_CONSOLE |
Alexandru Gagniuc | 4d5317e | 2015-11-23 16:18:12 -0800 | [diff] [blame] | 251 | bool "8250-compatible serial port driver (including IO and MMIO)" |
Gabe Black | 9135cb4 | 2013-09-26 16:13:08 -0700 | [diff] [blame] | 252 | depends on SERIAL_CONSOLE |
Julius Werner | 58caa8b | 2016-05-16 16:37:56 -0700 | [diff] [blame] | 253 | default y if ARCH_X86 |
Ronald G. Minnich | 7b69454 | 2013-02-15 08:13:29 -0800 | [diff] [blame] | 254 | |
Gabe Black | a6aecc4 | 2014-04-10 01:07:28 -0700 | [diff] [blame] | 255 | config S5P_SERIAL_CONSOLE |
| 256 | bool "Exynos SOC, S5P compatible serial port driver" |
| 257 | depends on SERIAL_CONSOLE |
| 258 | default n |
| 259 | |
Vadim Bendebury | 897123a | 2014-05-27 18:28:59 -0700 | [diff] [blame] | 260 | config IPQ806X_SERIAL_CONSOLE |
| 261 | bool "IPQ806x SOC compatible serial port driver" |
| 262 | depends on SERIAL_CONSOLE |
| 263 | default n |
| 264 | |
Varadarajan Narayanan | c1ae7e9 | 2016-02-01 11:32:12 +0530 | [diff] [blame] | 265 | config IPQ40XX_SERIAL_CONSOLE |
| 266 | bool "IPQ40xx SOC compatible serial port driver" |
| 267 | depends on SERIAL_CONSOLE |
| 268 | default n |
| 269 | |
Prudhvi Yarlagadda | 1b05479 | 2019-03-22 12:38:20 +0530 | [diff] [blame] | 270 | config QCS405_SERIAL_CONSOLE |
| 271 | bool "QCS405 SOC compatible serial port driver" |
| 272 | depends on SERIAL_CONSOLE |
| 273 | default n |
| 274 | |
T Michael Turney | 45473dd | 2019-10-10 12:26:15 -0700 | [diff] [blame] | 275 | config QUALCOMM_QUPV3_SERIAL_CONSOLE |
| 276 | bool "Qualcomm QUPV3 serial port driver" |
| 277 | depends on SERIAL_CONSOLE |
| 278 | default n |
| 279 | |
Marcelo Povoa | 558e9b5 | 2014-02-18 14:17:38 -0800 | [diff] [blame] | 280 | config PL011_SERIAL_CONSOLE |
| 281 | bool "PL011 compatible serial port driver" |
| 282 | depends on 8250_SERIAL_CONSOLE |
| 283 | default n |
| 284 | |
Jordan Crouse | f6145c3 | 2008-03-19 23:56:58 +0000 | [diff] [blame] | 285 | config SERIAL_IOBASE |
Gabe Black | 9135cb4 | 2013-09-26 16:13:08 -0700 | [diff] [blame] | 286 | ## This default is currently not used on non-x86 systems. |
| 287 | hex "Default I/O base for the serial port (default 0x3f8)" |
| 288 | depends on SERIAL_CONSOLE && ARCH_X86 |
Uwe Hermann | 2d758b8 | 2008-03-31 15:21:24 +0000 | [diff] [blame] | 289 | default 0x3f8 |
| 290 | |
Jordan Crouse | f6145c3 | 2008-03-19 23:56:58 +0000 | [diff] [blame] | 291 | config SERIAL_SET_SPEED |
| 292 | bool "Override the serial console baud rate" |
| 293 | default n |
Uwe Hermann | fad8c2b | 2008-04-11 18:01:50 +0000 | [diff] [blame] | 294 | depends on SERIAL_CONSOLE |
Jordan Crouse | f6145c3 | 2008-03-19 23:56:58 +0000 | [diff] [blame] | 295 | |
| 296 | config SERIAL_BAUD_RATE |
| 297 | int "Serial console baud rate (default 115200)" |
Uwe Hermann | fad8c2b | 2008-04-11 18:01:50 +0000 | [diff] [blame] | 298 | depends on SERIAL_SET_SPEED |
Jordan Crouse | f6145c3 | 2008-03-19 23:56:58 +0000 | [diff] [blame] | 299 | default 115200 |
| 300 | |
Ulf Jordan | 2aea11f | 2008-08-18 19:29:41 +0000 | [diff] [blame] | 301 | config SERIAL_ACS_FALLBACK |
| 302 | bool "Use plain ASCII characters for ACS" |
| 303 | default n |
| 304 | depends on SERIAL_CONSOLE |
| 305 | help |
| 306 | The alternate character set (ACS) is used for drawing lines and |
| 307 | displaying a couple of other special graphics characters. The |
| 308 | ACS characters generally look good on screen, but can be difficult |
| 309 | to cut and paste from a terminal window to a text editor. |
Stefan Reinauer | 14e2277 | 2010-04-27 06:56:47 +0000 | [diff] [blame] | 310 | |
Ulf Jordan | 2aea11f | 2008-08-18 19:29:41 +0000 | [diff] [blame] | 311 | Say 'y' here if you want to always use plain ASCII characters to |
Stefan Reinauer | 14e2277 | 2010-04-27 06:56:47 +0000 | [diff] [blame] | 312 | approximate the appearance of ACS characters on the serial port |
Ulf Jordan | 2aea11f | 2008-08-18 19:29:41 +0000 | [diff] [blame] | 313 | console. |
| 314 | |
Jordan Crouse | 30939bd | 2008-04-10 22:49:02 +0000 | [diff] [blame] | 315 | config VIDEO_CONSOLE |
| 316 | bool "See output on a video console" |
| 317 | default y |
| 318 | |
| 319 | config VGA_VIDEO_CONSOLE |
| 320 | bool "VGA video console driver" |
Stefan Reinauer | 8af0d03 | 2012-12-14 13:05:21 -0800 | [diff] [blame] | 321 | depends on ARCH_X86 && VIDEO_CONSOLE |
Julius Werner | 58caa8b | 2016-05-16 16:37:56 -0700 | [diff] [blame] | 322 | default y if !CHROMEOS |
Jordan Crouse | f6145c3 | 2008-03-19 23:56:58 +0000 | [diff] [blame] | 323 | |
Peter Stuge | 4b1971c | 2008-10-08 14:47:41 +0000 | [diff] [blame] | 324 | config GEODELX_VIDEO_CONSOLE |
| 325 | bool "Geode LX video console driver" |
Stefan Reinauer | 8af0d03 | 2012-12-14 13:05:21 -0800 | [diff] [blame] | 326 | depends on ARCH_X86 && VIDEO_CONSOLE |
Jordan Crouse | 5431553 | 2008-04-11 15:48:21 +0000 | [diff] [blame] | 327 | default n |
| 328 | |
Stefan Reinauer | b700254 | 2010-03-25 18:56:26 +0000 | [diff] [blame] | 329 | config COREBOOT_VIDEO_CONSOLE |
| 330 | bool "coreboot video console driver" |
| 331 | depends on VIDEO_CONSOLE && !GEODELX_VIDEO_CONSOLE |
Julius Werner | 58caa8b | 2016-05-16 16:37:56 -0700 | [diff] [blame] | 332 | default y if CHROMEOS |
Stefan Reinauer | b700254 | 2010-03-25 18:56:26 +0000 | [diff] [blame] | 333 | default n |
| 334 | help |
| 335 | Say Y here if coreboot switched to a graphics mode and |
| 336 | your payload wants to use it. |
| 337 | |
Nico Huber | de74842 | 2020-01-23 13:23:09 +0100 | [diff] [blame] | 338 | config COREBOOT_VIDEO_CENTERED |
| 339 | bool "Center a classic 80x25 console on bigger screens" |
| 340 | depends on COREBOOT_VIDEO_CONSOLE |
| 341 | help |
| 342 | Say 'y' here if your payload is hardcoded to a 80x25 console. Otherwise |
| 343 | its output would look squeezed into the upper-left corner of the screen. |
| 344 | |
Paul Kocialkowski | d85e485 | 2017-07-23 16:05:47 +0300 | [diff] [blame] | 345 | config FONT_SCALE_FACTOR |
| 346 | int "Scale factor for the included font" |
| 347 | depends on GEODELX_VIDEO_CONSOLE || COREBOOT_VIDEO_CONSOLE |
| 348 | default 0 |
| 349 | help |
| 350 | By default (value of 0), the scale factor is automatically |
| 351 | calculated to ensure at least 130 columns (when possible). |
| 352 | |
Julius Werner | 7f87812 | 2020-06-24 19:43:36 -0700 | [diff] [blame] | 353 | config CBGFX_FAST_RESAMPLE |
| 354 | bool "CBGFX: use faster (less pretty) image scaling" |
| 355 | default n |
| 356 | help |
| 357 | When payloads use the CBGFX library to draw .BMPs on the screen, |
| 358 | they will be resampled with an anti-aliasing filter to scale to the |
| 359 | requested output size. The default implementation should normally be |
| 360 | fast enough, but if desired this option can make it about 50-100% |
| 361 | faster at the cost of quality. (It changes the 'a' parameter in the |
| 362 | Lanczos resampling algorithm from 3 to 2.) |
| 363 | |
| 364 | Only affects .BMPs that aren't already provided at the right size. |
| 365 | |
Patrick Rudolph | e6a3821 | 2017-03-01 19:07:37 +0100 | [diff] [blame] | 366 | config PC_I8042 |
| 367 | bool "A common PC i8042 driver" |
Patrick Rudolph | 5afc293 | 2017-02-06 15:26:58 +0100 | [diff] [blame] | 368 | default y if PC_KEYBOARD || PC_MOUSE |
Patrick Rudolph | e6a3821 | 2017-03-01 19:07:37 +0100 | [diff] [blame] | 369 | default n |
| 370 | help |
| 371 | To be used by PC_KEYBOARD and PC_MOUSE. |
| 372 | |
Patrick Rudolph | 5afc293 | 2017-02-06 15:26:58 +0100 | [diff] [blame] | 373 | config PC_MOUSE |
| 374 | bool "Allow input from a PC mouse" |
Patrick Georgi | e8604b8 | 2018-05-17 17:57:14 +0200 | [diff] [blame] | 375 | default n if CHROMEOS |
Patrick Rudolph | 5afc293 | 2017-02-06 15:26:58 +0100 | [diff] [blame] | 376 | default y if ARCH_X86 # uses IO |
| 377 | default n |
| 378 | help |
| 379 | PS/2 mouse driver on top of PC_I8042. |
| 380 | |
Jordan Crouse | f6145c3 | 2008-03-19 23:56:58 +0000 | [diff] [blame] | 381 | config PC_KEYBOARD |
Uwe Hermann | 2d758b8 | 2008-03-31 15:21:24 +0000 | [diff] [blame] | 382 | bool "Allow input from a PC keyboard" |
Marc Jones | 019bacb4 | 2014-12-23 15:22:30 -0700 | [diff] [blame] | 383 | default y if ARCH_X86 # uses IO |
| 384 | default n |
Jordan Crouse | f6145c3 | 2008-03-19 23:56:58 +0000 | [diff] [blame] | 385 | |
Stefan Reinauer | d84ef1e | 2008-09-26 18:37:26 +0000 | [diff] [blame] | 386 | config PC_KEYBOARD_LAYOUT_US |
| 387 | bool "English (US) keyboard layout" |
| 388 | depends on PC_KEYBOARD |
| 389 | default y |
| 390 | |
| 391 | config PC_KEYBOARD_LAYOUT_DE |
| 392 | bool "German keyboard layout" |
| 393 | depends on PC_KEYBOARD |
| 394 | default n |
| 395 | |
Duncan Laurie | d87bbde | 2021-04-28 09:40:26 -0700 | [diff] [blame] | 396 | config PC_KEYBOARD_TRANSLATION |
| 397 | bool "Enable or Disable translation in PC keyboard set 2 on exit" |
| 398 | depends on PC_KEYBOARD |
| 399 | default y |
| 400 | |
Stefan Reinauer | 6986358 | 2008-08-08 13:45:03 +0000 | [diff] [blame] | 401 | endmenu |
| 402 | |
| 403 | menu "Drivers" |
| 404 | |
| 405 | config PCI |
| 406 | bool "Support for PCI devices" |
Jianjun Wang | 2ad74de | 2021-07-28 16:44:43 +0800 | [diff] [blame] | 407 | default y if ARCH_X86 |
| 408 | default n |
| 409 | |
| 410 | config PCI_IO_OPS |
| 411 | bool "Support for PCI devices with port IO" |
| 412 | depends on PCI && IO_ADDRESS_SPACE |
| 413 | default y if ARCH_X86 |
| 414 | default n |
Stefan Reinauer | 6986358 | 2008-08-08 13:45:03 +0000 | [diff] [blame] | 415 | |
Jianjun Wang | 20a87c0 | 2021-07-28 16:53:43 +0800 | [diff] [blame] | 416 | config PCIE_MEDIATEK |
| 417 | bool "Support for PCIe devices on MediaTek platforms" |
| 418 | depends on PCI && !PCI_IO_OPS |
| 419 | default n |
| 420 | |
Prasad Malisetty | 857d378 | 2021-08-28 06:53:37 +0530 | [diff] [blame] | 421 | config PCIE_QCOM |
| 422 | bool "Support for PCIe devices on Qualcomm platforms" |
| 423 | depends on PCI && !PCI_IO_OPS |
| 424 | default n |
| 425 | |
Uwe Hermann | c16d24e | 2008-03-31 15:17:39 +0000 | [diff] [blame] | 426 | config NVRAM |
Uwe Hermann | 2d758b8 | 2008-03-31 15:21:24 +0000 | [diff] [blame] | 427 | bool "Support for reading/writing NVRAM bytes" |
Stefan Reinauer | 8af0d03 | 2012-12-14 13:05:21 -0800 | [diff] [blame] | 428 | depends on ARCH_X86 # for now |
Uwe Hermann | 2d758b8 | 2008-03-31 15:21:24 +0000 | [diff] [blame] | 429 | default y |
Uwe Hermann | 8cc38d2 | 2008-03-27 23:26:40 +0000 | [diff] [blame] | 430 | |
Patrick Rudolph | 837da6a | 2017-02-06 15:02:25 +0100 | [diff] [blame] | 431 | config MOUSE_CURSOR |
| 432 | bool "Support for mouse cursor handling" |
Patrick Rudolph | 5afc293 | 2017-02-06 15:26:58 +0100 | [diff] [blame] | 433 | default y if PC_MOUSE |
Patrick Rudolph | 837da6a | 2017-02-06 15:02:25 +0100 | [diff] [blame] | 434 | default n |
| 435 | help |
| 436 | Provides a common interface for various mouse cursor drivers. |
| 437 | * Supports up to 32 buttons. |
| 438 | * Supports 3 axis mice. |
| 439 | * Applies simple cursor acceleration. |
| 440 | * Allows to set cursor acceleration and cursor speed. |
| 441 | |
Uwe Hermann | 30d789b | 2008-03-31 20:21:49 +0000 | [diff] [blame] | 442 | config RTC_PORT_EXTENDED_VIA |
| 443 | bool "Extended RTC ports are 0x74/0x75" |
| 444 | default n |
| 445 | help |
| 446 | For recent chipsets with 256 NVRAM bytes, you have to access the |
| 447 | upper 128 bytes (128-255) using two different I/O ports, |
| 448 | usually 0x72/0x73. |
Stefan Reinauer | 14e2277 | 2010-04-27 06:56:47 +0000 | [diff] [blame] | 449 | |
Uwe Hermann | 30d789b | 2008-03-31 20:21:49 +0000 | [diff] [blame] | 450 | On some chipsets this can be a different set of ports, though. |
| 451 | The VIA VT8237R for example only recognizes the ports 0x74/0x75 |
| 452 | for accessing the high 128 NVRAM bytes (as seems to be the case for |
| 453 | multiple VIA chipsets). |
Stefan Reinauer | 14e2277 | 2010-04-27 06:56:47 +0000 | [diff] [blame] | 454 | |
Uwe Hermann | 30d789b | 2008-03-31 20:21:49 +0000 | [diff] [blame] | 455 | If you want to read or write CMOS bytes on computers with one of |
| 456 | these chipsets, say 'y' here. |
| 457 | |
Stefan Reinauer | 6986358 | 2008-08-08 13:45:03 +0000 | [diff] [blame] | 458 | config SPEAKER |
| 459 | bool "Support for PC speaker" |
Stefan Reinauer | 8af0d03 | 2012-12-14 13:05:21 -0800 | [diff] [blame] | 460 | depends on ARCH_X86 |
Julius Werner | 58caa8b | 2016-05-16 16:37:56 -0700 | [diff] [blame] | 461 | default y if !CHROMEOS |
Jordan Crouse | f6145c3 | 2008-03-19 23:56:58 +0000 | [diff] [blame] | 462 | |
Antonello Dettori | aded214 | 2016-07-27 12:41:04 +0200 | [diff] [blame] | 463 | source "drivers/timer/Kconfig" |
| 464 | source "drivers/storage/Kconfig" |
| 465 | source "drivers/usb/Kconfig" |
huang lin | 41e2499 | 2015-05-20 17:27:10 +0800 | [diff] [blame] | 466 | |
Stefan Reinauer | e5d30b7 | 2010-03-25 22:15:19 +0000 | [diff] [blame] | 467 | endmenu |
| 468 | |
| 469 | menu "Debugging" |
| 470 | depends on DEVELOPER |
| 471 | |
| 472 | config DEBUG_MALLOC |
| 473 | bool "Debug memory allocator" |
Stefan Reinauer | e5d30b7 | 2010-03-25 22:15:19 +0000 | [diff] [blame] | 474 | default n |
| 475 | help |
| 476 | Select this option if you want to debug the memory allocator. This |
| 477 | option logs all uses of the following functions: |
| 478 | |
| 479 | void free(void *ptr); |
| 480 | void *malloc(size_t size); |
| 481 | void *calloc(size_t nmemb, size_t size); |
| 482 | void *realloc(void *ptr, size_t size); |
| 483 | void *memalign(size_t align, size_t size); |
| 484 | |
| 485 | Say N here unless you are debugging memory allocator problems. |
Patrick Georgi | d21f68b | 2008-09-02 16:06:22 +0000 | [diff] [blame] | 486 | |
Jordan Crouse | f6145c3 | 2008-03-19 23:56:58 +0000 | [diff] [blame] | 487 | endmenu |
Stefan Reinauer | 6986358 | 2008-08-08 13:45:03 +0000 | [diff] [blame] | 488 | |
Gabe Black | 0af03d2 | 2012-03-19 03:06:46 -0700 | [diff] [blame] | 489 | config BIG_ENDIAN |
| 490 | default n |
| 491 | bool |
| 492 | |
| 493 | config LITTLE_ENDIAN |
| 494 | default n |
| 495 | bool |
| 496 | |
Gabe Black | d267987 | 2013-01-18 15:49:00 -0800 | [diff] [blame] | 497 | config IO_ADDRESS_SPACE |
| 498 | default n |
| 499 | bool |
Stefan Reinauer | 347a752 | 2016-03-12 11:48:44 -0800 | [diff] [blame] | 500 | help |
| 501 | This option is turned on if the target system has a separate |
| 502 | IO address space. This is typically only the case on x86. |
Gabe Black | d267987 | 2013-01-18 15:49:00 -0800 | [diff] [blame] | 503 | |
Stefan Reinauer | dee4420 | 2015-06-11 14:33:11 -0700 | [diff] [blame] | 504 | source "arch/arm/Kconfig" |
| 505 | source "arch/arm64/Kconfig" |
Stefan Reinauer | dee4420 | 2015-06-11 14:33:11 -0700 | [diff] [blame] | 506 | source "arch/x86/Kconfig" |
Jakub Czapiga | 3d91b47 | 2021-09-15 14:52:45 +0200 | [diff] [blame] | 507 | source "arch/mock/Kconfig" |