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