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