Reduce warnings/errors in libpayload when using picky compiler options
[coreboot.git] / payloads / libpayload / Config.in
index ffd40b73bff89edde2f97a463c3a0ff9338df753..fe534001bb40725b557bc917b13750ab412a390c 100644 (file)
-#
-# This file is part of the libpayload project.
-#
-# Copyright (C) 2008 Advanced Micro Devices, Inc.
-#
-# 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.
-#
+##
+## This file is part of the libpayload project.
+##
+## Copyright (C) 2008 Advanced Micro Devices, Inc.
+## Copyright (C) 2008 coresystems GmbH
+##
+## 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.
+##
 
 mainmenu "Libpayload Configuration"
 
-config HAVE_DOT_CONFIG
-        bool
-        default y
+menu "Generic Options"
 
-# When (if) we support multiple architectures,
-# then this will become an option
+config EXPERIMENTAL
+       bool "Experimental Options"
+       default n
+       help
+         Prompt for experimental functionality. Attention: This is not likely
+         to work without problems
+
+config OBSOLETE
+       bool "Obsolete Options"
+       default n
+       help
+         Prompt for obsolete options. These options are for old, unsupported
+         features and are likely to go away in the future.
+
+config DEVELOPER
+       bool "Developer Options"
+       default n
+       help
+         Prompt for developer options. These options are only interesting for
+         libpayload developers.
+
+endmenu
+
+menu "Architecture Options"
+
+choice
+        prompt "Target Architecture"
+        default TARGET_I386
 
 config TARGET_I386
-       bool
-       default y
+        bool "x86"
+        help
+          Support the x86 architecture
+
+config TARGET_POWERPC
+        bool "PowerPC"
+        help
+         Support the PowerPC architecture
+
+endchoice
+
+config MEMMAP_RAM_ONLY
+       bool "Only consider RAM entries in memory map for further processing"
+       default n
+
+config MULTIBOOT
+       bool "Multiboot header support"
+       depends on TARGET_I386
+       default y
+
+endmenu
+
+menu "Standard Libraries"
+
+config LIBC
+       bool "Enable C library support"
+       default y
+
+config TINYCURSES
+       bool "Enable tinycurses support"
+       default y
+
+config LAR
+       bool "LAR support"
+       default n
+       depends on OBSOLETE
+       help
+         LAR is the archive format of (obsolete) coreboot v3
+
+config CBFS
+       bool "CBFS support"
+       default y
+       help
+         CBFS is the archive format of (obsolete) coreboot v3
+endmenu
+
+menu "Console Options"
 
-menu "Output Options"
-     
 config SERIAL_CONSOLE
-       bool "See output on the serial port console"
-       default y
+       bool "See output on the serial port console"
+       default y
 
 config SERIAL_IOBASE
-       hex "I/O base for the serial port (default 0x3f8)"
-       depends SERIAL_CONSOLE
-       default 0x3f8
-       
+       hex "I/O base for the serial port (default 0x3f8)"
+       depends on SERIAL_CONSOLE
+       default 0x3f8
+
 config SERIAL_SET_SPEED
        bool "Override the serial console baud rate"
        default n
-       depends SERIAL_CONSOLE
+       depends on SERIAL_CONSOLE
 
 config SERIAL_BAUD_RATE
        int "Serial console baud rate (default 115200)"
-       depends SERIAL_SET_SPEED
+       depends on SERIAL_SET_SPEED
        default 115200
 
-config VGA_CONSOLE     
-       bool "See output on a VGA console"
-       default y
+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.
+
+         Say 'y' here if you want to always use plain ASCII characters to
+         approximate the appearance of ACS characters on the serial port
+         console.
+
+config VIDEO_CONSOLE
+       bool "See output on a video console"
+       default y
+
+config VGA_VIDEO_CONSOLE
+       bool "VGA video console driver"
+       depends on VIDEO_CONSOLE
+       default y
+
+config GEODELX_VIDEO_CONSOLE
+       bool "Geode LX video console driver"
+       depends on VIDEO_CONSOLE
+       default n
+
+config COREBOOT_VIDEO_CONSOLE
+       bool "coreboot video console driver"
+       depends on VIDEO_CONSOLE && !GEODELX_VIDEO_CONSOLE
+       default n
+       help
+         Say Y here if coreboot switched to a graphics mode and
+         your payload wants to use it.
 
 config PC_KEYBOARD
-       bool "Allow input from a PC keyboard"
-       depends VGA_CONSOLE
-       default y
+       bool "Allow input from a PC keyboard"
+       default y
+
+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
 
 endmenu
 
-menu "Build Options"
+menu "Drivers"
 
-config TINYCURSES
-       bool "Enable tinycurses support"
-       default y
+config PCI
+       bool "Support for PCI devices"
+       default y
+
+config NVRAM
+       bool "Support for reading/writing NVRAM bytes"
+       default y
+
+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.
+
+         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).
+
+         If you want to read or write CMOS bytes on computers with one of
+         these chipsets, say 'y' here.
+
+config SPEAKER
+       bool "Support for PC speaker"
+       default y
+
+config USB
+       bool "USB Support"
+       default n
+
+config USB_UHCI
+       bool "Support for USB UHCI controllers"
+       depends on USB
+       help
+         Select this option if you are going to use USB 1.1 on an Intel based
+         system.
+
+config USB_OHCI
+       bool "Support for USB OHCI controllers"
+       depends on USB
+       help
+         Select this option if you are going to use USB 1.1 on an AMD based
+         system.
+
+config USB_EHCI
+       bool "Support for USB EHCI controllers"
+       depends on USB
+       help
+         Select this option if you want to use USB 2.0
+
+config USB_XHCI
+       bool "Support for USB xHCI controllers"
+       depends on USB
+       help
+         Select this option if you want to use USB 3.0
+         NOTE: This option is not (fully) implemented yet
+
+config USB_HID
+       bool "Support for USB keyboards"
+       depends on USB
+       default y
+       help
+         Select this option if you want to use devices complying to the
+         USB HID (Human Interface Device) standard. Such devices are for
+         example keyboards and mice. Currently only keyboards are supported.
+         Say Y here unless you know exactly what you are doing.
+
+config USB_HUB
+       bool "Support for USB hubs"
+       depends on USB
+       default y
+       help
+         Select this option if you want to compile in support for USB hubs.
+         Say Y here unless you know exactly what you are doing.
+
+config USB_MSC
+       bool "Support for USB storage"
+       depends on USB
+       default y
+       help
+         Select this option if you want to compile in support for USB mass
+         storage devices (USB memory sticks, hard drives, CDROM/DVD drives)
+         Say Y here unless you know exactly what you are doing.
 
 endmenu
+
+menu "Debugging"
+       depends on DEVELOPER
+
+config DEBUG_MALLOC
+       bool "Debug memory allocator"
+       depends on USB
+       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);
+
+         Say N here unless you are debugging memory allocator problems.
+
+endmenu
+