Various Kconfig fixes and improvements:

- 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
This commit is contained in:
Uwe Hermann 2009-10-07 16:15:40 +00:00
parent dd56514502
commit 168b11bc41
6 changed files with 156 additions and 74 deletions

View File

@ -30,10 +30,15 @@ mainmenu "Coreboot Configuration"
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
@ -225,10 +230,10 @@ config GFXUMA
# TODO
# menu "Drivers"
#
#
# endmenu
menu "Generated System Tables"
menu "System tables"
config HAVE_LOW_TABLES
bool
@ -239,7 +244,7 @@ config HAVE_HIGH_TABLES
default y
config MULTIBOOT
bool "Add Multiboot tables (for grub2)"
bool "Generate Multiboot tables (for GRUB2)"
default n
config HAVE_ACPI_TABLES
@ -258,16 +263,22 @@ endmenu
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
@ -275,15 +286,6 @@ config PAYLOAD_ELF
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
@ -294,6 +296,15 @@ config FALLBACK_PAYLOAD_FILE
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"
@ -319,11 +330,20 @@ config FALLBACK_VGA_BIOS_ID
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
@ -331,3 +351,5 @@ config GDB_STUB
If enabled, you will be able to set breakpoints for gdb debugging.
See src/arch/i386/lib/c_start.S for details.
endmenu

View File

@ -1,23 +1,22 @@
# 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
@ -58,11 +57,9 @@ config STACK_SIZE
hex
default 0x8000
menu "Misc options"
# Maximum reboot count
# TODO: Improve description.
config MAX_REBOOT_CNT
int "Maximum reboot count"
int
default 3
endmenu

View File

@ -1,13 +1,12 @@
# 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/.

View File

@ -1,53 +1,96 @@
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 USBDEBUG_DIRECT
bool "USB debug dongle support. Not supported on all chipsets."
config SERIAL_POST
bool "Enable POST output on the serial port console"
depends on CONSOLE_SERIAL8250
default n
# TODO: FIX DEPENDENCY HERE
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 2.0 EHCI debug dongle support"
default n
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

View File

@ -24,43 +24,58 @@ config VGA_BRIDGE_SETUP
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

View File

@ -370,9 +370,15 @@ source "src/mainboard/thomson/Kconfig"
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"
@ -406,6 +412,7 @@ config COREBOOT_ROMSIZE_KB_4096
endchoice
# Map the config names to an integer (KB).
config COREBOOT_ROMSIZE_KB
int
default 128 if COREBOOT_ROMSIZE_KB_128
@ -414,9 +421,8 @@ config COREBOOT_ROMSIZE_KB
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