libpayload: Add liblzma, libcbfs
[coreboot.git] / payloads / libpayload / Config.in
index 43f7b5e34fb193e350cc8115495a96e497cd36f5..0ce4ae539f416856e3cf09f1b6634605bb461b26 100644 (file)
@@ -2,6 +2,7 @@
 ## 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
 
 mainmenu "Libpayload Configuration"
 
-config HAVE_DOT_CONFIG
-       bool
-       default y
+menu "Generic Options"
+
+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
 
-# When (if) we support multiple architectures, this will become an option.
 config TARGET_I386
-       bool
+        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
 
-menu "Output Options"
+endmenu
+
+menu "Standard Libraries"
+
+config LIBC
+       bool "Enable C library support"
+       default y
+
+config CURSES
+       bool "Build a curses library"
+       default y
+
+choice
+       prompt "Curses implementation"
+       default PDCURSES
+       depends on CURSES
+
+config TINYCURSES
+       bool "Tinycurses"
+       help
+         Tinycurses was the first curses implementation for libpayload.
+         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"
+       default y
+       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
+
+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 coreboot
+
+config LZMA
+       bool "LZMA decoder"
+       default y
+       help
+         LZMA decoder implementation, usable eg. by CBFS,
+         but also externally.
+endmenu
+
+menu "Console Options"
 
 config SERIAL_CONSOLE
        bool "See output on the serial port console"
@@ -46,19 +147,33 @@ config SERIAL_CONSOLE
 
 config SERIAL_IOBASE
        hex "I/O base for the serial port (default 0x3f8)"
-       depends SERIAL_CONSOLE
+       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 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
@@ -68,15 +183,41 @@ config VGA_VIDEO_CONSOLE
        depends on VIDEO_CONSOLE
        default y
 
-config GEODE_VIDEO_CONSOLE
-       bool "Geode video console driver"
+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"
        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 "Drivers"
+
+config PCI
+       bool "Support for PCI devices"
+       default y
+
 config NVRAM
        bool "Support for reading/writing NVRAM bytes"
        default y
@@ -88,21 +229,97 @@ config RTC_PORT_EXTENDED_VIA
          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.
 
-endmenu
+config SPEAKER
+       bool "Support for PC speaker"
+       default y
 
-menu "Build Options"
+config USB
+       bool "USB Support"
+       default n
 
-config TINYCURSES
-       bool "Enable tinycurses support"
+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
+