vga support
[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.4"
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
176 ###############################################
177 # ROM image options
178 ###############################################
179
180 define HAVE_FALLBACK_BOOT
181         format "%d"
182         default 0
183         export always
184         comment "Set if fallback booting required"
185 end
186 define USE_FALLBACK_IMAGE
187 <<<<<<< Options.lb
188         format "%d"
189         default 0
190 =======
191         default 1
192 >>>>>>> 1.23
193         export used
194         comment "Set to build a fallback 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 none
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 0
281         format "0x%x"
282         export used
283         comment "Start address of area to cache during LinuxBIOS execution directly from ROM"
284 end
285 define XIP_ROM_SIZE
286         default 0
287         format "0x%x"
288         export used
289         comment "Size of area to cache during LinuxBIOS execution directly from ROM"
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 8250 uart based serial console"
352 end
353 define DEFAULT_CONSOLE_LOGLEVEL
354         default 7
355         export always
356         comment "Console will log at this level unless changed"
357 end
358
359 define MAXIMUM_CONSOLE_LOGLEVEL
360         default 8
361         export always
362         comment "Error messages up to this level can be printed"
363 end
364
365 define NO_POST
366         default none
367         export always
368         comment "Disable POST codes"
369 end
370
371 define TTYS0_BASE
372         default 0x3f8
373         export always
374         comment "Base address for 8250 uart for the serial console"
375 end
376
377 define TTYS0_BAUD
378         default 115200
379         export always
380         comment "Default baud rate for serial console"
381 end
382
383 define TTYS0_LCS
384         default 0x3
385         export always
386         comment "Default flow control settings for the 8250 serial console uart"
387 end
388         
389 ###############################################
390 # Mainboard options
391 ###############################################
392
393 define MAINBOARD
394         default "Mainboard_not_set"
395         export always
396         comment "Mainboard name"
397 end
398 define MAINBOARD_PART_NUMBER
399         default "Part_number_not_set"
400         export always
401         comment "Part number of mainboard"
402 end
403 define MAINBOARD_VENDOR
404         default "Vendor_not_set"
405         export always
406         comment "Vendor of mainboard"
407 end
408 define CONFIG_SYS_CLK_FREQ
409         default none
410         export used
411         comment "System clock frequency in MHz"
412 end
413
414 define CONFIG_KEYBOARD
415         default 0
416         export used
417         comment "Run PC keyboard enable code"
418 end
419
420 define CONFIG_LEGACY_VGABIOS
421         default 0
422         export used
423         comment "Support for legacy VGA BIOS"
424 end
425 ###############################################
426 # SMP options
427 ###############################################
428
429 define CONFIG_SMP
430         default 0
431         export always
432         comment "Define if we support SMP"
433 end
434 define CONFIG_MAX_CPUS
435         default 1
436         export always
437         comment "Maximum CPU count for this machine"
438 end
439 define CONFIG_MAX_PHYSICAL_CPUS
440         default {CONFIG_MAX_CPUS}
441         export always
442         comment "Physical CPU count for this machine"
443 end
444 define CONFIG_LOGICAL_CPUS
445         default 0
446         export always
447         comment "Should multiple cpus per die be enabled?"
448 end
449 define HAVE_MP_TABLE
450         default none
451         export always
452         comment "Define to build an MP table"
453 end
454
455 ###############################################
456 # Boot options
457 ###############################################
458
459 define CONFIG_IDE_STREAM
460         default 0
461         export always
462         comment "Boot from IDE device"
463 end
464 define CONFIG_ROM_STREAM
465         default 0
466         export always
467         comment "Boot image is located in ROM" 
468 end
469 define CONFIG_ROM_STREAM_START
470         default {0xffffffff - ROM_SIZE + ROM_SECTION_OFFSET + 1}
471         format "0x%x"
472         export always
473         comment "ROM stream start location"
474 end
475
476 ###############################################
477 # IRQ options
478 ###############################################
479
480 define HAVE_PIRQ_TABLE
481         default none
482         export always
483         comment "Define if we have a PIRQ table"
484 end
485 define IRQ_SLOT_COUNT
486         default none
487         export always
488         comment "Number of IRQ slots"
489 end
490 define CONFIG_PCIBIOS_IRQ
491         default none
492         export always
493         comment "PCIBIOS IRQ support"
494 end
495 define CONFIG_IOAPIC
496         default none
497         export always
498         comment "IOAPIC support"
499 end
500
501 ###############################################
502 # IDE specific options
503 ###############################################
504
505 define IDE_BOOT_DRIVE
506         default 0
507         export always
508         comment "Disk number of boot drive"
509 end
510 define IDE_SWAB
511         default none
512         export always
513         comment "Swap bytes when reading from IDE device"
514 end
515 define IDE_OFFSET
516         default 0
517         export always
518         comment "Sector at which to start searching for boot image"
519 end
520
521 ###############################################
522 # SMBUS options
523 ###############################################
524
525 define SMBUS_MEM_DEVICE_START
526         default (0xa << 3)
527         export always
528         comment "Start address of SMBUS device"
529 end
530 define SMBUS_MEM_DEVICE_END
531         default {SMBUS_MEM_DEVICE_START +1}
532         export always
533         comment "End address of SMBUS device"
534 end
535 define SMBUS_MEM_DEVICE_INC
536         default 1
537         export always
538         comment "Increment value SMBUS"
539 end
540
541 ###############################################
542 # Misc options
543 ###############################################
544
545 define HAVE_HARD_RESET
546         default none
547         export used
548         comment "Have hard reset"
549 end
550 define MEMORY_HOLE
551         default none
552         export used
553         comment "Set to deal with memory hole"
554 end
555 define MAX_REBOOT_CNT
556         default 3
557         export always
558         comment "Set maximum reboots"
559 end
560
561 ###############################################
562 # Misc device options
563 ###############################################
564
565 define CONFIG_TSC_X86RDTSC_CALIBRATE_WITH_TIMER2
566         default 0
567         export used
568         comment "Use timer2 to callibrate the x86 time stamp counter"
569 end
570 define INTEL_PPRO_MTRR
571         default none
572         export always
573         comment ""
574 end
575 define CONFIG_UDELAY_TSC
576         default 0
577         export used
578         comment "Implement udelay with the x86 time stamp counter"
579 end
580
581 ###############################################
582 # Board specific options
583 ###############################################
584
585 ###############################################
586 # Options for motorola/sandpoint
587 ###############################################
588 define CONFIG_SANDPOINT_ALTIMUS
589         default 0
590         export never
591         comment "Configure Sandpoint with Altimus PMC"
592 end
593 define CONFIG_SANDPOINT_TALUS
594         default 0
595         export never
596         comment "Configure Sandpoint with Talus PMC"
597 end
598 define CONFIG_SANDPOINT_UNITY
599         default 0
600         export never
601         comment "Configure Sandpoint with Unity PMC"
602 end
603 define CONFIG_SANDPOINT_VALIS
604         default 0
605         export never
606         comment "Configure Sandpoint with Valis PMC"
607 end
608 define CONFIG_SANDPOINT_GYRUS
609         default 0
610         export never
611         comment "Configure Sandpoint with Gyrus PMC"
612 end