- Add helps texts to multiple user-visible Kconfig options.
- Improve some menu and option names.
- PAYLOAD_NONE should come before PAYLOAD_ELF, so that you scroll down
(instead of up) when changing "no payload" to "ELF payload" (more
intuitive, IMHO).
- s/cbfs/cbfstool/.
- Add some TODO items where needed.
- Put GDB_STUB in a "Debugging" menu, no options should be top-level.
There'll be more debug options later, I'm pretty sure.
- Start converting help texts which are not user-visible to #-comments.
- Re-order some options for more intuitive menus.
- Set ARCH_X86 and ARCH_POWERPC to "default n", each boards selects them.
- "Maximum reboot count" should proabably not be user-selectable, or at
most if CONFIG_EXPERT (yet to be added) is enabled. It does definately
not need its own "Misc options" menu.
- Set PCI_ROM_RUN and VGA_ROM_RUN to "default y", most users will want to
run option ROMs.
Signed-off-by: Uwe Hermann <uwe@hermann-uwe.de>
Acked-by: Uwe Hermann <uwe@hermann-uwe.de>
git-svn-id: svn://svn.coreboot.org/coreboot/trunk@4734
2b7e53f0-3cfb-0310-b3e9-
8179ed1497e1
menu "General setup"
config LOCALVERSION
- string "Local version - append to coreboot release"
+ string "Local version string"
help
Append an extra string to the end of the coreboot version.
+ This can be useful if, for instance, you want to append the
+ respective board's hostname or some other identifying string to
+ the coreboot version number, so that you can easily distinguish
+ boot logs of different boards from each other.
+
endmenu
source src/mainboard/Kconfig
# TODO
# menu "Drivers"
-#
+#
# endmenu
-menu "Generated System Tables"
+menu "System tables"
config HAVE_LOW_TABLES
bool
default y
config MULTIBOOT
- bool "Add Multiboot tables (for grub2)"
+ bool "Generate Multiboot tables (for GRUB2)"
default n
config HAVE_ACPI_TABLES
menu "Payload"
-config COMPRESSED_PAYLOAD_LZMA
- bool "Use LZMA compression for payloads"
- default yes
-
choice
- prompt "Payload type"
+ prompt "Add a payload"
default PAYLOAD_NONE
+config PAYLOAD_NONE
+ bool "None"
+ help
+ Select this option if you want to create an "empty" coreboot
+ ROM image for a certain mainboard, i.e. a coreboot ROM image
+ which does not yet contain a payload.
+
+ For such an image to be useful, you have to use 'cbfstool'
+ to add a payload to the ROM image later.
+
config PAYLOAD_ELF
- bool "An ELF executable payload file"
+ bool "An ELF executable payload"
help
Select this option if you have a payload image (an ELF file)
which coreboot should run as soon as the basic hardware
You will be able to specify the location and file name of the
payload image later.
-config PAYLOAD_NONE
- bool "No payload"
- help
- Select this option if you want to create an "empty" coreboot
- ROM image for a certain mainboard, i.e. a coreboot ROM image
- which does not yet contain a payload.
-
- For such an image to be useful, you have to use the 'cbfs' tool
- to add a payload to the ROM image later.
endchoice
help
The path and filename of the ELF executable file to use as payload.
+# TODO: Defined if no payload? Breaks build?
+config COMPRESSED_PAYLOAD_LZMA
+ bool "Use LZMA compression for payloads"
+ default y
+ depends on PAYLOAD_ELF
+ help
+ In order to reduce the size payloads take up in the ROM chip
+ coreboot can compress them using the LZMA algorithm.
+
endmenu
menu "VGA BIOS"
depends on VGA_BIOS
default "1106,3230"
help
- The ID that would associate your VGA BIOS to your video card.
- (PCI VendorID, PCI Device ID)
+ The comma-separated PCI vendor and device ID that would associate
+ your VGA BIOS to your video card.
+
+ Example: 1106,3230
+
+ In the above example 1106 is the PCI vendor ID (in hex, but without
+ the "0x" prefix) and 3230 specifies the PCI device ID of the
+ video card (also in hex, without "0x" prefix).
endmenu
+menu "Debugging"
+
+# TODO: Better help text and detailed instructions.
config GDB_STUB
bool "GDB debugging support"
default y
If enabled, you will be able to set breakpoints for gdb debugging.
See src/arch/i386/lib/c_start.S for details.
+endmenu
+
+# This option is used to set the architecture of a mainboard to X86.
+# It is usually set in mainboard/*/Kconfig.
config ARCH_X86
bool
- help
- This option is used to set the architecture of a mainboard.
- It is usually set in mainboard/*/Kconfig.
+ default n
+# This is an SMP option. It relates to starting up APs.
+# It is usually set in mainboard/*/Kconfig.
+# TODO: Improve description.
config AP_IN_SIPI_WAIT
bool
default n
depends on ARCH_X86
- help
- This is an SMP option. It relates to starting up APs.
- It is usually set in mainboard/*/Kconfig.
+# This is the name of the respective architecture subdirectory in arch/.
config ARCH
string
default i386
depends on ARCH_X86
- help
- This is the name of the respective subdirectory in arch/.
config ROMBASE
hex
hex
default 0x8000
-menu "Misc options"
-
+# Maximum reboot count
+# TODO: Improve description.
config MAX_REBOOT_CNT
- int "Maximum reboot count"
+ int
default 3
-endmenu
-
+# This option is used to set the architecture of a mainboard to PowerPC.
+# It is usually set in mainboard/*/Kconfig.
config ARCH_POWERPC
bool
- help
- This option is used to set the architecture of a mainboard.
- It is usually set in mainboard/*/Kconfig.
+ default n
+# This is the name of the respective architecture subdirectory in arch/.
config ARCH
string
default ppc
depends on ARCH_POWERPC
- help
- This is the name of the respective subdirectory in arch/.
menu "Console options"
+# TODO: Rename to SERIAL_CONSOLE once Kconfig transition is complete.
config CONSOLE_SERIAL8250
- #TODO Rename to SERIAL_CONSOLE once Kconfig transition is complete.
- bool "See output on the serial port console"
+ bool "Enable serial port console output"
default y
+ help
+ Send coreboot debug output to a serial port console.
-config SERIAL_POST
- bool "See POST output on the serial port console"
- default n
-
+# TODO: COM1, COM2 etc.
config TTYS0_BASE
hex "I/O base for the serial port"
depends on CONSOLE_SERIAL8250
default 0x3f8
config SERIAL_SET_SPEED
- bool "Override the serial console BAUD rate"
+ bool "Override the serial port BAUD rate"
default y
depends on CONSOLE_SERIAL8250
config TTYS0_BAUD
- int "Serial console BAUD rate"
+ int "Serial port BAUD rate"
depends on SERIAL_SET_SPEED
default 115200
+# TODO: Allow user-friendly selection of settings other than 8n1.
config TTYS0_LCS
int
default 3
depends on CONSOLE_SERIAL8250
+config SERIAL_POST
+ bool "Enable POST output on the serial port console"
+ depends on CONSOLE_SERIAL8250
+ default n
+ help
+ If enabled, coreboot will additionally print POST codes (which are
+ usually displayed using a so-called "POST card" ISA/PCI/PCI-E
+ device) on the serial console.
+
+# TODO: FIX DEPENDENCY HERE
config USBDEBUG_DIRECT
- bool "USB debug dongle support. Not supported on all chipsets."
+ bool "USB 2.0 EHCI debug dongle support"
default n
- # TODO: FIX DEPENDENCY HERE
+ help
+ This option allows you to use a so-called USB EHCI Debug device
+ to retrieve the coreboot debug messages (instead, or in addition
+ to, a serial port).
+
+ This feature is NOT supported on all chipsets in coreboot!
+
+ It also requires a USB2 controller which supports the EHCI
+ Debug Port capability. Controllers which are known to work:
+
+ * 10b9:5239 ALi Corporation USB 2.0 (USB PCI card)
+ * 8086:24cd Intel ICH4/ICH4-M
+ * 8086:24dd Intel ICH5
+ * 8086:265c Intel ICH6
+ * 8086:268c Intel 631xESB/632xESB/3100
+ * 8086:27cc Intel ICH7
+ * 8086:2836 Intel ICH8
+ * 8086:283a Intel ICH8
+ * 8086:293a Intel ICH9
+ * 10de:0088 NVIDIA MCP2A
+ * 10de:005b NVIDIA CK804
+ * 10de:026e NVIDIA MCP51
+ * 10de:036d NVIDIA MCP55
+ * 10de:03f2 NVIDIA MCP61
+ * 1002:4386 ATI/AMD SB600
+ * 1106:3104 VIA VX800
+
+ See http://www.coreboot.org/EHCI_Debug_Port for an up-to-date list.
config CONSOLE_VGA
- bool "Use VGA console, once initialized."
+ bool "Use VGA console once initialized"
default n
+# TODO: Deps?
+# TODO: Improve description.
config CONSOLE_VGA_ONBOARD_AT_FIRST
- bool "Use onboard VGA as primary"
+ bool "Use onboard VGA as primary video device"
default n
help
If not selected, the last adapter found will be used.
+# TODO: User-friendly "choice" selection.
+# TODO: Add help text.
config MAXIMUM_CONSOLE_LOGLEVEL
int "Maximum console loglevel"
default 9
+# TODO: User-friendly "choice" selection.
+# TODO: Add help text.
config DEFAULT_CONSOLE_LOGLEVEL
int "Default console loglevel"
default 9
bool "Setup bridges on path to VGA adapter"
default y
help
- Allow bridges to set up legacy decoding ranges for VGA. Don't disable
+ Allow bridges to set up legacy decoding ranges for VGA. Don't disable
this unless you're sure you don't want the briges setup for VGA.
+# TODO: Explain differences (if any) for onboard cards.
config VGA_ROM_RUN
- bool "Run VGA Option ROMs"
+ bool "Run VGA option ROMs"
+ default y
help
- Execute VGA option ROMs if found. This is required to enable PCI/AGP
- VGA plugin cards.
+ Execute VGA option ROMs, if found. This is required to enable
+ PCI/AGP/PCI-E video cards.
config PCI_ROM_RUN
- bool "Run non-VGA Option ROMs"
+ bool "Run non-VGA option ROMs"
+ default y
help
- Execute non-VGA PCI option ROMs if found.
+ Execute non-VGA PCI option ROMs, if found.
+
+ Examples include IDE/SATA controller option ROMs and option ROMs
+ for network cards (NICs).
+# TODO: Describe YABEL vs. x86emu differences in more detail.
choice
- prompt "Option ROM Execution"
- default PCI_OPTION_ROM_RUN_REALMODE
+ prompt "Option ROM execution type"
+ default PCI_OPTION_ROM_RUN_REALMODE
depends on PCI_ROM_RUN || VGA_ROM_RUN
+
+config PCI_OPTION_ROM_RUN_REALMODE
+ prompt "Real mode"
+ bool
help
- You can choose to execute PCI option ROMs natively (32bit x86 system
- required) or in an emulator (x86emu or YABEL).
+ If you select this option, PCI option ROMs will be executed
+ natively on the hardware (a 32bit x86 system is required).
- config PCI_OPTION_ROM_RUN_REALMODE
- prompt "Real mode"
- bool
+config PCI_OPTION_ROM_RUN_YABEL
+ prompt "YABEL"
+ bool
+ help
+ If you select this option, the YABEL BIOS emulator will be used to
+ execute PCI option ROMs.
- config PCI_OPTION_ROM_RUN_YABEL
- prompt "YABEL"
- bool
+config PCI_OPTION_ROM_RUN_X86EMU
+ prompt "x86emu"
+ bool
+ help
+ If you select this option, the x86emu BIOS emulator will be used to
+ execute PCI option ROMs.
- config PCI_OPTION_ROM_RUN_X86EMU
- prompt "X86EMU"
- bool
endchoice
+# TODO: Describe better, and/or make a "choice" selection for this.
config YABEL_DEBUG_FLAGS
- prompt "Hex value for debug flags"
+ prompt "Hex value for YABEL debug flags"
hex
default 0x0
depends on PCI_OPTION_ROM_RUN_YABEL
source "src/mainboard/tyan/Kconfig"
source "src/mainboard/via/Kconfig"
+# TODO: No help text possible for choice fields?
choice
prompt "ROM chip size"
default COREBOOT_ROMSIZE_KB_256
+ help
+ Select the size of the ROM chip you intend to flash coreboot on.
+
+ The build system will take care of creating a coreboot.rom file
+ of the matching size.
config COREBOOT_ROMSIZE_KB_128
bool "128 KB"
endchoice
+# Map the config names to an integer (KB).
config COREBOOT_ROMSIZE_KB
int
default 128 if COREBOOT_ROMSIZE_KB_128
default 1024 if COREBOOT_ROMSIZE_KB_1024
default 2048 if COREBOOT_ROMSIZE_KB_2048
default 4096 if COREBOOT_ROMSIZE_KB_4096
- help
- Map the config names to an integer.
+# Map the config names to a hex value (bytes).
config ROM_SIZE
hex
default 0x20000 if COREBOOT_ROMSIZE_KB_128