- Bump the LinuxBIOS major version
[coreboot.git] / src / config / Options.lb
1 #######################################################
2 #
3 # Main options file for LinuxBIOS
4 #
5 # Each option used by a part must be defined in
6 # this file. The format for options is:
7 #
8 #   define <name> 
9 #       default <expr> | {<expr>} | "<string>" | none
10 #       format "<string>"
11 #       export always | used | never
12 #       comment "<string>"
13 #   end
14 #
15 # where 
16 #
17 #   <name> is the name of the option
18 #   <expr> is a numeric expression
19 #   <string> is a string
20 #
21 # Either a default value or 'default none' must
22 # be specified for every option. An option
23 # specified as 'default none' will not be exported
24 # (i.e. will remain undefined) unless it has
25 # been assigned a value.
26 #
27 # Option values can be an immediate expression that 
28 # evaluates to a numeric value, a delayed expression 
29 # (surrounded by curley braces), or a string 
30 # (surrounded by double quotes.)
31 #
32 # Immediate expressions are evaluated at the time an
33 # option is defined or set and the numeric result 
34 # becomes the value of the option.
35 #
36 # Delayed expression are evaluated at the time the 
37 # option is used, either in another expression or 
38 # when being exported.
39 #
40 # String values will have the double quotes removed 
41 # automatically. 
42 #
43 # Format strings determine the print format that is 
44 # used when exporting options. The default format
45 # is "%s" for strings and "%d" for numbers.
46 #
47 # Exported options generate entries in the 
48 # Makefile.settings file. Options can be always 
49 # exported, exported only if used, or never exported.
50 #
51 # A comment string must be supplied for every option.
52 #
53 #######################################################
54
55 ###############################################
56 # Architecture options
57 ###############################################
58
59 define ARCH
60         default "i386"
61         export always
62         comment "Default architecture is i386, options are alpha and ppc"
63 end
64 define k7
65         default none
66         export used
67         comment "We're a k7"
68 end
69 define k8
70         default none
71         export used
72         comment "We're a k8"
73 end
74 define i586
75         default none
76         export used
77         comment "We're a 586"
78 end
79 define i686
80         default none
81         export used
82         comment "We're a 686"
83 end
84 define i786
85         default none
86         export used
87         comment "We're a 786"
88 end
89 define CPU_FIXUP
90         default none
91         export used
92         comment "Do CPU fixups"
93 end
94
95 ###############################################
96 # Build options
97 ###############################################
98
99 define CROSS_COMPILE
100         default ""
101         export always
102         comment "Cross compiler prefix"
103 end
104 define CC
105         default "$(CROSS_COMPILE)gcc"
106         export always
107         comment "Target C Compiler"
108 end
109 define HOSTCC
110         default "gcc"
111         export always
112         comment "Host C Compiler"
113 end
114 define CPU_OPT
115         default none
116         export used
117         comment "Additional per-cpu CFLAGS"
118 end
119 define OBJCOPY
120         default "$(CROSS_COMPILE)objcopy"
121         export always
122         comment "Objcopy command"
123 end
124 define LINUXBIOS_VERSION
125         default "1.1.7"
126         export always
127         format "\"%s\""
128         comment "LinuxBIOS version"
129 end
130 define LINUXBIOS_EXTRA_VERSION
131         default ""
132         export used
133         format "\"%s\""
134         comment "LinuxBIOS extra version"
135 end
136 define LINUXBIOS_BUILD
137         default "$(shell date)"
138         export always
139         format "\"%s\""
140         comment "Build date"
141 end
142 define LINUXBIOS_COMPILE_TIME
143         default "$(shell date +%T)"
144         export always
145         format "\"%s\""
146         comment "Build time"
147 end
148 define LINUXBIOS_COMPILE_BY
149         default "$(shell whoami)"
150         export always
151         format "\"%s\""
152         comment "Who build this image"
153 end
154 define LINUXBIOS_COMPILE_HOST
155         default "$(shell hostname)"
156         export always
157         format "\"%s\""
158         comment "Build host"
159 end
160
161 define LINUXBIOS_COMPILE_DOMAIN
162         default "$(shell dnsdomainname)"
163         export always
164         format "\"%s\""
165         comment "Build domain name"
166 end
167 define LINUXBIOS_COMPILER
168         default "$(shell $(CC) $(CFLAGS) -v 2>&1 | tail -n 1)"
169         export always
170         format "\"%s\""
171         comment "Build compiler"
172 end
173 define LINUXBIOS_LINKER
174         default "$(shell  $(CC) -Wl,-v 2>&1 | grep version | tail -n 1)"
175         export always
176         format "\"%s\""
177         comment "Build linker"
178 end
179 define LINUXBIOS_ASSEMBLER
180         default "$(shell  touch dummy.s ; $(CC) -c -Wa,-v dummy.s 2>&1; rm -f dummy.s dummy.o )"
181         export always
182         format "\"%s\""
183         comment "Build assembler"
184 end
185 define CONFIG_CHIP_CONFIGURE
186         default 0
187         export used
188         comment "Use new chip_configure method for configuring (non-pci) devices"
189 end
190 define CONFIG_USE_INIT
191         default 0
192         export used
193         comment "Use stage 1 initialization code"
194 end
195
196 ###############################################
197 # ROM image options
198 ###############################################
199
200 define HAVE_FALLBACK_BOOT
201         format "%d"
202         default 0
203         export always
204         comment "Set if fallback booting required"
205 end
206 define USE_FALLBACK_IMAGE
207         format "%d"
208         default 0
209         export used
210         comment "Set to build a fallback image"
211 end
212 define FALLBACK_SIZE
213         default 65536
214         format "0x%x"
215         export used
216         comment "Default fallback image size"
217 end
218 define ROM_SIZE
219         default none
220         format "0x%x"
221         export used
222         comment "Size of your ROM"
223 end
224 define ROM_IMAGE_SIZE
225         default 65535
226         format "0x%x"
227         export always
228         comment "Default image size"
229 end
230 define ROM_SECTION_SIZE
231         default {FALLBACK_SIZE}
232         format "0x%x"
233         export used
234         comment "Default rom section size"
235 end
236 define ROM_SECTION_OFFSET
237         default {ROM_SIZE - FALLBACK_SIZE}
238         format "0x%x"
239         export used
240         comment "Default rom section offset"
241 end
242 define PAYLOAD_SIZE
243         default {ROM_SECTION_SIZE - ROM_IMAGE_SIZE}
244         format "0x%x"
245         export always
246         comment "Default payload size"
247 end
248 define _ROMBASE
249         default {PAYLOAD_SIZE}
250         format "0x%x"
251         export always
252         comment "Base address of LinuxBIOS in ROM"
253 end
254 define _ROMSTART
255         default none
256         format "0x%x"
257         export used
258         comment "Start address of LinuxBIOS in ROM"
259 end
260 define _RESET
261         default {_ROMBASE}
262         format "0x%x"
263         export always
264         comment "Hardware reset vector address"
265 end
266 define _EXCEPTION_VECTORS
267         default {_ROMBASE+0x100}
268         format "0x%x"
269         export always
270         comment "Address of exception vector table"
271 end
272 define STACK_SIZE
273         default 0x2000
274         format "0x%x"
275         export always
276         comment "Default stack size"
277 end
278 define HEAP_SIZE
279         default 0x2000
280         format "0x%x"
281         export always
282         comment "Default heap size"
283 end
284 define _RAMBASE
285         default none
286         format "0x%x"
287         export always
288         comment "Base address of LinuxBIOS in RAM"
289 end
290 define _RAMSTART
291         default none
292         format "0x%x"
293         export used
294         comment "Start address of LinuxBIOS in RAM"
295 end
296 define USE_DCACHE_RAM
297         default 0
298         export used
299         comment "Use data cache as temporary RAM if possible"
300 end
301 define DCACHE_RAM_BASE
302         default none
303         format "0x%x"
304         export used
305         comment "Base address of data cache when using it for temporary RAM"
306 end
307 define DCACHE_RAM_SIZE
308         default none
309         format "0x%x"
310         export used
311         comment "Size of data cache when using it for temporary RAM"
312 end
313 define XIP_ROM_BASE
314         default 0
315         format "0x%x"
316         export used
317         comment "Start address of area to cache during LinuxBIOS execution directly from ROM"
318 end
319 define XIP_ROM_SIZE
320         default 0
321         format "0x%x"
322         export used
323         comment "Size of area to cache during LinuxBIOS execution directly from ROM"
324 end
325 define CONFIG_COMPRESS
326         default 1
327         export always
328         comment "Set for compressed image"
329 end
330 define CONFIG_UNCOMPRESSED
331         format "%d"
332         default {!CONFIG_COMPRESS}
333         export always
334         comment "Set for uncompressed image"
335 end
336 define CONFIG_LB_MEM_TOPK
337         format "%d"
338         default 1024
339         export always
340         comment "Kilobytes of memory to initialized before executing code from RAM"
341 end
342 define HAVE_OPTION_TABLE
343         default 0
344         export always
345         comment "Export CMOS option table"
346 end
347 define USE_OPTION_TABLE
348         format "%d"
349         default {HAVE_OPTION_TABLE && !USE_FALLBACK_IMAGE}
350         export always
351         comment "Use option table"
352 end
353
354 ###############################################
355 # CMOS variable options
356 ###############################################
357 define LB_CKS_RANGE_START
358         default 49
359         format "%d"
360         export always
361         comment "First CMOS byte to use for LinuxBIOS options"
362 end
363 define LB_CKS_RANGE_END
364         default 125
365         format "%d"
366         export always
367         comment "Last CMOS byte to use for LinuxBIOS options"
368 end
369 define LB_CKS_LOC
370         default 126
371         format "%d"
372         export always
373         comment "Pair of bytes to use for CMOS checksum"
374 end
375
376
377 ###############################################
378 # Build targets
379 ###############################################
380
381 define CRT0
382         default "$(TOP)/src/arch/$(ARCH)/init/crt0.S.lb"
383         export always
384         comment "Main initialization target"
385 end
386
387 ###############################################
388 # Debugging/Logging options
389 ###############################################
390
391 define DEBUG
392         default 1
393         export always
394         comment "Enable debugging code"
395 end
396 define CONFIG_CONSOLE_VGA
397         default 0
398         export always
399         comment "Log messages to VGA"
400 end
401 define CONFIG_CONSOLE_BTEXT
402         default 0
403         export always
404         comment "Log messages to btext fb console"
405 end
406 define CONFIG_CONSOLE_LOGBUF
407         default 0
408         export always
409         comment "Log messages to buffer"
410 end
411 define CONFIG_CONSOLE_SROM
412         default 0
413         export always
414         comment "Log messages to SROM console"
415 end
416 define CONFIG_CONSOLE_SERIAL8250
417         default 0
418         export always
419         comment "Log messages to 8250 uart based serial console"
420 end
421 define DEFAULT_CONSOLE_LOGLEVEL
422         default 7
423         export always
424         comment "Console will log at this level unless changed"
425 end
426 define MAXIMUM_CONSOLE_LOGLEVEL
427         default 8
428         export always
429         comment "Error messages up to this level can be printed"
430 end
431 define CONFIG_SERIAL_POST
432         default 0
433         export always
434         comment "Enable SERIAL POST codes"
435 end
436 define NO_POST
437         default none
438         export used
439         comment "Disable POST codes"
440 end
441 define TTYS0_BASE
442         default 0x3f8
443         format "0x%x"
444         export always
445         comment "Base address for 8250 uart for the serial console"
446 end
447 define TTYS0_BAUD
448         default 115200
449         export always
450         comment "Default baud rate for serial console"
451 end
452 define TTYS0_DIV
453         default none
454         format "%d"
455         export used
456         comment "Allow UART divisor to be set explicitly"
457 end
458 define TTYS0_LCS
459         default 0x3
460         format "0x%x"
461         export always
462         comment "Default flow control settings for the 8250 serial console uart"
463 end
464         
465 ###############################################
466 # Mainboard options
467 ###############################################
468
469 define MAINBOARD
470         default "Mainboard_not_set"
471         export always
472         comment "Mainboard name"
473 end
474 define MAINBOARD_PART_NUMBER
475         default "Part_number_not_set"
476         export always
477         format "\"%s\""
478         comment "Part number of mainboard"
479 end
480 define MAINBOARD_VENDOR
481         default "Vendor_not_set"
482         export always
483         format "\"%s\""
484         comment "Vendor of mainboard"
485 end
486 define MAINBOARD_PCI_SUBSYSTEM_VENDOR_ID
487         default 0
488         export always
489         comment "PCI Vendor ID of mainboard manufacturer"
490 end
491 define MAINBOARD_PCI_SUBSYSTEM_DEVICE_ID
492         default 0
493         format "0x%x"
494         export always
495         comment "PCI susbsystem device id assigned my mainboard manufacturer"
496 end
497 define MAINBOARD_POWER_ON_AFTER_POWER_FAIL
498         default none
499         export used
500         comment "Default power on after power fail setting"
501 end
502 define CONFIG_SYS_CLK_FREQ
503         default none
504         export used
505         comment "System clock frequency in MHz"
506 end
507 define CONFIG_LEGACY_VGABIOS
508         default 0
509         export used
510         comment "Support for legacy VGA BIOS"
511 end
512 define VGABIOS_START
513         default 0
514         export used
515         comment "Base of Legacy VGA in Rom"
516 end
517 ###############################################
518 # SMP options
519 ###############################################
520
521 define CONFIG_SMP
522         default 0
523         export always
524         comment "Define if we support SMP"
525 end
526 define CONFIG_MAX_CPUS
527         default 1
528         export always
529         comment "Maximum CPU count for this machine"
530 end
531 define CONFIG_LOGICAL_CPUS
532         default 0
533         export always
534         comment "Should multiple cpus per die be enabled?"
535 end
536 define HAVE_MP_TABLE
537         default none
538         export used
539         comment "Define to build an MP table"
540 end
541
542 ###############################################
543 # Boot options
544 ###############################################
545
546 define CONFIG_IDE_STREAM
547         default 0
548         export always
549         comment "Boot from IDE device"
550 end
551 define CONFIG_ROM_STREAM
552         default 0
553         export always
554         comment "Boot image is located in ROM" 
555 end
556 define CONFIG_ROM_STREAM_START
557         default {0xffffffff - ROM_SIZE + ROM_SECTION_OFFSET + 1}
558         format "0x%x"
559         export always
560         comment "ROM stream start location"
561 end
562 define CONFIG_FS_STREAM
563         default 0
564         export always
565         comment "Boot from a filesystem"
566 end
567 define CONFIG_FS_EXT2
568         default 0
569         export always
570         comment "Enable ext2 filesystem support"
571 end
572 define CONFIG_FS_ISO9660
573         default 0
574         export always
575         comment "Enable ISO9660 filesystem support"
576 end
577 define CONFIG_FS_FAT
578         default 0
579         export always
580         comment "Enable FAT filesystem support"
581 end
582 define AUTOBOOT_DELAY
583         default 2
584         export always
585         comment "Delay (in seconds) before autobooting"
586 end
587 define AUTOBOOT_CMDLINE
588         default "hdc1:/vmlinuz root=/dev/hdc3 console=tty0 console=ttyS0,115200"
589         export always
590         format "\"%s\""
591         comment "Default command line when autobooting"
592 end
593
594 ###############################################
595 # IRQ options
596 ###############################################
597
598 define HAVE_PIRQ_TABLE
599         default none
600         export used
601         comment "Define if we have a PIRQ table"
602 end
603 define IRQ_SLOT_COUNT
604         default none
605         export used
606         comment "Number of IRQ slots"
607 end
608 define CONFIG_PCIBIOS_IRQ
609         default none
610         export used
611         comment "PCIBIOS IRQ support"
612 end
613 define CONFIG_IOAPIC
614         default none
615         export used
616         comment "IOAPIC support"
617 end
618
619 ###############################################
620 # IDE specific options
621 ###############################################
622
623 define CONFIG_IDE
624         default 0
625         export always
626         comment "Define to include IDE support"
627 end
628 define IDE_BOOT_DRIVE
629         default 0
630         export always
631         comment "Disk number of boot drive"
632 end
633 define IDE_SWAB
634         default none
635         export used
636         comment "Swap bytes when reading from IDE device"
637 end
638 define IDE_OFFSET
639         default 0
640         export always
641         comment "Sector at which to start searching for boot image"
642 end
643
644 ###############################################
645 # Options for memory mapped I/O
646 ###############################################
647
648 define PCIC0_CFGADDR
649         default none
650         format "0x%x"
651         export used
652         comment "Address of PCI Configuration Address Register"
653 end
654 define PCIC0_CFGDATA
655         default none
656         format "0x%x"
657         export used
658         comment "Address of PCI Configuration Data Register"
659 end
660 define ISA_IO_BASE
661         default none
662         format "0x%x"
663         export used
664         comment "Base address of PCI/ISA I/O address range"
665 end
666 define ISA_MEM_BASE
667         default none
668         format "0x%x"
669         export used
670         comment "Base address of PCI/ISA memory address range"
671 end
672 define PNP_CFGADDR
673         default none
674         format "0x%x"
675         export used
676         comment "PNP Configuration Address Register offset"
677 end
678 define PNP_CFGDATA
679         default none
680         format "0x%x"
681         export used
682         comment "PNP Configuration Data Register offset"
683 end
684 define _IO_BASE
685         default none
686         format "0x%x"
687         export used
688         comment "Base address of memory mapped I/O operations"
689 end
690
691 ###############################################
692 # Options for embedded systems
693 ###############################################
694
695 define EMBEDDED_RAM_SIZE
696         default none
697         export used
698         comment "Embedded boards generally have fixed RAM size"
699 end
700
701 ###############################################
702 # Misc options
703 ###############################################
704
705 define HAVE_HARD_RESET
706         default none
707         export used
708         comment "Have hard reset"
709 end
710 define HARD_RESET_BUS
711         default 1
712         export always
713         comment "Bus number of southbridge device doing reset"
714 end
715 define HARD_RESET_DEVICE
716         default 5
717         export always
718         comment "Device number of southbridge device doing reset"
719 end
720 define HARD_RESET_FUNCTION
721         default 0
722         export always
723         comment "Function number of southbridge device doing reset"
724 end
725 define MEMORY_HOLE
726         default none
727         export used
728         comment "Set to deal with memory hole"
729 end
730 define MAX_REBOOT_CNT
731         default 3
732         export always
733         comment "Set maximum reboots"
734 end
735
736 ###############################################
737 # Misc device options
738 ###############################################
739
740 define CONFIG_TSC_X86RDTSC_CALIBRATE_WITH_TIMER2
741         default 0
742         export used
743         comment "Use timer2 to callibrate the x86 time stamp counter"
744 end
745 define INTEL_PPRO_MTRR
746         default none
747         export used
748         comment ""
749 end
750 define CONFIG_UDELAY_TSC
751         default 0
752         export used
753         comment "Implement udelay with the x86 time stamp counter"
754 end
755 define FAKE_SPDROM
756         default 0
757         export always
758         comment "Use this to fake spd rom values"
759 end
760
761 define HAVE_ACPI_TABLES
762         default 0
763         export always
764         comment "Define to build ACPI tables"
765 end
766
767 define AGP_APERTURE_SIZE
768         default none
769         export used
770         format "0x%x"
771         comment "AGP graphics virtual memory aperture size"
772 end
773
774 ###############################################
775 # Board specific options
776 ###############################################
777
778 ###############################################
779 # Options for motorola/sandpoint
780 ###############################################
781 define CONFIG_SANDPOINT_ALTIMUS
782         default 0
783         export never
784         comment "Configure Sandpoint with Altimus PMC"
785 end
786 define CONFIG_SANDPOINT_TALUS
787         default 0
788         export never
789         comment "Configure Sandpoint with Talus PMC"
790 end
791 define CONFIG_SANDPOINT_UNITY
792         default 0
793         export never
794         comment "Configure Sandpoint with Unity PMC"
795 end
796 define CONFIG_SANDPOINT_VALIS
797         default 0
798         export never
799         comment "Configure Sandpoint with Valis PMC"
800 end
801 define CONFIG_SANDPOINT_GYRUS
802         default 0
803         export never
804         comment "Configure Sandpoint with Gyrus PMC"
805 end
806
807 ###############################################
808 # Options for totalimpact/briq
809 ###############################################
810 define CONFIG_BRIQ_750FX
811         default 0
812         export never
813         comment "Configure briQ with PowerPC 750FX"
814 end
815 define CONFIG_BRIQ_7400
816         default 0
817         export never
818         comment "Configure briQ with PowerPC G4"
819 end