Add config option to disable MTRR initialization.
[seabios.git] / src / Kconfig
1 # Kconfig SeaBIOS configuration
2
3 mainmenu "SeaBIOS Configuration"
4
5 menu "General Features"
6
7     config COREBOOT
8         bool "Build for coreboot"
9         default n
10         help
11             Configure as a coreboot payload.
12
13     config THREADS
14         bool "Parallelize hardware init"
15         default y
16         help
17             Support running hardware initialization in parallel.
18     config THREAD_OPTIONROMS
19         depends on THREADS
20         bool "Hardware init during option ROM execution"
21         default n
22         help
23             Allow hardware init to run in parallel with optionrom execution.
24
25     config RELOCATE_INIT
26         bool "Copy init code to high memory"
27         default y
28         help
29             Support relocating the one time initialization code to high memory.
30
31     config BOOTMENU
32         depends on BOOT
33         bool "Bootmenu"
34         default y
35         help
36             Support an interactive boot menu at end of post.
37     config BOOTMENU_WAIT
38         depends on BOOTMENU
39         int "Bootmenu delay"
40         default 2500
41         help
42             Amount of time (in ms) to wait at menu before selecting normal boot.
43     config BOOTSPLASH
44         depends on BOOTMENU
45         bool "Graphical boot splash screen"
46         default y
47         help
48             Support showing a graphical boot splash screen.
49
50     config COREBOOT_FLASH
51         depends on COREBOOT
52         bool "coreboot CBFS support"
53         default y
54         help
55             Support searching coreboot flash format.
56     config LZMA
57         depends on COREBOOT_FLASH
58         bool "CBFS lzma support"
59         default y
60         help
61             Support CBFS files compressed using the lzma decompression
62             algorighm.
63     config FLASH_FLOPPY
64         depends on COREBOOT_FLASH
65         bool "Floppy images in CBFS"
66         default y
67         help
68             Support floppy images in coreboot flash.
69
70 endmenu
71
72 menu "Hardware support"
73     config ATA
74         depends on DRIVES
75         bool "ATA controllers"
76         default y
77         help
78             Support for IDE disk code.
79     config ATA_DMA
80         depends on ATA
81         bool "ATA DMA"
82         default n
83         help
84             Detect and try to use ATA bus mastering DMA controllers.
85     config ATA_PIO32
86         depends on ATA
87         bool "ATA 32bit PIO"
88         default n
89         help
90             Use 32bit PIO accesses on ATA (minor optimization on PCI transfers).
91     config AHCI
92         depends on DRIVES
93         bool "AHCI controllers"
94         default n
95         help
96             Support for AHCI disk code.
97     config VIRTIO_BLK
98         depends on DRIVES && !COREBOOT
99         bool "VirtIO controllers"
100         default y
101         help
102             Support boot from virtio storage.
103     config FLOPPY
104         depends on DRIVES
105         bool "Floppy controller"
106         default y
107         help
108             Support floppy drive access.
109
110     config PS2PORT
111         depends on KEYBOARD || MOUSE
112         bool "PS/2 port"
113         default y
114         help
115             Support PS2 ports (keyboard and mouse).
116
117     config USB
118         bool "USB"
119         default y
120         help
121             Support USB devices.
122     config USB_UHCI
123         depends on USB
124         bool "USB UHCI controllers"
125         default y
126         help
127             Support USB UHCI controllers.
128     config USB_OHCI
129         depends on USB
130         bool "USB OHCI controllers"
131         default y
132         help
133             Support USB OHCI controllers.
134     config USB_EHCI
135         depends on USB
136         bool "USB EHCI controllers"
137         default y
138         help
139             Support USB EHCI controllers.
140     config USB_MSC
141         depends on USB && DRIVES
142         bool "USB drives"
143         default y
144         help
145             Support USB disks.
146     config USB_HUB
147         depends on USB
148         bool "USB hubs"
149         default y
150         help
151             Support USB hubs.
152     config USB_KEYBOARD
153         depends on USB && KEYBOARD
154         bool "USB keyboards"
155         default y
156         help
157             Support USB keyboards.
158     config USB_MOUSE
159         depends on USB && MOUSE
160         bool "USB mice"
161         default y
162         help
163             Support USB mice.
164
165     config SERIAL
166         bool "Serial port"
167         default y
168         help
169             Support serial ports.  This also enables int 14 serial port calls.
170     config LPT
171         bool "Parallel port"
172         default y
173         help
174             Support parallel ports. This also enables int 17 parallel port calls.
175
176     config EXTRA_PCI_ROOTS
177         bool "Extra root buses"
178         default n
179         help
180             If the target machine has multiple independent root buses,
181             the extra buses may be specified here.
182     config PCI_ROOT1
183         depends on EXTRA_PCI_ROOTS
184         hex "Extra primary PCI root bus number"
185         default 0x00
186     config PCI_ROOT2
187         depends on EXTRA_PCI_ROOTS
188         hex "Extra secondary PCI root bus number"
189         default 0x00
190
191     config USE_SMM
192         depends on !COREBOOT
193         bool "System Management Mode (SMM)"
194         default y
195         help
196             Support System Management Mode (on emulators).
197     config MTRR_INIT
198         depends on !COREBOOT
199         bool "Initialize MTRRs"
200         default y
201         help
202             Initialize the Memory Type Range Registers (on emulators).
203 endmenu
204
205 menu "BIOS interfaces"
206     config DRIVES
207         bool "Drive interface"
208         default y
209         help
210             Support int13 disk/floppy drive functions.
211
212     config CDROM_BOOT
213         depends on DRIVES
214         bool "DVD/CDROM booting"
215         default y
216         help
217             Support for booting from a CD.  (El Torito spec support.)
218     config CDROM_EMU
219         depends on CDROM_BOOT
220         bool "DVD/CDROM boot drive emulation"
221         default y
222         help
223             Support bootable CDROMs that emulate a floppy/harddrive.
224
225     config PCIBIOS
226         bool "PCIBIOS interface"
227         default y
228         help
229             Support int 1a/b1 PCI BIOS calls.
230     config APMBIOS
231         bool "APM interface"
232         default y
233         help
234             Support int 15/53 APM BIOS calls.
235     config PNPBIOS
236         bool "PnP BIOS interface"
237         default y
238         help
239             Support PnP BIOS entry point.
240     config OPTIONROMS
241         bool "Option ROMS"
242         default y
243         help
244             Support finding and running option roms during POST.
245     config OPTIONROMS_DEPLOYED
246         depends on OPTIONROMS
247         bool "Option roms are already at 0xc0000-0xf0000"
248         default n
249         help
250             Select this if option ROMs are already copied to
251             0xc0000-0xf0000.  This must only be selected when using
252             Bochs or QEMU versions older than 0.12.
253     config PMM
254         depends on OPTIONROMS
255         bool "PMM interface"
256         default y
257         help
258             Support Post Memory Manager (PMM) entry point.
259     config BOOT
260         bool "Boot interface"
261         default y
262         help
263             Support int 19/18 system bootup support.
264     config KEYBOARD
265         bool "Keyboard interface"
266         default y
267         help
268             Support int 16 keyboard calls.
269     config KBD_CALL_INT15_4F
270         depends on KEYBOARD
271         bool "Keyboard hook interface"
272         default y
273         help
274             Support calling int155f on each keyboard event.
275     config MOUSE
276         bool "Mouse interface"
277         default y
278         help
279             Support for int15c2 mouse calls.
280
281     config S3_RESUME
282         bool "S3 resume"
283         default y
284         help
285             Support S3 resume handler.
286     config S3_RESUME_VGA_INIT
287         depends on S3_RESUME
288         bool "Run VGA rom on S3 resume"
289         default n
290         help
291             Run the vga rom during S3 resume.
292
293     config VGAHOOKS
294         depends on COREBOOT
295         bool "Hardware specific VGA helpers"
296         default y
297         help
298             Support int 155f BIOS callbacks specific to some Intel and
299             VIA on-board vga devices.
300
301     config DISABLE_A20
302         bool "Disable A20"
303         default n
304         help
305             Disable A20 on 16bit boot.
306 endmenu
307
308 menu "BIOS Tables"
309     config PIRTABLE
310         depends on !COREBOOT
311         bool "PIR table"
312         default y
313         help
314             Support generation of a PIR table in 0xf000 segment.
315     config MPTABLE
316         depends on !COREBOOT
317         bool "MPTable"
318         default y
319         help
320             Support generation of MPTable.
321     config SMBIOS
322         bool "SMBIOS"
323         default y
324         help
325             Support generation of SM BIOS tables.  This is also
326             sometimes called DMI.
327     config ACPI
328         depends on !COREBOOT
329         bool "ACPI"
330         default y
331         help
332             Support generation of ACPI tables.
333 endmenu
334
335 menu "Debugging"
336     config DEBUG_LEVEL
337         int "Debug level"
338         default 1
339         help
340             Control how verbose debug output is.  The higher the
341             number, the more verbose SeaBIOS will be.
342
343             Set to zero to disable debugging.
344
345     config DEBUG_SERIAL
346         depends on DEBUG_LEVEL != 0
347         bool "Serial port debugging"
348         default n
349         help
350             Send debugging information to serial port.
351
352     config SCREEN_AND_DEBUG
353         depends on DEBUG_LEVEL != 0
354         bool "Show screen writes on debug ports"
355         default y
356         help
357             Send characters that SeaBIOS writes to the screen to the
358             debug ports.
359 endmenu