2008-03-21 19:37:23 +01:00
|
|
|
##
|
|
|
|
##
|
|
|
|
## Copyright (C) 2008 Advanced Micro Devices, Inc.
|
2008-08-08 15:45:03 +02:00
|
|
|
## Copyright (C) 2008 coresystems GmbH
|
2008-03-21 19:37:23 +01:00
|
|
|
##
|
|
|
|
## Redistribution and use in source and binary forms, with or without
|
|
|
|
## modification, are permitted provided that the following conditions
|
|
|
|
## are met:
|
|
|
|
## 1. Redistributions of source code must retain the above copyright
|
|
|
|
## notice, this list of conditions and the following disclaimer.
|
|
|
|
## 2. Redistributions in binary form must reproduce the above copyright
|
|
|
|
## notice, this list of conditions and the following disclaimer in the
|
|
|
|
## documentation and/or other materials provided with the distribution.
|
|
|
|
## 3. The name of the author may not be used to endorse or promote products
|
|
|
|
## derived from this software without specific prior written permission.
|
|
|
|
##
|
|
|
|
## THIS SOFTWARE IS PROVIDED BY THE AUTHOR AND CONTRIBUTORS ``AS IS'' AND
|
|
|
|
## ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
|
|
|
|
## IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
|
|
|
|
## ARE DISCLAIMED. IN NO EVENT SHALL THE AUTHOR OR CONTRIBUTORS BE LIABLE
|
|
|
|
## FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
|
|
|
|
## DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS
|
|
|
|
## OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
|
|
|
|
## HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
|
|
|
|
## LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
|
|
|
|
## OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
|
|
|
|
## SUCH DAMAGE.
|
|
|
|
##
|
2008-03-20 00:56:58 +01:00
|
|
|
|
|
|
|
mainmenu "Libpayload Configuration"
|
|
|
|
|
2010-03-25 23:15:19 +01:00
|
|
|
menu "Generic Options"
|
|
|
|
|
2014-06-11 23:16:35 +02:00
|
|
|
config GPL
|
|
|
|
bool "GPLv2-licensed Options"
|
2016-05-17 01:37:56 +02:00
|
|
|
default y if CHROMEOS
|
2014-06-11 23:16:35 +02:00
|
|
|
default n
|
|
|
|
help
|
|
|
|
Prompt for options that will build code licensed under the GNU General
|
|
|
|
Public License (version 2). This will subject the whole payload to the
|
|
|
|
terms of this license (including its provision to release all sources,
|
|
|
|
please see the LICENSE_GPL file for details).
|
|
|
|
|
2010-03-25 23:15:19 +01:00
|
|
|
config EXPERIMENTAL
|
|
|
|
bool "Experimental Options"
|
|
|
|
default n
|
|
|
|
help
|
|
|
|
Prompt for experimental functionality. Attention: This is not likely
|
|
|
|
to work without problems
|
|
|
|
|
|
|
|
config DEVELOPER
|
|
|
|
bool "Developer Options"
|
|
|
|
default n
|
|
|
|
help
|
|
|
|
Prompt for developer options. These options are only interesting for
|
|
|
|
libpayload developers.
|
|
|
|
|
2016-05-17 01:37:56 +02:00
|
|
|
config CHROMEOS
|
2022-06-28 18:36:23 +02:00
|
|
|
bool "ChromeOS Options"
|
2016-05-17 01:37:56 +02:00
|
|
|
default n
|
|
|
|
help
|
2022-06-28 18:36:23 +02:00
|
|
|
Select configuration defaults appropriate for ChromeOS boards.
|
2016-05-17 01:37:56 +02:00
|
|
|
|
2015-07-06 11:04:42 +02:00
|
|
|
choice
|
|
|
|
prompt "Compiler to use"
|
|
|
|
default COMPILER_GCC
|
|
|
|
help
|
|
|
|
This option allows you to select the compiler.
|
|
|
|
|
|
|
|
config COMPILER_GCC
|
|
|
|
bool "GCC"
|
|
|
|
help
|
|
|
|
Use the GNU Compiler Collection (GCC).
|
|
|
|
|
|
|
|
config COMPILER_LLVM_CLANG
|
|
|
|
bool "LLVM/clang"
|
|
|
|
help
|
|
|
|
Use LLVM/clang.
|
|
|
|
|
|
|
|
endchoice
|
|
|
|
|
2019-10-03 02:55:07 +02:00
|
|
|
config LTO
|
|
|
|
bool "Use link time optimization (LTO)"
|
|
|
|
default n
|
|
|
|
depends on COMPILER_GCC
|
|
|
|
help
|
|
|
|
Compile with link time optimization. This can often decrease the
|
|
|
|
final binary size, but may increase compilation time.
|
|
|
|
|
libpayload: Add remote GDB support
This patch adds the ability to attach a GDB host through the UART to a
running payload. Libpayload implements a small stub that can parse and
respond to the GDB remote protocol and provide the required primitives
(reading/writing registers/memory, etc.) to allow GDB to control
execution.
The goal of this implementation is to be as small and uninvasive as
possible. It implements only the minimum amount of primitives required,
and relies on GDB's impressive workaround capabilities (such as
emulating breakpoints by temporarily replacing instructions) for the
more complicated features. This way, a relatively tiny amount of code on
the firmware side opens a vast range of capabilities to the user, not
just in debugging but also in remote-controlling the firmware to change
its behavior (e.g. through GDBs ability to modify variables and call
functions).
By default, a system with the REMOTEGDB Kconfig will only trap into GDB
when executing halt() (including the calls from die_if(), assert(), and
exception handlers). In addition, payloads can manually call gdb_enter()
if desired. It will print a final "Ready for GDB connection." on the
serial, detach the normal serial output driver and wait for the commands
that GDB starts sending on attach.
Based on original implementation by Gabe Black <gabeblack@chromium.org>.
BUG=chrome-os-partner:18390
TEST=Boot a GDB enabled image in recovery mode (or get it to hit a
halt()), close your terminal, execute '<toolchain>-gdb --symbols
/build/<board>/firmware/depthcharge_gdb/depthcharge.elf --directory
~/trunk/src/third_party/coreboot/payloads/libpayload --directory
~/trunk/src/platform/depthcharge --directory
~/trunk/src/platform/vboot_reference --ex "target remote
<cpu_uart_pty>"' and behold the magic.
(You can also SIGSTOP your terminal's parent shell and the terminal
itself, and SIGCONT them in reverse order after GDB exits. More
convenient wrapper tools to do all this automatically coming soon.)
Original-Change-Id: Ib440d1804126cdfdac4a8801f5015b4487e25269
Original-Signed-off-by: Julius Werner <jwerner@chromium.org>
Original-Reviewed-on: https://chromium-review.googlesource.com/202563
Original-Reviewed-by: Stefan Reinauer <reinauer@chromium.org>
(cherry picked from commit 9c4a642c7be2faf122fef39bdfaddd64aec68b77)
Signed-off-by: Marc Jones <marc.jones@se-eng.com>
Change-Id: I9238b4eb19d3ab2c98e4e1c5946cd7d252ca3c3b
Reviewed-on: http://review.coreboot.org/8119
Tested-by: build bot (Jenkins)
Reviewed-by: Stefan Reinauer <stefan.reinauer@coreboot.org>
2014-05-15 20:57:38 +02:00
|
|
|
config REMOTEGDB
|
|
|
|
bool "Remote GDB stub"
|
|
|
|
default n
|
|
|
|
depends on GPL
|
|
|
|
help
|
|
|
|
Enable Remote GDB debugging support.
|
|
|
|
|
2016-03-12 21:14:46 +01:00
|
|
|
config MEMMAP_RAM_ONLY
|
|
|
|
bool "Only consider RAM entries in memory map for further processing"
|
|
|
|
default n
|
|
|
|
|
2010-03-25 23:15:19 +01:00
|
|
|
endmenu
|
|
|
|
|
2009-05-21 12:02:52 +02:00
|
|
|
menu "Architecture Options"
|
|
|
|
|
|
|
|
choice
|
|
|
|
prompt "Target Architecture"
|
2012-11-30 22:56:31 +01:00
|
|
|
default ARCH_X86
|
2009-05-21 12:02:52 +02:00
|
|
|
|
ARM: Generalize armv7 as arm.
There are ARM systems which are essentially heterogeneous multicores where
some cores implement a different ARM architecture version than other cores. A
specific example is the tegra124 which boots on an ARMv4 coprocessor while
most code, including most of the firmware, runs on the main ARMv7 core. To
support SOCs like this, the plan is to generalize the ARM architecture so that
all versions are available, and an SOC/CPU can then select what architecture
variant should be used for each component of the firmware; bootblock,
romstage, and ramstage.
Old-Change-Id: I22e048c3bc72bd56371e14200942e436c1e312c2
Signed-off-by: Gabe Black <gabeblack@google.com>
Reviewed-on: https://chromium-review.googlesource.com/171338
Reviewed-by: Gabe Black <gabeblack@chromium.org>
Commit-Queue: Gabe Black <gabeblack@chromium.org>
Tested-by: Gabe Black <gabeblack@chromium.org>
(cherry picked from commit 8423a41529da0ff67fb9873be1e2beb30b09ae2d)
Signed-off-by: Isaac Christensen <isaac.christensen@se-eng.com>
ARM: Split out ARMv7 code and make it possible to have other arch versions.
We don't always want to use ARMv7 code when building for ARM, so we should
separate out the ARMv7 code so it can be excluded, and also make it possible
to include code for some other version of the architecture instead, all per
build component for cases where we need more than one architecture version
at a time.
The tegra124 bootblock will ultimately need to be ARMv4, but until we have
some ARMv4 code to switch over to we can leave it set to ARMv7.
Old-Change-Id: Ia982c91057fac9c252397b7c866224f103761cc7
Reviewed-on: https://chromium-review.googlesource.com/171400
Reviewed-by: Gabe Black <gabeblack@chromium.org>
Tested-by: Gabe Black <gabeblack@chromium.org>
Commit-Queue: Gabe Black <gabeblack@chromium.org>
(cherry picked from commit 799514e6060aa97acdcf081b5c48f965be134483)
Squashed two related patches for splitting ARM support into general
ARM support and ARMv7 specific pieces.
Change-Id: Ic6511507953a2223c87c55f90252c4a4e1dd6010
Signed-off-by: Isaac Christensen <isaac.christensen@se-eng.com>
Reviewed-on: http://review.coreboot.org/6782
Tested-by: build bot (Jenkins)
2013-10-01 08:00:33 +02:00
|
|
|
config ARCH_ARM
|
|
|
|
bool "ARM"
|
2009-05-21 12:02:52 +02:00
|
|
|
help
|
ARM: Generalize armv7 as arm.
There are ARM systems which are essentially heterogeneous multicores where
some cores implement a different ARM architecture version than other cores. A
specific example is the tegra124 which boots on an ARMv4 coprocessor while
most code, including most of the firmware, runs on the main ARMv7 core. To
support SOCs like this, the plan is to generalize the ARM architecture so that
all versions are available, and an SOC/CPU can then select what architecture
variant should be used for each component of the firmware; bootblock,
romstage, and ramstage.
Old-Change-Id: I22e048c3bc72bd56371e14200942e436c1e312c2
Signed-off-by: Gabe Black <gabeblack@google.com>
Reviewed-on: https://chromium-review.googlesource.com/171338
Reviewed-by: Gabe Black <gabeblack@chromium.org>
Commit-Queue: Gabe Black <gabeblack@chromium.org>
Tested-by: Gabe Black <gabeblack@chromium.org>
(cherry picked from commit 8423a41529da0ff67fb9873be1e2beb30b09ae2d)
Signed-off-by: Isaac Christensen <isaac.christensen@se-eng.com>
ARM: Split out ARMv7 code and make it possible to have other arch versions.
We don't always want to use ARMv7 code when building for ARM, so we should
separate out the ARMv7 code so it can be excluded, and also make it possible
to include code for some other version of the architecture instead, all per
build component for cases where we need more than one architecture version
at a time.
The tegra124 bootblock will ultimately need to be ARMv4, but until we have
some ARMv4 code to switch over to we can leave it set to ARMv7.
Old-Change-Id: Ia982c91057fac9c252397b7c866224f103761cc7
Reviewed-on: https://chromium-review.googlesource.com/171400
Reviewed-by: Gabe Black <gabeblack@chromium.org>
Tested-by: Gabe Black <gabeblack@chromium.org>
Commit-Queue: Gabe Black <gabeblack@chromium.org>
(cherry picked from commit 799514e6060aa97acdcf081b5c48f965be134483)
Squashed two related patches for splitting ARM support into general
ARM support and ARMv7 specific pieces.
Change-Id: Ic6511507953a2223c87c55f90252c4a4e1dd6010
Signed-off-by: Isaac Christensen <isaac.christensen@se-eng.com>
Reviewed-on: http://review.coreboot.org/6782
Tested-by: build bot (Jenkins)
2013-10-01 08:00:33 +02:00
|
|
|
Support the ARM architecture
|
2008-03-20 00:56:58 +01:00
|
|
|
|
2012-12-14 22:05:21 +01:00
|
|
|
config ARCH_X86
|
|
|
|
bool "x86"
|
|
|
|
help
|
|
|
|
Support the x86 architecture
|
|
|
|
|
2014-02-19 20:35:30 +01:00
|
|
|
config ARCH_ARM64
|
|
|
|
bool "ARM64"
|
|
|
|
help
|
|
|
|
Support the ARM64 architecture
|
|
|
|
|
2021-09-15 14:52:45 +02:00
|
|
|
config ARCH_MOCK
|
|
|
|
bool "Mock architecture (for unit tests)"
|
|
|
|
help
|
|
|
|
This enables the mock architecture (for unit tests) that is intended
|
|
|
|
to be used for testing purposes, to either test payloads or libpayload itself.
|
|
|
|
It provides necessary headers, but requires mocking (providing implementation
|
|
|
|
for) arch-specific functions.
|
|
|
|
|
2009-05-21 12:02:52 +02:00
|
|
|
endchoice
|
2008-10-20 18:51:43 +02:00
|
|
|
|
|
|
|
config MULTIBOOT
|
|
|
|
bool "Multiboot header support"
|
2012-11-30 22:56:31 +01:00
|
|
|
depends on ARCH_X86
|
2016-05-17 01:37:56 +02:00
|
|
|
default y if !CHROMEOS
|
2008-10-20 18:51:43 +02:00
|
|
|
|
2016-03-13 01:18:17 +01:00
|
|
|
config HEAP_SIZE
|
|
|
|
int "Heap size"
|
|
|
|
default 131072
|
|
|
|
help
|
|
|
|
This is the heap size (malloc'able size) available
|
|
|
|
to the payload.
|
|
|
|
|
|
|
|
If unsure, set to 131072 (128K)
|
|
|
|
|
|
|
|
config STACK_SIZE
|
|
|
|
int "Stack size"
|
|
|
|
default 16384
|
|
|
|
help
|
|
|
|
This is the stack size available to the payload.
|
|
|
|
|
|
|
|
If unsure, set to 16384 (16K)
|
|
|
|
|
|
|
|
config BASE_ADDRESS
|
|
|
|
hex "Base address"
|
|
|
|
default 0x04000000 if ARCH_ARM
|
|
|
|
default 0x80100000 if ARCH_ARM64
|
|
|
|
default 0x00100000 if ARCH_X86
|
2021-09-15 14:52:45 +02:00
|
|
|
default 0x00000000 if ARCH_MOCK
|
2016-03-13 01:18:17 +01:00
|
|
|
help
|
|
|
|
This is the base address for the payload.
|
|
|
|
|
2019-08-17 00:35:39 +02:00
|
|
|
If unsure, set to 0x00100000 on x86,
|
2016-03-13 01:18:17 +01:00
|
|
|
0x04000000 on ARM or 0x80100000 on ARM64.
|
|
|
|
|
2008-10-20 18:51:43 +02:00
|
|
|
endmenu
|
|
|
|
|
2017-06-20 23:33:28 +02:00
|
|
|
config USE_MARCH_586
|
|
|
|
bool "Use march=586 qualifier to build"
|
|
|
|
default n
|
|
|
|
depends on ARCH_X86
|
|
|
|
help
|
|
|
|
Allow a platform or processor to select to be compiled using
|
|
|
|
the '-march=i586' option instead of the typical '-march=i686'
|
|
|
|
|
2008-08-08 15:45:03 +02:00
|
|
|
menu "Standard Libraries"
|
|
|
|
|
|
|
|
config LIBC
|
|
|
|
bool "Enable C library support"
|
|
|
|
default y
|
|
|
|
|
2011-07-07 15:41:53 +02:00
|
|
|
config CURSES
|
|
|
|
bool "Build a curses library"
|
2016-05-17 01:37:56 +02:00
|
|
|
default y if !CHROMEOS
|
2011-07-07 15:41:53 +02:00
|
|
|
|
|
|
|
choice
|
|
|
|
prompt "Curses implementation"
|
|
|
|
default PDCURSES
|
|
|
|
depends on CURSES
|
|
|
|
|
2008-08-08 15:45:03 +02:00
|
|
|
config TINYCURSES
|
2015-09-26 12:30:08 +02:00
|
|
|
bool "TinyCurses"
|
2011-07-07 15:41:53 +02:00
|
|
|
help
|
2015-09-26 12:30:08 +02:00
|
|
|
TinyCurses was the first curses implementation for libpayload.
|
2011-07-07 15:41:53 +02:00
|
|
|
It features low memory consumption, static allocation of larger
|
|
|
|
data structures (so few or no memory allocation calls) and a
|
|
|
|
reduced feature set.
|
|
|
|
|
|
|
|
config PDCURSES
|
|
|
|
bool "PDCurses"
|
|
|
|
help
|
|
|
|
libpayload's PDCurses port provides a full features curses
|
|
|
|
implementation, including libpanel, libmenu and libform (which
|
|
|
|
are taken from ncurses).
|
|
|
|
It requires more system resources, in particularily heap memory.
|
|
|
|
|
|
|
|
endchoice
|
2008-08-08 15:45:03 +02:00
|
|
|
|
2021-11-15 09:36:07 +01:00
|
|
|
source "libcbfs/Kconfig"
|
2011-07-21 15:43:14 +02:00
|
|
|
|
|
|
|
config LZMA
|
|
|
|
bool "LZMA decoder"
|
|
|
|
default y
|
|
|
|
help
|
|
|
|
LZMA decoder implementation, usable eg. by CBFS,
|
|
|
|
but also externally.
|
2015-06-30 19:30:30 +02:00
|
|
|
|
|
|
|
config LZ4
|
|
|
|
bool "LZ4 decoder"
|
|
|
|
default y
|
|
|
|
help
|
|
|
|
Decoder implementation for the LZ4 compression algorithm.
|
|
|
|
Adds standalone functions (CBFS support coming soon).
|
2021-12-06 10:01:50 +01:00
|
|
|
|
|
|
|
source "vboot/Kconfig"
|
|
|
|
|
2008-08-08 15:45:03 +02:00
|
|
|
endmenu
|
|
|
|
|
|
|
|
menu "Console Options"
|
2008-03-31 17:21:24 +02:00
|
|
|
|
2012-10-05 20:43:39 +02:00
|
|
|
config SKIP_CONSOLE_INIT
|
|
|
|
bool "Skip initializing the consoles at startup"
|
2016-05-17 01:37:56 +02:00
|
|
|
default y if CHROMEOS
|
2012-10-05 20:43:39 +02:00
|
|
|
default n
|
|
|
|
help
|
|
|
|
Normally, libpayload will initialize console input/output on startup
|
|
|
|
before the payload itself gets control. This option disables that
|
|
|
|
behavior and leaves console initialization up to the payload.
|
|
|
|
|
2012-09-29 09:21:27 +02:00
|
|
|
config CBMEM_CONSOLE
|
|
|
|
bool "Send output to the in memory CBMEM console"
|
|
|
|
default y
|
|
|
|
|
2008-03-20 00:56:58 +01:00
|
|
|
config SERIAL_CONSOLE
|
2008-03-31 17:21:24 +02:00
|
|
|
bool "See output on the serial port console"
|
|
|
|
default y
|
2008-03-20 00:56:58 +01:00
|
|
|
|
2013-09-27 01:13:08 +02:00
|
|
|
config 8250_SERIAL_CONSOLE
|
2015-11-24 01:18:12 +01:00
|
|
|
bool "8250-compatible serial port driver (including IO and MMIO)"
|
2013-09-27 01:13:08 +02:00
|
|
|
depends on SERIAL_CONSOLE
|
2016-05-17 01:37:56 +02:00
|
|
|
default y if ARCH_X86
|
2013-02-15 17:13:29 +01:00
|
|
|
|
2014-04-10 10:07:28 +02:00
|
|
|
config S5P_SERIAL_CONSOLE
|
|
|
|
bool "Exynos SOC, S5P compatible serial port driver"
|
|
|
|
depends on SERIAL_CONSOLE
|
|
|
|
default n
|
|
|
|
|
2014-05-28 03:28:59 +02:00
|
|
|
config IPQ806X_SERIAL_CONSOLE
|
|
|
|
bool "IPQ806x SOC compatible serial port driver"
|
|
|
|
depends on SERIAL_CONSOLE
|
2014-10-09 18:56:43 +02:00
|
|
|
default n
|
|
|
|
|
2016-02-01 07:02:12 +01:00
|
|
|
config IPQ40XX_SERIAL_CONSOLE
|
|
|
|
bool "IPQ40xx SOC compatible serial port driver"
|
|
|
|
depends on SERIAL_CONSOLE
|
|
|
|
default n
|
|
|
|
|
2019-03-22 08:08:20 +01:00
|
|
|
config QCS405_SERIAL_CONSOLE
|
|
|
|
bool "QCS405 SOC compatible serial port driver"
|
|
|
|
depends on SERIAL_CONSOLE
|
|
|
|
default n
|
|
|
|
|
2019-10-10 21:26:15 +02:00
|
|
|
config QUALCOMM_QUPV3_SERIAL_CONSOLE
|
|
|
|
bool "Qualcomm QUPV3 serial port driver"
|
|
|
|
depends on SERIAL_CONSOLE
|
|
|
|
default n
|
|
|
|
|
2014-02-18 23:17:38 +01:00
|
|
|
config PL011_SERIAL_CONSOLE
|
|
|
|
bool "PL011 compatible serial port driver"
|
|
|
|
depends on 8250_SERIAL_CONSOLE
|
|
|
|
default n
|
|
|
|
|
2008-03-20 00:56:58 +01:00
|
|
|
config SERIAL_IOBASE
|
2013-09-27 01:13:08 +02:00
|
|
|
## This default is currently not used on non-x86 systems.
|
|
|
|
hex "Default I/O base for the serial port (default 0x3f8)"
|
|
|
|
depends on SERIAL_CONSOLE && ARCH_X86
|
2008-03-31 17:21:24 +02:00
|
|
|
default 0x3f8
|
|
|
|
|
2008-03-20 00:56:58 +01:00
|
|
|
config SERIAL_SET_SPEED
|
|
|
|
bool "Override the serial console baud rate"
|
|
|
|
default n
|
2008-04-11 20:01:50 +02:00
|
|
|
depends on SERIAL_CONSOLE
|
2008-03-20 00:56:58 +01:00
|
|
|
|
|
|
|
config SERIAL_BAUD_RATE
|
|
|
|
int "Serial console baud rate (default 115200)"
|
2008-04-11 20:01:50 +02:00
|
|
|
depends on SERIAL_SET_SPEED
|
2008-03-20 00:56:58 +01:00
|
|
|
default 115200
|
|
|
|
|
2008-08-18 21:29:41 +02:00
|
|
|
config SERIAL_ACS_FALLBACK
|
|
|
|
bool "Use plain ASCII characters for ACS"
|
|
|
|
default n
|
|
|
|
depends on SERIAL_CONSOLE
|
|
|
|
help
|
|
|
|
The alternate character set (ACS) is used for drawing lines and
|
|
|
|
displaying a couple of other special graphics characters. The
|
|
|
|
ACS characters generally look good on screen, but can be difficult
|
|
|
|
to cut and paste from a terminal window to a text editor.
|
2010-04-27 08:56:47 +02:00
|
|
|
|
2008-08-18 21:29:41 +02:00
|
|
|
Say 'y' here if you want to always use plain ASCII characters to
|
2010-04-27 08:56:47 +02:00
|
|
|
approximate the appearance of ACS characters on the serial port
|
2008-08-18 21:29:41 +02:00
|
|
|
console.
|
|
|
|
|
2008-04-11 00:49:02 +02:00
|
|
|
config VIDEO_CONSOLE
|
|
|
|
bool "See output on a video console"
|
|
|
|
default y
|
|
|
|
|
|
|
|
config VGA_VIDEO_CONSOLE
|
|
|
|
bool "VGA video console driver"
|
2012-12-14 22:05:21 +01:00
|
|
|
depends on ARCH_X86 && VIDEO_CONSOLE
|
2016-05-17 01:37:56 +02:00
|
|
|
default y if !CHROMEOS
|
2008-03-20 00:56:58 +01:00
|
|
|
|
2008-10-08 16:47:41 +02:00
|
|
|
config GEODELX_VIDEO_CONSOLE
|
|
|
|
bool "Geode LX video console driver"
|
2012-12-14 22:05:21 +01:00
|
|
|
depends on ARCH_X86 && VIDEO_CONSOLE
|
2008-04-11 17:48:21 +02:00
|
|
|
default n
|
|
|
|
|
2010-03-25 19:56:26 +01:00
|
|
|
config COREBOOT_VIDEO_CONSOLE
|
|
|
|
bool "coreboot video console driver"
|
|
|
|
depends on VIDEO_CONSOLE && !GEODELX_VIDEO_CONSOLE
|
2016-05-17 01:37:56 +02:00
|
|
|
default y if CHROMEOS
|
2010-03-25 19:56:26 +01:00
|
|
|
default n
|
|
|
|
help
|
|
|
|
Say Y here if coreboot switched to a graphics mode and
|
|
|
|
your payload wants to use it.
|
|
|
|
|
2020-01-23 13:23:09 +01:00
|
|
|
config COREBOOT_VIDEO_CENTERED
|
|
|
|
bool "Center a classic 80x25 console on bigger screens"
|
|
|
|
depends on COREBOOT_VIDEO_CONSOLE
|
|
|
|
help
|
|
|
|
Say 'y' here if your payload is hardcoded to a 80x25 console. Otherwise
|
|
|
|
its output would look squeezed into the upper-left corner of the screen.
|
|
|
|
|
2017-07-23 15:05:47 +02:00
|
|
|
config FONT_SCALE_FACTOR
|
|
|
|
int "Scale factor for the included font"
|
|
|
|
depends on GEODELX_VIDEO_CONSOLE || COREBOOT_VIDEO_CONSOLE
|
|
|
|
default 0
|
|
|
|
help
|
|
|
|
By default (value of 0), the scale factor is automatically
|
|
|
|
calculated to ensure at least 130 columns (when possible).
|
|
|
|
|
2020-06-25 04:43:36 +02:00
|
|
|
config CBGFX_FAST_RESAMPLE
|
|
|
|
bool "CBGFX: use faster (less pretty) image scaling"
|
|
|
|
default n
|
|
|
|
help
|
|
|
|
When payloads use the CBGFX library to draw .BMPs on the screen,
|
|
|
|
they will be resampled with an anti-aliasing filter to scale to the
|
|
|
|
requested output size. The default implementation should normally be
|
|
|
|
fast enough, but if desired this option can make it about 50-100%
|
|
|
|
faster at the cost of quality. (It changes the 'a' parameter in the
|
|
|
|
Lanczos resampling algorithm from 3 to 2.)
|
|
|
|
|
|
|
|
Only affects .BMPs that aren't already provided at the right size.
|
|
|
|
|
2017-03-01 19:07:37 +01:00
|
|
|
config PC_I8042
|
|
|
|
bool "A common PC i8042 driver"
|
2017-02-06 15:26:58 +01:00
|
|
|
default y if PC_KEYBOARD || PC_MOUSE
|
2017-03-01 19:07:37 +01:00
|
|
|
default n
|
|
|
|
help
|
|
|
|
To be used by PC_KEYBOARD and PC_MOUSE.
|
|
|
|
|
2017-02-06 15:26:58 +01:00
|
|
|
config PC_MOUSE
|
|
|
|
bool "Allow input from a PC mouse"
|
2018-05-17 17:57:14 +02:00
|
|
|
default n if CHROMEOS
|
2017-02-06 15:26:58 +01:00
|
|
|
default y if ARCH_X86 # uses IO
|
|
|
|
default n
|
|
|
|
help
|
|
|
|
PS/2 mouse driver on top of PC_I8042.
|
|
|
|
|
2008-03-20 00:56:58 +01:00
|
|
|
config PC_KEYBOARD
|
2008-03-31 17:21:24 +02:00
|
|
|
bool "Allow input from a PC keyboard"
|
2014-12-23 23:22:30 +01:00
|
|
|
default y if ARCH_X86 # uses IO
|
|
|
|
default n
|
2008-03-20 00:56:58 +01:00
|
|
|
|
2008-09-26 20:37:26 +02:00
|
|
|
config PC_KEYBOARD_LAYOUT_US
|
|
|
|
bool "English (US) keyboard layout"
|
|
|
|
depends on PC_KEYBOARD
|
|
|
|
default y
|
|
|
|
|
|
|
|
config PC_KEYBOARD_LAYOUT_DE
|
|
|
|
bool "German keyboard layout"
|
|
|
|
depends on PC_KEYBOARD
|
|
|
|
default n
|
|
|
|
|
2021-04-28 18:40:26 +02:00
|
|
|
config PC_KEYBOARD_TRANSLATION
|
|
|
|
bool "Enable or Disable translation in PC keyboard set 2 on exit"
|
|
|
|
depends on PC_KEYBOARD
|
|
|
|
default y
|
|
|
|
|
2008-08-08 15:45:03 +02:00
|
|
|
endmenu
|
|
|
|
|
|
|
|
menu "Drivers"
|
|
|
|
|
|
|
|
config PCI
|
|
|
|
bool "Support for PCI devices"
|
2021-07-28 10:44:43 +02:00
|
|
|
default y if ARCH_X86
|
|
|
|
default n
|
|
|
|
|
|
|
|
config PCI_IO_OPS
|
|
|
|
bool "Support for PCI devices with port IO"
|
|
|
|
depends on PCI && IO_ADDRESS_SPACE
|
|
|
|
default y if ARCH_X86
|
|
|
|
default n
|
2008-08-08 15:45:03 +02:00
|
|
|
|
2021-07-28 10:53:43 +02:00
|
|
|
config PCIE_MEDIATEK
|
|
|
|
bool "Support for PCIe devices on MediaTek platforms"
|
|
|
|
depends on PCI && !PCI_IO_OPS
|
|
|
|
default n
|
|
|
|
|
2021-08-28 03:23:37 +02:00
|
|
|
config PCIE_QCOM
|
|
|
|
bool "Support for PCIe devices on Qualcomm platforms"
|
|
|
|
depends on PCI && !PCI_IO_OPS
|
|
|
|
default n
|
|
|
|
|
2008-03-31 17:17:39 +02:00
|
|
|
config NVRAM
|
2008-03-31 17:21:24 +02:00
|
|
|
bool "Support for reading/writing NVRAM bytes"
|
2012-12-14 22:05:21 +01:00
|
|
|
depends on ARCH_X86 # for now
|
2008-03-31 17:21:24 +02:00
|
|
|
default y
|
2008-03-28 00:26:40 +01:00
|
|
|
|
2017-02-06 15:02:25 +01:00
|
|
|
config MOUSE_CURSOR
|
|
|
|
bool "Support for mouse cursor handling"
|
2017-02-06 15:26:58 +01:00
|
|
|
default y if PC_MOUSE
|
2017-02-06 15:02:25 +01:00
|
|
|
default n
|
|
|
|
help
|
|
|
|
Provides a common interface for various mouse cursor drivers.
|
|
|
|
* Supports up to 32 buttons.
|
|
|
|
* Supports 3 axis mice.
|
|
|
|
* Applies simple cursor acceleration.
|
|
|
|
* Allows to set cursor acceleration and cursor speed.
|
|
|
|
|
2008-03-31 22:21:49 +02:00
|
|
|
config RTC_PORT_EXTENDED_VIA
|
|
|
|
bool "Extended RTC ports are 0x74/0x75"
|
|
|
|
default n
|
|
|
|
help
|
|
|
|
For recent chipsets with 256 NVRAM bytes, you have to access the
|
|
|
|
upper 128 bytes (128-255) using two different I/O ports,
|
|
|
|
usually 0x72/0x73.
|
2010-04-27 08:56:47 +02:00
|
|
|
|
2008-03-31 22:21:49 +02:00
|
|
|
On some chipsets this can be a different set of ports, though.
|
|
|
|
The VIA VT8237R for example only recognizes the ports 0x74/0x75
|
|
|
|
for accessing the high 128 NVRAM bytes (as seems to be the case for
|
|
|
|
multiple VIA chipsets).
|
2010-04-27 08:56:47 +02:00
|
|
|
|
2008-03-31 22:21:49 +02:00
|
|
|
If you want to read or write CMOS bytes on computers with one of
|
|
|
|
these chipsets, say 'y' here.
|
|
|
|
|
2008-08-08 15:45:03 +02:00
|
|
|
config SPEAKER
|
|
|
|
bool "Support for PC speaker"
|
2012-12-14 22:05:21 +01:00
|
|
|
depends on ARCH_X86
|
2016-05-17 01:37:56 +02:00
|
|
|
default y if !CHROMEOS
|
2008-03-20 00:56:58 +01:00
|
|
|
|
2016-07-27 12:41:04 +02:00
|
|
|
source "drivers/timer/Kconfig"
|
|
|
|
source "drivers/storage/Kconfig"
|
|
|
|
source "drivers/usb/Kconfig"
|
2015-05-20 11:27:10 +02:00
|
|
|
|
2010-03-25 23:15:19 +01:00
|
|
|
endmenu
|
|
|
|
|
|
|
|
menu "Debugging"
|
|
|
|
depends on DEVELOPER
|
|
|
|
|
|
|
|
config DEBUG_MALLOC
|
|
|
|
bool "Debug memory allocator"
|
|
|
|
default n
|
|
|
|
help
|
|
|
|
Select this option if you want to debug the memory allocator. This
|
|
|
|
option logs all uses of the following functions:
|
|
|
|
|
|
|
|
void free(void *ptr);
|
|
|
|
void *malloc(size_t size);
|
|
|
|
void *calloc(size_t nmemb, size_t size);
|
|
|
|
void *realloc(void *ptr, size_t size);
|
|
|
|
void *memalign(size_t align, size_t size);
|
2008-09-02 18:06:22 +02:00
|
|
|
|
2010-03-25 23:15:19 +01:00
|
|
|
Say N here unless you are debugging memory allocator problems.
|
2008-09-02 18:06:22 +02:00
|
|
|
|
2008-03-20 00:56:58 +01:00
|
|
|
endmenu
|
2008-08-08 15:45:03 +02:00
|
|
|
|
2012-03-19 11:06:46 +01:00
|
|
|
config BIG_ENDIAN
|
|
|
|
default n
|
|
|
|
bool
|
|
|
|
|
|
|
|
config LITTLE_ENDIAN
|
|
|
|
default n
|
|
|
|
bool
|
|
|
|
|
2013-01-19 00:49:00 +01:00
|
|
|
config IO_ADDRESS_SPACE
|
|
|
|
default n
|
|
|
|
bool
|
2016-03-12 20:48:44 +01:00
|
|
|
help
|
|
|
|
This option is turned on if the target system has a separate
|
|
|
|
IO address space. This is typically only the case on x86.
|
2013-01-19 00:49:00 +01:00
|
|
|
|
2015-06-11 23:33:11 +02:00
|
|
|
source "arch/arm/Kconfig"
|
|
|
|
source "arch/arm64/Kconfig"
|
|
|
|
source "arch/x86/Kconfig"
|
2021-09-15 14:52:45 +02:00
|
|
|
source "arch/mock/Kconfig"
|