summaryrefslogtreecommitdiff
path: root/src/config
diff options
context:
space:
mode:
Diffstat (limited to 'src/config')
-rw-r--r--src/config/Options.lb571
1 files changed, 571 insertions, 0 deletions
diff --git a/src/config/Options.lb b/src/config/Options.lb
new file mode 100644
index 0000000000..6e7e490d44
--- /dev/null
+++ b/src/config/Options.lb
@@ -0,0 +1,571 @@
+#######################################################
+#
+# Main options file for LinuxBIOS
+#
+# Each option used by a part must be defined in
+# this file. The format for options is:
+#
+# define <name>
+# default <expr> | {<expr>} | "<string>" | none
+# format "<string>"
+# export always | used | never
+# comment "<string>"
+# end
+#
+# where
+#
+# <name> is the name of the option
+# <expr> is a numeric expression
+# <string> is a string
+#
+# Either a default value or 'default none' must
+# be specified for every option. An option
+# specified as 'default none' will not be exported
+# (i.e. will remain undefined) unless it has
+# been assigned a value.
+#
+# Option values can be an immediate expression that
+# evaluates to a numeric value, a delayed expression
+# (surrounded by curley braces), or a string
+# (surrounded by double quotes.)
+#
+# Immediate expressions are evaluated at the time an
+# option is defined or set and the numeric result
+# becomes the value of the option.
+#
+# Delayed expression are evaluated at the time the
+# option is used, either in another expression or
+# when being exported.
+#
+# String values will have the double quotes removed
+# automatically.
+#
+# Format strings determine the print format that is
+# used when exporting options. The default format
+# is "%s" for strings and "%d" for numbers.
+#
+# Exported options generate entries in the
+# Makefile.settings file. Options can be always
+# exported, exported only if used, or never exported.
+#
+# A comment string must be supplied for every option.
+#
+#######################################################
+
+###############################################
+# Architecture options
+###############################################
+
+define ARCH
+ default "i386"
+ export always
+ comment "Default architecture is i386, options are alpha and ppc"
+end
+define k7
+ default none
+ export always
+ comment "We're a k7"
+end
+define k8
+ default none
+ export always
+ comment "We're a k8"
+end
+define i586
+ default none
+ export always
+ comment "We're a 586"
+end
+define i686
+ default none
+ export always
+ comment "We're a 686"
+end
+define CPU_FIXUP
+ default none
+ export always
+ comment "Do CPU fixups"
+end
+
+###############################################
+# Build options
+###############################################
+
+define CROSS_COMPILE
+ default ""
+ export always
+ comment "Cross compiler prefix"
+end
+define CC
+ default "$(CROSS_COMPILE)gcc"
+ export always
+ comment "Target C Compiler"
+end
+define HOSTCC
+ default "$(CROSS_COMPILE)gcc"
+ export always
+ comment "Host C Compiler"
+end
+define OBJCOPY
+ default "$(CROSS_COMPILE)objcopy"
+ export always
+ comment "Objcopy command"
+end
+define LINUXBIOS_VERSION
+ default "1.1.0"
+ export always
+ comment "LinuxBIOS version"
+end
+define LINUXBIOS_BUILD
+ default "$(shell date)"
+ export always
+ comment "Build date"
+end
+define LINUXBIOS_COMPILE_TIME
+ default "$(shell date +%T)"
+ export always
+ comment "Build time"
+end
+define LINUXBIOS_COMPILE_BY
+ default "$(shell whoami)"
+ export always
+ comment "Who build this image"
+end
+define LINUXBIOS_COMPILE_HOST
+ default "$(shell hostname)"
+ export always
+ comment "Build host"
+end
+
+define LINUXBIOS_COMPILE_DOMAIN
+ default ""
+ export always
+ comment "Build domain name"
+end
+define LINUXBIOS_COMPILER
+ default "$(shell $(CC) $(CFLAGS) -v 2>&1 | tail -n 1)"
+ export always
+ comment "Build compiler"
+end
+define LINUXBIOS_LINKER
+ default "$(shell $(CC) -Wl,-v 2>&1 | grep version | tail -n 1)"
+ export always
+ comment "Build linker"
+end
+define LINUXBIOS_ASSEMBLER
+ default "$(shell touch dummy.s ; $(CC) -c -Wa,-v dummy.s 2>&1; rm -f dummy.s dummy.o )"
+ export always
+ comment "Build assembler"
+end
+
+###############################################
+# ROM image options
+###############################################
+
+define HAVE_FALLBACK_BOOT
+ default 0
+ export always
+ comment "Set if fallback booting required"
+end
+define USE_FALLBACK_IMAGE
+ default 0
+ export used
+ comment "Set to build a fallback image"
+end
+define USE_NORMAL_IMAGE
+ default {!USE_FALLBACK_IMAGE}
+ export used
+ comment "Set to build a normal image"
+end
+define FALLBACK_SIZE
+ default 65536
+ format "0x%x"
+ export used
+ comment "Default fallback image size"
+end
+define ROM_SIZE
+ default 262144
+ format "0x%x"
+ export used
+ comment "Size of your ROM"
+end
+define ROM_IMAGE_SIZE
+ default 65535
+ format "0x%x"
+ export always
+ comment "Default image size"
+end
+define ROM_SECTION_SIZE
+ default FALLBACK_SIZE
+ format "0x%x"
+ export used
+ comment "Default rom section size"
+end
+define ROM_SECTION_OFFSET
+ default {ROM_SIZE - FALLBACK_SIZE}
+ format "0x%x"
+ export used
+ comment "Default rom section offset"
+end
+define PAYLOAD_SIZE
+ default {ROM_SECTION_SIZE - ROM_IMAGE_SIZE}
+ format "0x%x"
+ export always
+ comment "Default payload size"
+end
+define _ROMBASE
+ default {PAYLOAD_SIZE}
+ format "0x%x"
+ export always
+ comment "Base of ROM"
+end
+define STACK_SIZE
+ default 0x2000
+ format "0x%x"
+ export always
+ comment "Default stack size"
+end
+define HEAP_SIZE
+ default 0x2000
+ format "0x%x"
+ export used
+ comment "Default heap size"
+end
+define _RAMBASE
+ default 0x00100000
+ format "0x%x"
+ export used
+ comment "Base address of RAM"
+end
+define USE_CACHE_RAM
+ default 0
+ export used
+ comment "Use cache as temporary RAM if possible"
+end
+define CACHE_RAM_BASE
+ default 0x00200000
+ format "0x%x"
+ export always
+ comment "Base address of cache when using it for temporary RAM"
+end
+define CACHE_RAM_SIZE
+ default 0x00004000
+ format "0x%x"
+ export always
+ comment "Size of cache when using it for temporary RAM"
+end
+define CONFIG_COMPRESS
+ default 1
+ export always
+ comment "Set for compressed image"
+end
+define CONFIG_UNCOMPRESSED
+ default {!CONFIG_COMPRESS}
+ export always
+ comment "Set for uncompressed image"
+end
+define HAVE_OPTION_TABLE
+ default 0
+ export always
+ comment "Export CMOS option table"
+end
+define USE_OPTION_TABLE
+ default {HAVE_OPTION_TABLE && !USE_FALLBACK_IMAGE}
+ export always
+ comment "Use option table"
+end
+
+###############################################
+# Build targets
+###############################################
+
+define CRT0
+ default "$(TOP)/src/arch/$(ARCH)/config/crt0.base"
+ export always
+ comment "Main initialization target"
+end
+
+###############################################
+# Debugging/Logging options
+###############################################
+
+define DEBUG
+ default 1
+ export always
+ comment "Enable debugging code"
+end
+define CONFIG_CONSOLE_VGA
+ default 0
+ export always
+ comment "Log messages to VGA"
+end
+define CONFIG_CONSOLE_LOGBUF
+ default 0
+ export always
+ comment "Log messages to buffer"
+end
+define CONFIG_CONSOLE_SROM
+ default 0
+ export always
+ comment "Log messages to SROM console"
+end
+define CONFIG_CONSOLE_SERIAL8250
+ default 0
+ export always
+ comment "Log messages to serial 8250 console"
+end
+define SERIAL_CONSOLE
+ default none
+ export used
+ comment "Log messages to serial console"
+end
+define MAXIMUM_CONSOLE_LOGLEVEL
+ default 7
+ export always
+ comment "Console will log at this level"
+end
+define NO_POST
+ default none
+ export always
+ comment "Disable POST codes"
+end
+define TTYS0_BAUD
+ default 115200
+ export always
+ comment "Default baud rate for serial console"
+end
+define NO_KEYBOARD
+ default none
+ export never
+ comment "Set if we don't have a keyboard"
+end
+
+###############################################
+# Mainboard options
+###############################################
+
+define MAINBOARD
+ default "Mainboard_not_set"
+ export always
+ comment "Mainboard name"
+end
+define MAINBOARD_PART_NUMBER
+ default "Part_number_not_set"
+ export always
+ comment "Part number of mainboard"
+end
+define MAINBOARD_VENDOR
+ default "Vendor_not_set"
+ export always
+ comment "Vendor of mainboard"
+end
+define FINAL_MAINBOARD_FIXUP
+ default 0
+ export used
+ comment "Do final mainboard fixups"
+end
+
+
+###############################################
+# SMP options
+###############################################
+
+define CONFIG_SMP
+ default none
+ export always
+ comment "Define if we support SMP"
+end
+define SMP
+ default none
+ export always
+ comment "Define if we support SMP"
+end
+define MAX_CPUS
+ default 1
+ export always
+ comment "CPU count for this machine"
+end
+define CONFIG_LOGICAL_CPUS
+ default 1
+ export always
+ comment "Logical CPU count for this machine"
+end
+define MAX_PHYSICAL_CPUS
+ default 1
+ export always
+ comment "Physical CPU count for this machine"
+end
+define HAVE_MP_TABLE
+ default none
+ export always
+ comment "Define to build an MP table"
+end
+
+###############################################
+# Boot options
+###############################################
+
+define USE_ELF_BOOT
+ default none
+ export always
+ comment "Use ELF boot loader"
+end
+define CONFIG_IDE_STREAM
+ default 0
+ export always
+ comment "Boot from IDE device"
+end
+define CONFIG_ROM_STREAM
+ default 0
+ export always
+ comment "Boot image is located in ROM"
+end
+define CONFIG_ROM_STREAM_START
+ default {0xffffffff - ROM_SIZE + ROM_SECTION_OFFSET + 1}
+ format "0x%x"
+ export always
+ comment "ROM stream start location"
+end
+
+###############################################
+# IRQ options
+###############################################
+
+define HAVE_PIRQ_TABLE
+ default none
+ export always
+ comment "Define if we have a PIRQ table"
+end
+define IRQ_SLOT_COUNT
+ default none
+ export always
+ comment "Number of IRQ slots"
+end
+define CONFIG_PCIBIOS_IRQ
+ default none
+ export always
+ comment "PCIBIOS IRQ support"
+end
+define CONFIG_IOAPIC
+ default none
+ export always
+ comment "IOAPIC support"
+end
+
+###############################################
+# IDE specific options
+###############################################
+
+define IDE_BOOT_DRIVE
+ default 0
+ export always
+ comment "Disk number of boot drive"
+end
+define IDE_SWAB
+ default none
+ export always
+ comment "Swap bytes when reading from IDE device"
+end
+define IDE_OFFSET
+ default 0
+ export always
+ comment "Sector at which to start searching for boot image"
+end
+
+###############################################
+# SMBUS options
+###############################################
+
+define SMBUS_MEM_DEVICE_START
+ default (0xa << 3)
+ export always
+ comment "Start address of SMBUS device"
+end
+define SMBUS_MEM_DEVICE_END
+ default {SMBUS_MEM_DEVICE_START +1}
+ export always
+ comment "End address of SMBUS device"
+end
+define SMBUS_MEM_DEVICE_INC
+ default 1
+ export always
+ comment "Increment value SMBUS"
+end
+
+###############################################
+# SuperIO options
+###############################################
+
+define SIO_BASE
+ default none
+ export used
+ comment "Superio base address"
+end
+define SIO_SYSTEM_CLK_INPUT
+ default none
+ export used
+ comment "Superio CLK input default"
+end
+
+###############################################
+# Misc options
+###############################################
+
+define HAVE_HARD_RESET
+ default none
+ export used
+ comment "Have hard reset"
+end
+define MEMORY_HOLE
+ default none
+ export used
+ comment "Set to deal with memory hole"
+end
+define ENABLE_FIXED_AND_VARIABLE_MTRRS
+ default none
+ export used
+ comment "Enable fixed and variable mtrrs"
+end
+define START_CPU_SEG
+ default 0xf0000
+ format "0x%x"
+ export always
+ comment "Start CPU segment"
+end
+define MAX_REBOOT_CNT
+ default 2
+ export always
+ comment "Set maximum reboots"
+end
+define DISABLE_WATCHDOG
+ default {MAXIMUM_CONSOLE_LOGLEVEL >= 8}
+ export used
+ comment "Disable watchdog if we're doing lots of output"
+end
+
+###############################################
+# Misc device options
+###############################################
+
+define CONFIG_TSC_X86RDTSC_CALIBRATE_WITH_TIMER2
+ default none
+ export used
+ comment ""
+end
+define INTEL_PPRO_MTRR
+ default none
+ export always
+ comment ""
+end
+define AMD8111_DEV
+ default 0x3800
+ format "0x%x"
+ export used
+ comment ""
+end
+define CONFIG_UDELAY_TSC
+ default 0
+ export used
+ comment ""
+end
+