[coreboot] [v2] r4734 - in trunk/coreboot-v2/src: . arch/i386 arch/ppc console devices mainboard

svn at coreboot.org svn at coreboot.org
Wed Oct 7 18:15:41 CEST 2009


Author: uwe
Date: 2009-10-07 18:15:40 +0200 (Wed, 07 Oct 2009)
New Revision: 4734

Modified:
   trunk/coreboot-v2/src/Kconfig
   trunk/coreboot-v2/src/arch/i386/Kconfig
   trunk/coreboot-v2/src/arch/ppc/Kconfig
   trunk/coreboot-v2/src/console/Kconfig
   trunk/coreboot-v2/src/devices/Kconfig
   trunk/coreboot-v2/src/mainboard/Kconfig
Log:
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 at hermann-uwe.de>
Acked-by: Uwe Hermann <uwe at hermann-uwe.de>



Modified: trunk/coreboot-v2/src/Kconfig
===================================================================
--- trunk/coreboot-v2/src/Kconfig	2009-10-07 16:00:40 UTC (rev 4733)
+++ trunk/coreboot-v2/src/Kconfig	2009-10-07 16:15:40 UTC (rev 4734)
@@ -30,10 +30,15 @@
 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 @@
 
 # TODO
 # menu "Drivers"
-# 
+#
 # endmenu
 
-menu "Generated System Tables"
+menu "System tables"
 
 config HAVE_LOW_TABLES
 	bool
@@ -239,7 +244,7 @@
 	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 @@
 
 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,16 +286,7 @@
 
 	  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
 
 config FALLBACK_PAYLOAD_FILE
@@ -294,6 +296,15 @@
 	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 @@
 	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 @@
 	  If enabled, you will be able to set breakpoints for gdb debugging.
 	  See src/arch/i386/lib/c_start.S for details.
 
+endmenu
+

Modified: trunk/coreboot-v2/src/arch/i386/Kconfig
===================================================================
--- trunk/coreboot-v2/src/arch/i386/Kconfig	2009-10-07 16:00:40 UTC (rev 4733)
+++ trunk/coreboot-v2/src/arch/i386/Kconfig	2009-10-07 16:15:40 UTC (rev 4734)
@@ -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 @@
 	hex
 	default 0x8000
 
-menu "Misc options"
-
+# Maximum reboot count
+# TODO: Improve description.
 config MAX_REBOOT_CNT
-	int "Maximum reboot count"
+	int
 	default 3
 
-endmenu
-

Modified: trunk/coreboot-v2/src/arch/ppc/Kconfig
===================================================================
--- trunk/coreboot-v2/src/arch/ppc/Kconfig	2009-10-07 16:00:40 UTC (rev 4733)
+++ trunk/coreboot-v2/src/arch/ppc/Kconfig	2009-10-07 16:15:40 UTC (rev 4734)
@@ -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/.
 

Modified: trunk/coreboot-v2/src/console/Kconfig
===================================================================
--- trunk/coreboot-v2/src/console/Kconfig	2009-10-07 16:00:40 UTC (rev 4733)
+++ trunk/coreboot-v2/src/console/Kconfig	2009-10-07 16:15:40 UTC (rev 4734)
@@ -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 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

Modified: trunk/coreboot-v2/src/devices/Kconfig
===================================================================
--- trunk/coreboot-v2/src/devices/Kconfig	2009-10-07 16:00:40 UTC (rev 4733)
+++ trunk/coreboot-v2/src/devices/Kconfig	2009-10-07 16:15:40 UTC (rev 4734)
@@ -24,43 +24,58 @@
 	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

Modified: trunk/coreboot-v2/src/mainboard/Kconfig
===================================================================
--- trunk/coreboot-v2/src/mainboard/Kconfig	2009-10-07 16:00:40 UTC (rev 4733)
+++ trunk/coreboot-v2/src/mainboard/Kconfig	2009-10-07 16:15:40 UTC (rev 4734)
@@ -370,10 +370,16 @@
 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"
 	help
@@ -406,6 +412,7 @@
 
 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 @@
 	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





More information about the coreboot mailing list