cleaning out motherboard specific changes from the generic directories.
[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 always
67         comment "We're a k7"
68 end
69 define k8
70         default none
71         export always
72         comment "We're a k8"
73 end
74 define i586
75         default none
76         export always
77         comment "We're a 586"
78 end
79 define i686
80         default none
81         export always
82         comment "We're a 686"
83 end
84 define CPU_FIXUP
85         default none
86         export always
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.0"
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 ""
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
176 ###############################################
177 # ROM image options
178 ###############################################
179
180 define HAVE_FALLBACK_BOOT
181         default 0
182         export always
183         comment "Set if fallback booting required"
184 end
185 define USE_FALLBACK_IMAGE
186         default 0
187         export used
188         comment "Set to build a fallback image"
189 end
190 define USE_NORMAL_IMAGE
191         format "%d"
192         default {!USE_FALLBACK_IMAGE}
193         export used
194         comment "Set to build a normal image"
195 end
196 define FALLBACK_SIZE
197         default 65536
198         format "0x%x"
199         export used
200         comment "Default fallback image size"
201 end
202 define ROM_SIZE
203         default 262144
204         format "0x%x"
205         export used
206         comment "Size of your ROM"
207 end
208 define ROM_IMAGE_SIZE
209         default 65535
210         format "0x%x"
211         export always
212         comment "Default image size"
213 end
214 define ROM_SECTION_SIZE
215         default {FALLBACK_SIZE}
216         format "0x%x"
217         export used
218         comment "Default rom section size"
219 end
220 define ROM_SECTION_OFFSET
221         default {ROM_SIZE - FALLBACK_SIZE}
222         format "0x%x"
223         export used
224         comment "Default rom section offset"
225 end
226 define PAYLOAD_SIZE
227         default {ROM_SECTION_SIZE - ROM_IMAGE_SIZE}
228         format "0x%x"
229         export always
230         comment "Default payload size"
231 end
232 define _ROMBASE
233         default {PAYLOAD_SIZE}
234         format "0x%x"
235         export always
236         comment "Base address of LinuxBIOS in ROM"
237 end
238 define _RESET
239         default {_ROMBASE}
240         format "0x%x"
241         export always
242         comment "Hardware reset vector address"
243 end
244 define STACK_SIZE
245         default 0x2000
246         format "0x%x"
247         export always
248         comment "Default stack size"
249 end
250 define HEAP_SIZE
251         default 0x2000
252         format "0x%x"
253         export used
254         comment "Default heap size"
255 end
256 define _RAMBASE
257         default none
258         format "0x%x"
259         export always
260         comment "Base address of LinuxBIOS in RAM"
261 end
262 define USE_CACHE_RAM
263         default 0
264         export used
265         comment "Use cache as temporary RAM if possible"
266 end
267 define CACHE_RAM_BASE
268         default 0x00200000
269         format "0x%x"
270         export always
271         comment "Base address of cache when using it for temporary RAM"
272 end
273 define CACHE_RAM_SIZE
274         default 0x00004000
275         format "0x%x"
276         export always
277         comment "Size of cache when using it for temporary RAM"
278 end
279 define XIP_ROM_BASE
280         default 0xffff8000
281         format "0x%x"
282         export used
283         comment "base address of range of ROM that can be cached to speed up linuxBIOS"
284 end
285 define XIP_ROM_SIZE
286         default 0x8000
287         format "0x%x"
288         export used
289         comment "size of range of ROM that can be cached to speed up linuxBIOS"
290 end
291 define CONFIG_COMPRESS
292         default 1
293         export always
294         comment "Set for compressed image"
295 end
296 define CONFIG_UNCOMPRESSED
297         format "%d"
298         default {!CONFIG_COMPRESS}
299         export always
300         comment "Set for uncompressed image"
301 end
302 define HAVE_OPTION_TABLE
303         default 0
304         export always
305         comment "Export CMOS option table"
306 end
307 define USE_OPTION_TABLE
308         format "%d"
309         default {HAVE_OPTION_TABLE && !USE_FALLBACK_IMAGE}
310         export always
311         comment "Use option table"
312 end
313
314 ###############################################
315 # Build targets
316 ###############################################
317
318 define CRT0
319         default "$(TOP)/src/arch/$(ARCH)/config/crt0.base"
320         export always
321         comment "Main initialization target"
322 end
323
324 ###############################################
325 # Debugging/Logging options
326 ###############################################
327
328 define DEBUG
329         default 1
330         export always
331         comment "Enable debugging code"
332 end
333 define CONFIG_CONSOLE_VGA
334         default 0
335         export always
336         comment "Log messages to VGA"
337 end
338 define CONFIG_CONSOLE_LOGBUF
339         default 0
340         export always
341         comment "Log messages to buffer"
342 end
343 define CONFIG_CONSOLE_SROM
344         default 0
345         export always
346         comment "Log messages to SROM console"
347 end
348 define CONFIG_CONSOLE_SERIAL8250
349         default 0
350         export always
351         comment "Log messages to serial 8250 console"
352 end
353 define SERIAL_CONSOLE
354         default none
355         export used
356         comment "Log messages to serial console"
357 end
358
359 define DEFAULT_CONSOLE_LOGLEVEL
360         default 7
361         export always
362         comment "Console will log at this level unless changed"
363 end
364
365 define MAXIMUM_CONSOLE_LOGLEVEL
366         default 8
367         export always
368         comment "Error messages up to this level can be printed"
369 end
370
371 define NO_POST
372         default none
373         export always
374         comment "Disable POST codes"
375 end
376 define TTYS0_BAUD
377         default 115200
378         export always
379         comment "Default baud rate for serial console"
380 end
381 define NO_KEYBOARD
382         default none
383         export never
384         comment "Set if we don't have a keyboard"
385 end
386
387 ###############################################
388 # Mainboard options
389 ###############################################
390
391 define MAINBOARD
392         default "Mainboard_not_set"
393         export always
394         comment "Mainboard name"
395 end
396 define MAINBOARD_PART_NUMBER
397         default "Part_number_not_set"
398         export always
399         comment "Part number of mainboard"
400 end
401 define MAINBOARD_VENDOR
402         default "Vendor_not_set"
403         export always
404         comment "Vendor of mainboard"
405 end
406 define FINAL_MAINBOARD_FIXUP
407         default 0
408         export used
409         comment "Do final mainboard fixups"
410 end
411 define CONFIG_SYS_CLK_FREQ
412         default none
413         export used
414         comment "System clock frequency in MHz"
415 end
416
417 ###############################################
418 # SMP options
419 ###############################################
420
421 define CONFIG_SMP
422         default 0
423         export always
424         comment "Define if we support SMP"
425 end
426 define CONFIG_MAX_CPUS
427         default 1
428         export always
429         comment "Config CPU count for this machine"
430 end
431 define MAX_CPUS
432         default 1
433         export always
434         comment "CPU count for this machine"
435 end
436 define CONFIG_LOGICAL_CPUS
437         default 1
438         export always
439         comment "Logical CPU count for this machine"
440 end
441 define MAX_PHYSICAL_CPUS
442         default 1
443         export always
444         comment "Physical CPU count for this machine"
445 end
446 define HAVE_MP_TABLE
447         default none
448         export always
449         comment "Define to build an MP table"
450 end
451
452 ###############################################
453 # Boot options
454 ###############################################
455
456 define USE_ELF_BOOT
457         default none
458         export always
459         comment "Use ELF boot loader"
460 end
461 define CONFIG_IDE_STREAM
462         default 0
463         export always
464         comment "Boot from IDE device"
465 end
466 define CONFIG_ROM_STREAM
467         default 0
468         export always
469         comment "Boot image is located in ROM" 
470 end
471 define CONFIG_ROM_STREAM_START
472         default {0xffffffff - ROM_SIZE + ROM_SECTION_OFFSET + 1}
473         format "0x%x"
474         export always
475         comment "ROM stream start location"
476 end
477
478 ###############################################
479 # IRQ options
480 ###############################################
481
482 define HAVE_PIRQ_TABLE
483         default none
484         export always
485         comment "Define if we have a PIRQ table"
486 end
487 define IRQ_SLOT_COUNT
488         default none
489         export always
490         comment "Number of IRQ slots"
491 end
492 define CONFIG_PCIBIOS_IRQ
493         default none
494         export always
495         comment "PCIBIOS IRQ support"
496 end
497 define CONFIG_IOAPIC
498         default none
499         export always
500         comment "IOAPIC support"
501 end
502
503 ###############################################
504 # IDE specific options
505 ###############################################
506
507 define IDE_BOOT_DRIVE
508         default 0
509         export always
510         comment "Disk number of boot drive"
511 end
512 define IDE_SWAB
513         default none
514         export always
515         comment "Swap bytes when reading from IDE device"
516 end
517 define IDE_OFFSET
518         default 0
519         export always
520         comment "Sector at which to start searching for boot image"
521 end
522
523 ###############################################
524 # SMBUS options
525 ###############################################
526
527 define SMBUS_MEM_DEVICE_START
528         default (0xa << 3)
529         export always
530         comment "Start address of SMBUS device"
531 end
532 define SMBUS_MEM_DEVICE_END
533         default {SMBUS_MEM_DEVICE_START +1}
534         export always
535         comment "End address of SMBUS device"
536 end
537 define SMBUS_MEM_DEVICE_INC
538         default 1
539         export always
540         comment "Increment value SMBUS"
541 end
542
543 ###############################################
544 # SuperIO options
545 ###############################################
546
547 define SIO_BASE
548         default none
549         export used
550         comment "Superio base address"
551 end
552 define SIO_SYSTEM_CLK_INPUT
553         default none
554         export used
555         comment "Superio CLK input default"
556 end
557
558 ###############################################
559 # Misc options
560 ###############################################
561
562 define HAVE_HARD_RESET
563         default none
564         export used
565         comment "Have hard reset"
566 end
567 define MEMORY_HOLE
568         default none
569         export used
570         comment "Set to deal with memory hole"
571 end
572 define ENABLE_FIXED_AND_VARIABLE_MTRRS
573         default none
574         export used
575         comment "Enable fixed and variable mtrrs"
576 end
577 define START_CPU_SEG
578         default 0xf0000
579         format "0x%x"
580         export always
581         comment "Start CPU segment"
582 end
583 define MAX_REBOOT_CNT
584         default 2
585         export always
586         comment "Set maximum reboots"
587 end
588 define DISABLE_WATCHDOG
589         default {MAXIMUM_CONSOLE_LOGLEVEL >= 8}
590         export used
591         comment "Disable watchdog if we're doing lots of output"
592 end
593 define ENABLE_IOMMU
594         default 1
595         export used
596         comment "Enable IOMMU aperture"
597 end
598
599 ###############################################
600 # Misc device options
601 ###############################################
602
603 define CONFIG_TSC_X86RDTSC_CALIBRATE_WITH_TIMER2
604         default none
605         export used
606         comment ""
607 end
608 define INTEL_PPRO_MTRR
609         default none
610         export always
611         comment ""
612 end
613 define AMD8111_DEV
614         default 0x3800
615         format "0x%x"
616         export used
617         comment ""
618 end
619 define CONFIG_UDELAY_TSC
620         default 0
621         export used
622         comment ""
623 end
624
625 ###############################################
626 # Board specifig options
627 ###############################################
628
629 ###############################################
630 # Options for motorola/sandpoint
631 ###############################################
632 define CONFIG_SANDPOINT_ALTIMUS
633         default 0
634         export never
635         comment "Configure Sandpoint with Altimus PMC"
636 end
637 define CONFIG_SANDPOINT_TALUS
638         default 0
639         export never
640         comment "Configure Sandpoint with Talus PMC"
641 end
642 define CONFIG_SANDPOINT_UNITY
643         default 0
644         export never
645         comment "Configure Sandpoint with Unity PMC"
646 end
647 define CONFIG_SANDPOINT_VALIS
648         default 0
649         export never
650         comment "Configure Sandpoint with Valis PMC"
651 end
652 define CONFIG_SANDPOINT_GYRUS
653         default 0
654         export never
655         comment "Configure Sandpoint with Gyrus PMC"
656 end