a27b15ed8c11759a46357a10f0a6a4e3fd3e9479
[coreboot.git] / src / config / Options.lb
1 #######################################################
2 #
3 # Main options file for coreboot
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 --gap-fill 0xff"
96         export always
97         comment "Objcopy command"
98 end
99
100 # Try to determine svn revision first.
101 # If that fails, try last svn revision in git log.
102 define COREBOOT_VERSION
103         default "2.0.0-r$(shell if [ -d $(TOP)/.svn -a -f `which svnversion` ]; then svnversion $(TOP); else if [ -d $(TOP)/.git -a -f `which git` ]; then git --git-dir=/$(TOP)/.git log|grep git-svn-id|cut -f 2 -d@|cut -f 1 -d' '|sort -g|tail -1; fi; fi)"
104         export always
105         format "\"%s\""
106         comment "coreboot version"
107 end
108 define COREBOOT_EXTRA_VERSION
109         default ""
110         export used
111         format "\"%s\""
112         comment "coreboot extra version"
113 end
114 define COREBOOT_BUILD
115         default "$(shell date)"
116         export always
117         format "\"%s\""
118         comment "Build date"
119 end
120 define COREBOOT_COMPILE_TIME
121         default "$(shell date +%T)"
122         export always
123         format "\"%s\""
124         comment "Build time"
125 end
126 define COREBOOT_COMPILE_BY
127         default "$(shell whoami)"
128         export always
129         format "\"%s\""
130         comment "Who build this image"
131 end
132 define COREBOOT_COMPILE_HOST
133         default "$(shell hostname)"
134         export always
135         format "\"%s\""
136         comment "Build host"
137 end
138
139 define COREBOOT_COMPILE_DOMAIN
140         default "$(shell dnsdomainname)"
141         export always
142         format "\"%s\""
143         comment "Build domain name"
144 end
145 define COREBOOT_COMPILER
146         default "$(shell $(CC) $(CFLAGS) -v 2>&1 | tail -n 1)"
147         export always
148         format "\"%s\""
149         comment "Build compiler"
150 end
151 define COREBOOT_LINKER
152         default "$(shell  $(CC) -Wl,--version 2>&1 | grep \" ld\")"
153         export always
154         format "\"%s\""
155         comment "Build linker"
156 end
157 define COREBOOT_ASSEMBLER
158         default "$(shell  touch dummy.s ; $(CC) -c -Wa,-v dummy.s 2>&1; rm -f dummy.s dummy.o )"
159         export always
160         format "\"%s\""
161         comment "Build assembler"
162 end
163 define CONFIG_CHIP_CONFIGURE
164         default 0
165         export used
166         comment "Use new chip_configure method for configuring (non-pci) devices"
167 end
168 define CONFIG_USE_INIT
169         default 0
170         export always
171         comment "Use stage 1 initialization code"
172 end
173
174 define COREBOOT_V2
175         default 1
176         export always
177         comment "This is used by code to determine v2 vs v3"
178 end
179
180 ###############################################
181 # ROM image options
182 ###############################################
183
184 define HAVE_FALLBACK_BOOT
185         format "%d"
186         default 0
187         export always
188         comment "Set if fallback booting required"
189 end
190 define HAVE_FAILOVER_BOOT
191         format "%d"
192         default 0
193         export always
194         comment "Set if failover booting required"
195 end
196 define USE_FALLBACK_IMAGE
197         format "%d"
198         default 0
199         export used
200         comment "Set to build a fallback image"
201 end
202 define USE_FAILOVER_IMAGE
203         format "%d"
204         default 0
205         export used
206         comment "Set to build a failover image"
207 end
208 define FALLBACK_SIZE
209         default 65536
210         format "0x%x"
211         export used
212         comment "Default fallback image size"
213 end
214 define FAILOVER_SIZE
215         default 0
216         format "0x%x"
217         export used
218         comment "Default failover image size"
219 end
220 define ROM_SIZE
221         default none
222         format "0x%x"
223         export used
224         comment "Size of your ROM"
225 end
226 define ROM_IMAGE_SIZE
227         default 65535
228         format "0x%x"
229         export always
230         comment "Default image size"
231 end
232 define ROM_SECTION_SIZE
233         default {FALLBACK_SIZE}
234         format "0x%x"
235         export used
236         comment "Default rom section size"
237 end
238 define ROM_SECTION_OFFSET
239         default {ROM_SIZE - FALLBACK_SIZE}
240         format "0x%x"
241         export used
242         comment "Default rom section offset"
243 end
244 define PAYLOAD_SIZE
245         default {ROM_SECTION_SIZE - ROM_IMAGE_SIZE}
246         format "0x%x"
247         export always
248         comment "Default payload size"
249 end
250 define _ROMBASE
251         default {PAYLOAD_SIZE}
252         format "0x%x"
253         export always
254         comment "Base address of coreboot in ROM"
255 end
256 define _ROMSTART
257         default none
258         format "0x%x"
259         export used
260         comment "Start address of coreboot in ROM"
261 end
262 define _RESET
263         default {_ROMBASE}
264         format "0x%x"
265         export always
266         comment "Hardware reset vector address"
267 end
268 define _EXCEPTION_VECTORS
269         default {_ROMBASE+0x100}
270         format "0x%x"
271         export always
272         comment "Address of exception vector table"
273 end
274 define STACK_SIZE
275         default 0x2000
276         format "0x%x"
277         export always
278         comment "Default stack size"
279 end
280 define HEAP_SIZE
281         default 0x2000
282         format "0x%x"
283         export always
284         comment "Default heap size"
285 end
286 define _RAMBASE
287         default none
288         format "0x%x"
289         export always
290         comment "Base address of coreboot in RAM"
291 end
292 define _RAMSTART
293         default none
294         format "0x%x"
295         export used
296         comment "Start address of coreboot in RAM"
297 end
298 define USE_DCACHE_RAM
299         default 0
300         export always
301         comment "Use data cache as temporary RAM if possible"
302 end
303 define CAR_FAM10
304         default 0
305         export always
306         comment "AMD family 10 CAR requires additional setup"
307 end
308 define DCACHE_RAM_BASE
309         default 0xc0000
310         format "0x%x"
311         export always
312         comment "Base address of data cache when using it for temporary RAM"
313 end
314 define DCACHE_RAM_SIZE
315         default 0x1000
316         format "0x%x"
317         export always
318         comment "Size of data cache when using it for temporary RAM"
319 end
320 define DCACHE_RAM_GLOBAL_VAR_SIZE
321         default 0
322         format "0x%x"
323         export always
324         comment "Size of region that for global variable of cache as ram stage"
325 end
326 define CONFIG_AP_CODE_IN_CAR
327         default 0
328         export always
329         comment "will copy coreboot_apc to AP cache ane execute in AP"
330 end
331 define MEM_TRAIN_SEQ
332         default 0
333         export always
334         comment "0: three for in bsp, 1: on every core0, 2: one for on bsp"
335 end
336 define WAIT_BEFORE_CPUS_INIT
337         default 0
338         export always
339         comment "execute cpus_ready_for_init if it is set to 1"
340 end
341 define XIP_ROM_BASE
342         default 0
343         format "0x%x"
344         export used
345         comment "Start address of area to cache during coreboot execution directly from ROM"
346 end
347 define XIP_ROM_SIZE
348         default 0
349         format "0x%x"
350         export used
351         comment "Size of area to cache during coreboot execution directly from ROM"
352 end
353 define CONFIG_COMPRESS
354         default 1
355         export always
356         comment "Set for compressed image"
357 end
358 define CONFIG_UNCOMPRESSED
359         format "%d"
360         default {!CONFIG_COMPRESS}
361         export always
362         comment "Set for uncompressed image"
363 end
364 define CONFIG_LB_MEM_TOPK
365         format "%d"
366         default 2048
367         export always
368         comment "Kilobytes of memory to initialized before executing code from RAM"
369 end
370 define HAVE_OPTION_TABLE
371         default 0
372         export always
373         comment "Export CMOS option table"
374 end
375 define USE_OPTION_TABLE
376         format "%d"
377         default {HAVE_OPTION_TABLE && !USE_FALLBACK_IMAGE}
378         export always
379         comment "Use option table"
380 end
381
382 ###############################################
383 # CMOS variable options
384 ###############################################
385 define LB_CKS_RANGE_START
386         default 49
387         format "%d"
388         export always
389         comment "First CMOS byte to use for coreboot options"
390 end
391 define LB_CKS_RANGE_END
392         default 125
393         format "%d"
394         export always
395         comment "Last CMOS byte to use for coreboot options"
396 end
397 define LB_CKS_LOC
398         default 126
399         format "%d"
400         export always
401         comment "Pair of bytes to use for CMOS checksum"
402 end
403
404
405 ###############################################
406 # Build targets
407 ###############################################
408
409 define CRT0
410         default "$(TOP)/src/arch/$(ARCH)/init/crt0.S.lb"
411         export always
412         comment "Main initialization target"
413 end
414
415 ###############################################
416 # Debugging/Logging options
417 ###############################################
418
419 define DEBUG
420         default 0
421         export always
422         comment "Enable x86emu debugging code"
423 end
424 define CONFIG_CONSOLE_VGA
425         default 0
426         export always
427         comment "Log messages to any VGA-compatible device (may require *_ROM_RUN to bring up)"
428 end
429 define CONFIG_CONSOLE_VGA_MULTI
430         default 0
431         export always
432         comment "Multi VGA console"
433 end
434 define CONFIG_CONSOLE_VGA_ONBOARD_AT_FIRST
435         default 0
436         export always
437         comment "Use onboard VGA instead of add on VGA card"
438 end
439 define CONFIG_CONSOLE_BTEXT
440         default 0
441         export always
442         comment "Log messages to btext fb console"
443 end
444 define CONFIG_CONSOLE_LOGBUF
445         default 0
446         export always
447         comment "Log messages to buffer"
448 end
449 define CONFIG_CONSOLE_SROM
450         default 0
451         export always
452         comment "Log messages to SROM console"
453 end
454 define CONFIG_CONSOLE_SERIAL8250
455         default 0
456         export always
457         comment "Log messages to 8250 uart based serial console"
458 end
459 define CONFIG_USBDEBUG_DIRECT
460         default 0
461         export always
462         comment "Log messages to ehci debug port console"
463 end
464 define DEFAULT_CONSOLE_LOGLEVEL
465         default 7
466         export always
467         comment "Console will log at this level unless changed"
468 end
469 define MAXIMUM_CONSOLE_LOGLEVEL
470         default 8
471         export always
472         comment "Error messages up to this level can be printed"
473 end
474 define CONFIG_SERIAL_POST
475         default 0
476         export always
477         comment "Enable SERIAL POST codes"
478 end
479 define NO_POST
480         default none
481         export used
482         comment "Disable POST codes"
483 end
484 define TTYS0_BASE
485         default 0x3f8
486         format "0x%x"
487         export always
488         comment "Base address for 8250 uart for the serial console"
489 end
490 define TTYS0_BAUD
491         default 115200
492         export always
493         comment "Default baud rate for serial console"
494 end
495 define TTYS0_DIV
496         default none
497         format "%d"
498         export used
499         comment "Allow UART divisor to be set explicitly"
500 end
501 define TTYS0_LCS
502         default 0x3
503         format "0x%x"
504         export always
505         comment "Default flow control settings for the 8250 serial console uart"
506 end
507
508 define CONFIG_USE_PRINTK_IN_CAR
509         default 0
510         export always
511         comment "use printk instead of print in CAR stage code"
512 end
513 define ASSEMBLER_DEBUG
514         default 0
515         export always
516         comment "Create disassembly files for debugging"
517 end
518
519 ###############################################
520 # Mainboard options
521 ###############################################
522
523 define MAINBOARD
524         default "Mainboard_not_set"
525         export always
526         comment "Mainboard name"
527 end
528 define MAINBOARD_PART_NUMBER
529         default "Part_number_not_set"
530         export always
531         format "\"%s\""
532         comment "Part number of mainboard"
533 end
534 define MAINBOARD_VENDOR
535         default "Vendor_not_set"
536         export always
537         format "\"%s\""
538         comment "Vendor of mainboard"
539 end
540 define MAINBOARD_PCI_SUBSYSTEM_VENDOR_ID
541         default 0
542         export always
543         comment "PCI Vendor ID of mainboard manufacturer"
544 end
545 define MAINBOARD_PCI_SUBSYSTEM_DEVICE_ID
546         default 0
547         format "0x%x"
548         export always
549         comment "PCI susbsystem device id assigned my mainboard manufacturer"
550 end
551 define MAINBOARD_POWER_ON_AFTER_POWER_FAIL
552         default none
553         export used
554         comment "Default power on after power fail setting"
555 end
556 define CONFIG_SYS_CLK_FREQ
557         default none
558         export used
559         comment "System clock frequency in MHz"
560 end
561 define CONFIG_MAX_PCI_BUSES
562         default 255
563         export always
564         comment "Maximum number of PCI buses to search for devices"
565 end
566 ###############################################
567 # SMP options
568 ###############################################
569
570 define CONFIG_SMP
571         default 0
572         export always
573         comment "Define if we support SMP"
574 end
575 define CONFIG_MAX_CPUS
576         default 1
577         export always
578         comment "Maximum CPU count for this machine"
579 end
580 define CONFIG_MAX_PHYSICAL_CPUS
581         default 1
582         export always
583         comment "Maximum physical CPU count for this machine"
584 end
585 define CONFIG_LOGICAL_CPUS
586         default 0
587         export always
588         comment "Should multiple cpus per die be enabled?"
589 end
590 define CONFIG_AP_IN_SIPI_WAIT
591         default 0
592         export always
593         comment "Should application processors go to SIPI wait state after initialization? (Required for Intel Core Duo)"
594 end
595 define HAVE_MP_TABLE
596         default none
597         export used
598         comment "Define to build an MP table"
599 end
600 define SERIAL_CPU_INIT
601         default 1
602         export always
603         comment "Serialize CPU init"
604 end
605 define APIC_ID_OFFSET
606         default 0
607         export always
608         comment "We need to share this value between cache_as_ram_auto.c and northbridge.c"
609 end
610 define ENABLE_APIC_EXT_ID
611         default 0
612         export always
613         comment "Enable APIC ext id mode 8 bit"
614 end
615 define LIFT_BSP_APIC_ID
616         default 0
617         export always
618         comment "decide if we lift bsp apic id while ap apic id"
619 end
620 ###############################################
621 # Boot options
622 ###############################################
623
624 define CONFIG_MULTIBOOT
625         default 1
626         export always
627         comment "Use Multiboot (rather than ELF boot notes) to boot the payload"
628 end
629 define CONFIG_IDE_PAYLOAD
630         default 0
631         export always
632         comment "Boot from IDE device"
633 end
634 define CONFIG_ROM_PAYLOAD
635         default 0
636         export always
637         comment "Boot image is located in ROM" 
638 end
639 define CONFIG_ROM_PAYLOAD_START
640         default {0xffffffff - ROM_SIZE + ROM_SECTION_OFFSET + 1}
641         format "0x%x"
642         export always
643         comment "ROM stream start location"
644 end
645 define CONFIG_COMPRESSED_PAYLOAD_NRV2B
646         default 0
647         export always
648         comment "NRV2B compressed boot image is located in ROM" 
649 end
650 define CONFIG_COMPRESSED_PAYLOAD_LZMA
651         default 0
652         export always
653         comment "LZMA compressed boot image is located in ROM" 
654 end
655 define CONFIG_PRECOMPRESSED_PAYLOAD
656         default 0
657         export always
658         comment "boot image is already compressed" 
659 end
660 define CONFIG_SERIAL_PAYLOAD
661         default 0
662         export always
663         comment "Download boot image from serial port"
664 end
665 define CONFIG_FS_PAYLOAD
666         default 0
667         export always
668         comment "Boot from a filesystem"
669 end
670 define CONFIG_FS_EXT2
671         default 0
672         export always
673         comment "Enable ext2 filesystem support"
674 end
675 define CONFIG_FS_ISO9660
676         default 0
677         export always
678         comment "Enable ISO9660 filesystem support"
679 end
680 define CONFIG_FS_FAT
681         default 0
682         export always
683         comment "Enable FAT filesystem support"
684 end
685 define CONFIG_CBFS
686         default 0
687         export always
688         comment "The new CBFS file system"
689 end
690 define AUTOBOOT_DELAY
691         default 2
692         export always
693         comment "Delay (in seconds) before autobooting"
694 end
695 define AUTOBOOT_CMDLINE
696         default "hdc1:/vmlinuz root=/dev/hdc3 console=tty0 console=ttyS0,115200"
697         export always
698         format "\"%s\""
699         comment "Default command line when autobooting"
700 end
701
702 define USE_WATCHDOG_ON_BOOT
703         default 0
704         export always
705         comment "Use the watchdog on booting"
706 end
707
708 ###############################################
709 # Plugin Device support options
710 ###############################################
711
712 define CONFIG_HYPERTRANSPORT_PLUGIN_SUPPORT
713         default 1
714         export always
715         comment "Enable support for plugin Hypertransport busses"
716 end
717 define CONFIG_AGP_PLUGIN_SUPPORT
718         default 1
719         export always
720         comment "Enable support for plugin AGP busses"
721 end
722 define CONFIG_CARDBUS_PLUGIN_SUPPORT
723         default 1
724         export always
725         comment "Enable support cardbus plugin cards"
726 end
727 define CONFIG_PCIX_PLUGIN_SUPPORT
728         default 1
729         export always
730         comment "Enable support for plugin PCI-X busses"
731 end
732 define CONFIG_PCIEXP_PLUGIN_SUPPORT
733         default 1
734         export always
735         comment "Enable support for plugin PCI-E busses"
736 end
737
738 ###############################################
739 # IRQ options
740 ###############################################
741
742 define HAVE_PIRQ_TABLE
743         default none
744         export used
745         comment "Define if we have a PIRQ table"
746 end
747 define PIRQ_ROUTE
748         default 0
749         export always
750         comment "Define if we have a PIRQ table and want routing IRQs"
751 end
752 define IRQ_SLOT_COUNT
753         default none
754         export used
755         comment "Number of IRQ slots"
756 end
757 define CONFIG_PCIBIOS_IRQ
758         default none
759         export used
760         comment "PCIBIOS IRQ support"
761 end
762 define CONFIG_IOAPIC
763         default none
764         export used
765         comment "IOAPIC support"
766 end
767
768 ###############################################
769 # IDE specific options
770 ###############################################
771
772 define CONFIG_IDE
773         default 0
774         export always
775         comment "Define to include IDE support"
776 end
777 define IDE_BOOT_DRIVE
778         default 0
779         export always
780         comment "Disk number of boot drive"
781 end
782 define IDE_SWAB
783         default none
784         export used
785         comment "Swap bytes when reading from IDE device"
786 end
787 define IDE_OFFSET
788         default 0
789         export always
790         comment "Sector at which to start searching for boot image"
791 end
792
793 ###############################################
794 # Options for memory mapped I/O
795 ###############################################
796
797 define PCI_IO_CFG_EXT
798         default 0
799         export always
800         comment "allow 4K register space via io CFG port"
801 end
802
803 define PCIC0_CFGADDR
804         default none
805         format "0x%x"
806         export used
807         comment "Address of PCI Configuration Address Register"
808 end
809 define PCIC0_CFGDATA
810         default none
811         format "0x%x"
812         export used
813         comment "Address of PCI Configuration Data Register"
814 end
815 define ISA_IO_BASE
816         default none
817         format "0x%x"
818         export used
819         comment "Base address of PCI/ISA I/O address range"
820 end
821 define ISA_MEM_BASE
822         default none
823         format "0x%x"
824         export used
825         comment "Base address of PCI/ISA memory address range"
826 end
827 define PNP_CFGADDR
828         default none
829         format "0x%x"
830         export used
831         comment "PNP Configuration Address Register offset"
832 end
833 define PNP_CFGDATA
834         default none
835         format "0x%x"
836         export used
837         comment "PNP Configuration Data Register offset"
838 end
839 define _IO_BASE
840         default none
841         format "0x%x"
842         export used
843         comment "Base address of memory mapped I/O operations"
844 end
845
846 ###############################################
847 # Options for embedded systems
848 ###############################################
849
850 define EMBEDDED_RAM_SIZE
851         default none
852         export used
853         comment "Embedded boards generally have fixed RAM size"
854 end
855
856 ###############################################
857 # Misc options
858 ###############################################
859
860 define CONFIG_GDB_STUB
861         default 0
862         export used
863         comment "Compile in gdb stub support?"
864 end
865
866 define HAVE_INIT_TIMER
867         default 0
868         export always
869         comment "Have a init_timer function"
870 end
871 define HAVE_HARD_RESET
872         default none
873         export used
874         comment "Have hard reset"
875 end
876 define HAVE_SMI_HANDLER
877         default 0
878         export always
879         comment "Set, if the board needs an SMI handler"
880 end
881 define MEMORY_HOLE
882         default none
883         export used
884         comment "Set to deal with memory hole"
885 end
886 define MAX_REBOOT_CNT
887         default 3
888         export always
889         comment "Set maximum reboots"
890 end
891
892 ###############################################
893 # Misc device options
894 ###############################################
895
896 define HAVE_FANCTL
897         default 0
898         export used
899         comment "Include board specific FAN control initialization"
900 end
901 define CONFIG_TSC_X86RDTSC_CALIBRATE_WITH_TIMER2
902         default 0
903         export used
904         comment "Use timer2 to callibrate the x86 time stamp counter"
905 end
906 define INTEL_PPRO_MTRR
907         default none
908         export used
909         comment ""
910 end
911 define CONFIG_UDELAY_TSC
912         default 0
913         export used
914         comment "Implement udelay with the x86 time stamp counter"
915 end
916 define CONFIG_UDELAY_IO
917         default 0
918         export used
919         comment "Implement udelay with x86 io registers"
920 end
921 define FAKE_SPDROM
922         default 0
923         export always
924         comment "Use this to fake spd rom values"
925 end
926
927 define HAVE_ACPI_TABLES
928         default 0
929         export always
930         comment "Define to build ACPI tables"
931 end
932
933 define HAVE_ACPI_RESUME
934         default 0
935         export always
936         comment "Define to build ACPI with resume support"
937 end
938
939 define ACPI_SSDTX_NUM
940         default 0
941         export always
942         comment "extra ssdt num for PCI Device"
943 end
944
945 define AGP_APERTURE_SIZE
946         default none
947         export used
948         format "0x%x"
949         comment "AGP graphics virtual memory aperture size"
950 end
951
952 define HT_CHAIN_UNITID_BASE
953         default 1
954         export always
955         comment "this will be first hypertransport device's unitid base, if sb ht chain only has one ht device, it could be 0"
956 end
957
958 define HT_CHAIN_END_UNITID_BASE
959         default 0x20
960         export always
961         comment "this will be unit id of the end of hypertransport chain (usually the real SB) if it is small than HT_CHAIN_UNITID_BASE, it could be 0"
962 end
963
964 define SB_HT_CHAIN_UNITID_OFFSET_ONLY
965         default 1
966         export always
967         comment "this will decided if only offset SB hypertransport chain"
968 end
969
970 define SB_HT_CHAIN_ON_BUS0
971         default 0 
972         export always
973         comment "this will make SB hypertransport chain sit on bus 0, if it is 1, will put sb ht chain on bus 0, if it is 2 will put other chain on 0x40, 0x80, 0xc0"
974 end
975
976 define PCI_BUS_SEGN_BITS
977         default 0
978         export always
979         comment "It could be 0, 1, 2, 3 and 4 only"
980 end
981
982 define MMCONF_SUPPORT
983         default 0
984         export always
985         comment "enable mmconfig for pci conf"
986 end
987
988 define MMCONF_SUPPORT_DEFAULT
989         default 0
990         export always
991         comment "enable mmconfig for pci conf"
992 end
993
994 define MMCONF_BASE_ADDRESS
995         default none
996         format "0x%x"
997         export used
998         comment "enable mmconfig base address"
999 end
1000
1001 define HW_MEM_HOLE_SIZEK
1002         default 0
1003         export always
1004         comment "Opteron E0 later memory hole size in K, 0 mean disable"
1005 end
1006
1007 define HW_MEM_HOLE_SIZE_AUTO_INC
1008         default 0
1009         export always
1010         comment "Opteron E0 later memory hole size auto increase to avoid hole startk equal to basek"
1011 end
1012
1013 define CONFIG_VAR_MTRR_HOLE
1014         default 1
1015         export always
1016         comment "using hole in MTRR instead of increasing method"
1017 end
1018
1019 define K8_HT_FREQ_1G_SUPPORT
1020         default 0 
1021         export always
1022         comment "Optern E0 later could support 1G HT, but still depends MB design"
1023 end
1024
1025 define K8_REV_F_SUPPORT
1026         default 0
1027         export always
1028         comment "Opteron Rev F (DDR2) support"
1029 end
1030
1031 define CBB
1032         default 0
1033         export always
1034         comment "Opteron cpu bus num base"
1035 end
1036
1037 define CDB
1038         default 0x18
1039         export always
1040         comment "Opteron cpu device num base"
1041 end
1042
1043 define HT3_SUPPORT
1044         default 0
1045         export always
1046         comment "Hypertransport 3 support, include ac HT and unganged sublink feature"
1047 end
1048
1049 define EXT_RT_TBL_SUPPORT
1050         default 0
1051         export always
1052         comment "support AMD family 10 extended routing table via F0x158, normally is enabled when node nums is greater than 8"
1053 end
1054
1055 define EXT_CONF_SUPPORT
1056         default 0
1057         export always
1058         comment "support AMD family 10 extended config space for ram, bus, io, mmio via F1x110, normally is enabled when HT3 is enabled and non ht chain nums is greater than 4"
1059 end
1060
1061 define DIMM_SUPPORT
1062         default 0x0108
1063         format "0x%x"
1064         export always
1065         comment "DIMM support: bit 0 - sdram, bit 1: ddr1, bit 2: ddr2, bit 3: ddr3, bit 4: fbdimm, bit 8: reg"
1066 end
1067
1068 define CPU_SOCKET_TYPE
1069         default 0x10
1070         export always
1071         comment "cpu socket type, 0x10 mean Socket F, 0x11 mean socket M2, 0x20, Soxket G, and 0x21 mean socket M3"
1072 end
1073
1074 define CPU_ADDR_BITS
1075         default 36
1076         export always
1077         comment "CPU hardware address lines num, for AMD K8 could be 40, and AMD family 10 could be 48"
1078 end
1079
1080 define CONFIG_VGA_ROM_RUN
1081         default 0
1082         export always
1083         comment "Init x86 ROMs on VGA-class PCI devices"
1084 end
1085
1086 define CONFIG_PCI_ROM_RUN
1087         default 0
1088         export always
1089         comment "Init x86 ROMs on all PCI devices"
1090 end
1091
1092 define CONFIG_PCI_OPTION_ROM_RUN_YABEL
1093         default 0
1094         export used
1095         comment "Use Yabel instead of old bios emulator"
1096 end
1097
1098 define CONFIG_YABEL_DEBUG_FLAGS
1099         default 0
1100         export used
1101         comment "YABEL debug flags, for possible values, see util/x86emu/yabel/debug.h"
1102 end
1103
1104 define CONFIG_YABEL_PCI_ACCESS_OTHER_DEVICES
1105         default 0
1106         export used
1107         comment "Allow Option ROMs executed by YABEL to access the config space of devices other than the one YABEL is running for. This may be needed by some onboard Graphics cards ROMs."
1108
1109 end
1110
1111 define CONFIG_PCI_OPTION_ROM_RUN_VM86
1112         default 0
1113         export used
1114         comment "Use Yabel instead of old bios emulator"
1115 end
1116
1117 define CONFIG_PCI_64BIT_PREF_MEM
1118         default 0
1119         export always
1120         comment "allow PCI device get 4G above Region as pref mem"
1121 end
1122
1123 define CONFIG_AMDMCT
1124         default 0
1125         export always
1126         comment "use AMD MCT to init RAM instead of native code"
1127 end
1128
1129 define AMD_UCODE_PATCH_FILE
1130         default none
1131         export used
1132         format "\"%s\""
1133         comment "name of the microcode patch file"      
1134 end
1135
1136 define K8_MEM_BANK_B_ONLY
1137         default 0
1138         export always
1139         comment "use AMD K8's memory bank B only to make a 64bit memory system and memory bank A is free, such as Filbert."
1140 end
1141
1142 define CONFIG_VIDEO_MB
1143         default none
1144         export used
1145         comment "Integrated graphics with UMA has dynamic setup"
1146 end
1147
1148 define CONFIG_GFXUMA
1149         default none
1150         export used
1151         comment "GFX UMA"
1152 end
1153
1154 define HAVE_MAINBOARD_RESOURCES
1155         default 0
1156         export always
1157         comment "Enable if the mainboard/chipset requires extra entries in the memory map"
1158 end
1159
1160 define HAVE_LOW_TABLES
1161         default 1
1162         export always
1163         comment "Enable if ACPI, PIRQ, MP tables are supposed to live in the low megabyte"
1164 end
1165
1166 define HAVE_HIGH_TABLES
1167         default 0
1168         export always
1169         comment "Enable if ACPI, PIRQ, MP tables are supposed to live at top of memory"
1170 end
1171
1172 define CONFIG_SPLASH_GRAPHIC
1173         default 0
1174         export used
1175         comment "Paint a splash screen"
1176 end
1177
1178 define CONFIG_GX1_VIDEO
1179         default 0
1180         export used
1181         comment "Build in GX1's graphic support"
1182 end
1183
1184 define CONFIG_GX1_VIDEOMODE
1185         default none
1186         export used
1187         comment "Define video mode after reset"
1188 # could be
1189 # 0 for 640x480
1190 # 1 for 800x600
1191 # 2 for 1024x768
1192 # 3 for 1280x960
1193 # 4 for 1280x1024
1194 end
1195
1196 define CONFIG_PCIE_CONFIGSPACE_HOLE
1197         default 0
1198         export always
1199         comment "Leave a hole for PCIe config space in the device allocator"
1200 end
1201
1202 ###############################################
1203 # Board specific options
1204 ###############################################
1205
1206 ###############################################
1207 # Options for motorola/sandpoint
1208 ###############################################
1209 define CONFIG_SANDPOINT_ALTIMUS
1210         default 0
1211         export never
1212         comment "Configure Sandpoint with Altimus PMC"
1213 end
1214 define CONFIG_SANDPOINT_TALUS
1215         default 0
1216         export never
1217         comment "Configure Sandpoint with Talus PMC"
1218 end
1219 define CONFIG_SANDPOINT_UNITY
1220         default 0
1221         export never
1222         comment "Configure Sandpoint with Unity PMC"
1223 end
1224 define CONFIG_SANDPOINT_VALIS
1225         default 0
1226         export never
1227         comment "Configure Sandpoint with Valis PMC"
1228 end
1229 define CONFIG_SANDPOINT_GYRUS
1230         default 0
1231         export never
1232         comment "Configure Sandpoint with Gyrus PMC"
1233 end
1234
1235 ###############################################
1236 # Options for totalimpact/briq
1237 ###############################################
1238 define CONFIG_BRIQ_750FX
1239         default 0
1240         export never
1241         comment "Configure briQ with PowerPC 750FX"
1242 end
1243 define CONFIG_BRIQ_7400
1244         default 0
1245         export never
1246         comment "Configure briQ with PowerPC G4"
1247 end