2 # For a description of the syntax of this configuration file,
3 # see Documentation/kbuild/config-language.txt.
5 mainmenu_name "Linux Kernel Configuration"
7 define_bool CONFIG_X86 y
8 define_bool CONFIG_SBUS n
10 define_bool CONFIG_UID16 y
12 mainmenu_option next_comment
13 comment 'Code maturity level options'
14 bool 'Prompt for development and/or incomplete code/drivers' CONFIG_EXPERIMENTAL
17 mainmenu_option next_comment
18 comment 'Loadable module support'
19 bool 'Enable loadable module support' CONFIG_MODULES
20 if [ "$CONFIG_MODULES" = "y" ]; then
21 bool ' Set version information on all module symbols' CONFIG_MODVERSIONS
22 bool ' Kernel module loader' CONFIG_KMOD
26 mainmenu_option next_comment
27 comment 'Processor type and features'
28 choice 'Processor family' \
31 586/K5/5x86/6x86/6x86MX CONFIG_M586 \
32 Pentium-Classic CONFIG_M586TSC \
33 Pentium-MMX CONFIG_M586MMX \
34 Pentium-Pro/Celeron/Pentium-II CONFIG_M686 \
35 Pentium-III/Celeron(Coppermine) CONFIG_MPENTIUMIII \
36 Pentium-4 CONFIG_MPENTIUM4 \
37 K6/K6-II/K6-III CONFIG_MK6 \
38 Athlon/Duron/K7 CONFIG_MK7 \
39 Opteron/Athlon64/Hammer/K8 CONFIG_MK8 \
41 Crusoe CONFIG_MCRUSOE \
42 Winchip-C6 CONFIG_MWINCHIPC6 \
43 Winchip-2 CONFIG_MWINCHIP2 \
44 Winchip-2A/Winchip-3 CONFIG_MWINCHIP3D \
45 CyrixIII/VIA-C3/VIA-C5 CONFIG_MCYRIXIII" Pentium-Pro
47 # Define implied options from the CPU selection here
50 if [ "$CONFIG_M386" = "y" ]; then
51 define_bool CONFIG_X86_CMPXCHG n
52 define_bool CONFIG_X86_XADD n
53 define_int CONFIG_X86_L1_CACHE_SHIFT 4
54 define_bool CONFIG_RWSEM_GENERIC_SPINLOCK y
55 define_bool CONFIG_RWSEM_XCHGADD_ALGORITHM n
56 define_bool CONFIG_X86_PPRO_FENCE y
57 define_bool CONFIG_X86_F00F_WORKS_OK n
59 define_bool CONFIG_X86_WP_WORKS_OK y
60 define_bool CONFIG_X86_INVLPG y
61 define_bool CONFIG_X86_CMPXCHG y
62 define_bool CONFIG_X86_XADD y
63 define_bool CONFIG_X86_BSWAP y
64 define_bool CONFIG_X86_POPAD_OK y
65 define_bool CONFIG_RWSEM_GENERIC_SPINLOCK n
66 define_bool CONFIG_RWSEM_XCHGADD_ALGORITHM y
68 if [ "$CONFIG_M486" = "y" ]; then
69 define_int CONFIG_X86_L1_CACHE_SHIFT 4
70 define_bool CONFIG_X86_USE_STRING_486 y
71 define_bool CONFIG_X86_ALIGNMENT_16 y
72 define_bool CONFIG_X86_PPRO_FENCE y
73 define_bool CONFIG_X86_F00F_WORKS_OK n
75 if [ "$CONFIG_M586" = "y" ]; then
76 define_int CONFIG_X86_L1_CACHE_SHIFT 5
77 define_bool CONFIG_X86_USE_STRING_486 y
78 define_bool CONFIG_X86_ALIGNMENT_16 y
79 define_bool CONFIG_X86_PPRO_FENCE y
80 define_bool CONFIG_X86_F00F_WORKS_OK n
82 if [ "$CONFIG_M586TSC" = "y" ]; then
83 define_int CONFIG_X86_L1_CACHE_SHIFT 5
84 define_bool CONFIG_X86_USE_STRING_486 y
85 define_bool CONFIG_X86_ALIGNMENT_16 y
86 define_bool CONFIG_X86_HAS_TSC y
87 define_bool CONFIG_X86_PPRO_FENCE y
88 define_bool CONFIG_X86_F00F_WORKS_OK n
90 if [ "$CONFIG_M586MMX" = "y" ]; then
91 define_int CONFIG_X86_L1_CACHE_SHIFT 5
92 define_bool CONFIG_X86_USE_STRING_486 y
93 define_bool CONFIG_X86_ALIGNMENT_16 y
94 define_bool CONFIG_X86_HAS_TSC y
95 define_bool CONFIG_X86_GOOD_APIC y
96 define_bool CONFIG_X86_PPRO_FENCE y
97 define_bool CONFIG_X86_F00F_WORKS_OK n
99 if [ "$CONFIG_M686" = "y" ]; then
100 define_int CONFIG_X86_L1_CACHE_SHIFT 5
101 define_bool CONFIG_X86_HAS_TSC y
102 define_bool CONFIG_X86_GOOD_APIC y
103 bool 'PGE extensions (not for Cyrix/Transmeta)' CONFIG_X86_PGE
104 define_bool CONFIG_X86_USE_PPRO_CHECKSUM y
105 define_bool CONFIG_X86_PPRO_FENCE y
106 define_bool CONFIG_X86_F00F_WORKS_OK y
108 if [ "$CONFIG_MPENTIUMIII" = "y" ]; then
109 define_int CONFIG_X86_L1_CACHE_SHIFT 5
110 define_bool CONFIG_X86_HAS_TSC y
111 define_bool CONFIG_X86_GOOD_APIC y
112 define_bool CONFIG_X86_PGE y
113 define_bool CONFIG_X86_USE_PPRO_CHECKSUM y
114 define_bool CONFIG_X86_F00F_WORKS_OK y
116 if [ "$CONFIG_MPENTIUM4" = "y" ]; then
117 define_int CONFIG_X86_L1_CACHE_SHIFT 7
118 define_bool CONFIG_X86_HAS_TSC y
119 define_bool CONFIG_X86_GOOD_APIC y
120 define_bool CONFIG_X86_PGE y
121 define_bool CONFIG_X86_USE_PPRO_CHECKSUM y
122 define_bool CONFIG_X86_F00F_WORKS_OK y
124 if [ "$CONFIG_MK6" = "y" ]; then
125 define_int CONFIG_X86_L1_CACHE_SHIFT 5
126 define_bool CONFIG_X86_ALIGNMENT_16 y
127 define_bool CONFIG_X86_HAS_TSC y
128 define_bool CONFIG_X86_USE_PPRO_CHECKSUM y
130 if [ "$CONFIG_MK8" = "y" ]; then
131 # for now. may later want to add SSE support and optimized
133 define_bool CONFIG_MK7 y
135 if [ "$CONFIG_MK7" = "y" ]; then
136 define_int CONFIG_X86_L1_CACHE_SHIFT 6
137 define_bool CONFIG_X86_HAS_TSC y
138 define_bool CONFIG_X86_GOOD_APIC y
139 define_bool CONFIG_X86_USE_3DNOW y
140 define_bool CONFIG_X86_PGE y
141 define_bool CONFIG_X86_USE_PPRO_CHECKSUM y
142 define_bool CONFIG_X86_F00F_WORKS_OK y
144 if [ "$CONFIG_MELAN" = "y" ]; then
145 define_int CONFIG_X86_L1_CACHE_SHIFT 4
146 define_bool CONFIG_X86_USE_STRING_486 y
147 define_bool CONFIG_X86_ALIGNMENT_16 y
148 define_bool CONFIG_X86_F00F_WORKS_OK y
150 if [ "$CONFIG_MCYRIXIII" = "y" ]; then
151 define_int CONFIG_X86_L1_CACHE_SHIFT 5
152 define_bool CONFIG_X86_HAS_TSC y
153 define_bool CONFIG_X86_ALIGNMENT_16 y
154 define_bool CONFIG_X86_USE_3DNOW y
155 define_bool CONFIG_X86_USE_PPRO_CHECKSUM y
157 if [ "$CONFIG_MCRUSOE" = "y" ]; then
158 define_int CONFIG_X86_L1_CACHE_SHIFT 5
159 define_bool CONFIG_X86_HAS_TSC y
160 define_bool CONFIG_X86_F00F_WORKS_OK y
162 if [ "$CONFIG_MWINCHIPC6" = "y" ]; then
163 define_int CONFIG_X86_L1_CACHE_SHIFT 5
164 define_bool CONFIG_X86_ALIGNMENT_16 y
165 define_bool CONFIG_X86_USE_PPRO_CHECKSUM y
166 define_bool CONFIG_X86_OOSTORE y
167 define_bool CONFIG_X86_F00F_WORKS_OK y
169 if [ "$CONFIG_MWINCHIP2" = "y" ]; then
170 define_int CONFIG_X86_L1_CACHE_SHIFT 5
171 define_bool CONFIG_X86_ALIGNMENT_16 y
172 define_bool CONFIG_X86_HAS_TSC y
173 define_bool CONFIG_X86_USE_PPRO_CHECKSUM y
174 define_bool CONFIG_X86_OOSTORE y
175 define_bool CONFIG_X86_F00F_WORKS_OK y
177 if [ "$CONFIG_MWINCHIP3D" = "y" ]; then
178 define_int CONFIG_X86_L1_CACHE_SHIFT 5
179 define_bool CONFIG_X86_ALIGNMENT_16 y
180 define_bool CONFIG_X86_HAS_TSC y
181 define_bool CONFIG_X86_USE_PPRO_CHECKSUM y
182 define_bool CONFIG_X86_OOSTORE y
183 define_bool CONFIG_X86_F00F_WORKS_OK y
186 bool 'Machine Check Exception' CONFIG_X86_MCE
188 tristate 'Toshiba Laptop support' CONFIG_TOSHIBA
189 tristate 'Dell laptop support' CONFIG_I8K
191 tristate '/dev/cpu/microcode - Intel IA32 CPU microcode support' CONFIG_MICROCODE
192 tristate '/dev/cpu/*/msr - Model-specific register support' CONFIG_X86_MSR
193 tristate '/dev/cpu/*/cpuid - CPU information support' CONFIG_X86_CPUID
195 choice 'High Memory Support' \
196 "off CONFIG_NOHIGHMEM \
197 4GB CONFIG_HIGHMEM4G \
198 64GB CONFIG_HIGHMEM64G" off
199 if [ "$CONFIG_HIGHMEM4G" = "y" -o "$CONFIG_HIGHMEM64G" = "y" ]; then
200 define_bool CONFIG_HIGHMEM y
202 define_bool CONFIG_HIGHMEM n
204 if [ "$CONFIG_HIGHMEM64G" = "y" ]; then
205 define_bool CONFIG_X86_PAE y
208 if [ "$CONFIG_HIGHMEM" = "y" ]; then
209 bool 'HIGHMEM I/O support' CONFIG_HIGHIO
212 bool 'Math emulation' CONFIG_MATH_EMULATION
213 bool 'MTRR (Memory Type Range Register) support' CONFIG_MTRR
214 bool 'Symmetric multi-processing support' CONFIG_SMP
215 if [ "$CONFIG_SMP" != "y" ]; then
216 bool 'Local APIC support on uniprocessors' CONFIG_X86_UP_APIC
217 dep_bool 'IO-APIC support on uniprocessors' CONFIG_X86_UP_IOAPIC $CONFIG_X86_UP_APIC
218 if [ "$CONFIG_X86_UP_APIC" = "y" ]; then
219 define_bool CONFIG_X86_LOCAL_APIC y
221 if [ "$CONFIG_X86_UP_IOAPIC" = "y" ]; then
222 define_bool CONFIG_X86_IO_APIC y
225 bool 'Multi-node NUMA system support' CONFIG_X86_NUMA
226 if [ "$CONFIG_X86_NUMA" = "y" ]; then
228 bool ' Multiquad (IBM/Sequent) NUMAQ support' CONFIG_X86_NUMAQ
229 if [ "$CONFIG_X86_NUMAQ" = "y" ]; then
230 define_bool CONFIG_X86_CLUSTERED_APIC y
231 define_bool CONFIG_MULTIQUAD y
233 bool ' IBM x440 (Summit/EXA) support' CONFIG_X86_SUMMIT
234 if [ "$CONFIG_X86_SUMMIT" = "y" ]; then
235 define_bool CONFIG_X86_CLUSTERED_APIC y
240 if [ "$CONFIG_X86_NUMA" != "y" ]; then
241 bool 'Unsynced TSC support' CONFIG_X86_TSC_DISABLE
242 if [ "$CONFIG_X86_TSC_DISABLE" != "y" -a "$CONFIG_X86_HAS_TSC" = "y" ]; then
243 define_bool CONFIG_X86_TSC y
247 if [ "$CONFIG_SMP" = "y" -a "$CONFIG_X86_CMPXCHG" = "y" ]; then
248 define_bool CONFIG_HAVE_DEC_LOCK y
252 mainmenu_option next_comment
253 comment 'General setup'
255 bool 'Networking support' CONFIG_NET
257 # Visual Workstation support is utterly broken.
258 # If you want to see it working mail an VW540 to hch@infradead.org 8)
259 #bool 'SGI Visual Workstation support' CONFIG_VISWS
260 if [ "$CONFIG_VISWS" = "y" ]; then
261 define_bool CONFIG_X86_VISWS_APIC y
262 define_bool CONFIG_X86_LOCAL_APIC y
263 define_bool CONFIG_PCI y
264 define_bool CONFIG_ISA n
266 if [ "$CONFIG_SMP" = "y" ]; then
267 define_bool CONFIG_X86_IO_APIC y
268 define_bool CONFIG_X86_LOCAL_APIC y
270 bool 'PCI support' CONFIG_PCI
271 if [ "$CONFIG_PCI" = "y" ]; then
272 choice ' PCI access mode' \
273 "BIOS CONFIG_PCI_GOBIOS \
274 Direct CONFIG_PCI_GODIRECT \
275 Any CONFIG_PCI_GOANY" Any
276 if [ "$CONFIG_PCI_GOBIOS" = "y" -o "$CONFIG_PCI_GOANY" = "y" ]; then
277 define_bool CONFIG_PCI_BIOS y
279 if [ "$CONFIG_PCI_GODIRECT" = "y" -o "$CONFIG_PCI_GOANY" = "y" ]; then
280 define_bool CONFIG_PCI_DIRECT y
283 bool 'ISA bus support' CONFIG_ISA
286 source drivers/pci/Config.in
288 bool 'EISA support' CONFIG_EISA
290 if [ "$CONFIG_VISWS" != "y" ]; then
291 bool 'MCA support' CONFIG_MCA
293 define_bool CONFIG_MCA n
296 bool 'Support for hot-pluggable devices' CONFIG_HOTPLUG
298 if [ "$CONFIG_HOTPLUG" = "y" ] ; then
299 source drivers/pcmcia/Config.in
300 source drivers/hotplug/Config.in
302 define_bool CONFIG_PCMCIA n
303 define_bool CONFIG_HOTPLUG_PCI n
306 bool 'System V IPC' CONFIG_SYSVIPC
307 bool 'BSD Process Accounting' CONFIG_BSD_PROCESS_ACCT
308 bool 'Sysctl support' CONFIG_SYSCTL
309 if [ "$CONFIG_PROC_FS" = "y" ]; then
310 choice 'Kernel core (/proc/kcore) format' \
311 "ELF CONFIG_KCORE_ELF \
312 A.OUT CONFIG_KCORE_AOUT" ELF
314 tristate 'Kernel support for a.out binaries' CONFIG_BINFMT_AOUT
315 tristate 'Kernel support for ELF binaries' CONFIG_BINFMT_ELF
316 tristate 'Kernel support for MISC binaries' CONFIG_BINFMT_MISC
318 bool 'Power Management support' CONFIG_PM
320 if [ "$CONFIG_EXPERIMENTAL" = "y" ]; then
321 dep_bool ' ACPI support' CONFIG_ACPI $CONFIG_PM
323 if [ "$CONFIG_ACPI" != "n" ]; then
324 source drivers/acpi/Config.in
328 dep_tristate ' Advanced Power Management BIOS support' CONFIG_APM $CONFIG_PM
329 if [ "$CONFIG_APM" != "n" ]; then
330 bool ' Ignore USER SUSPEND' CONFIG_APM_IGNORE_USER_SUSPEND
331 bool ' Enable PM at boot time' CONFIG_APM_DO_ENABLE
332 bool ' Make CPU Idle calls when idle' CONFIG_APM_CPU_IDLE
333 bool ' Enable console blanking using APM' CONFIG_APM_DISPLAY_BLANK
334 bool ' RTC stores time in GMT' CONFIG_APM_RTC_IS_GMT
335 bool ' Allow interrupts during APM BIOS calls' CONFIG_APM_ALLOW_INTS
336 bool ' Use real mode APM BIOS call to power off' CONFIG_APM_REAL_MODE_POWER_OFF
341 source drivers/mtd/Config.in
343 source drivers/parport/Config.in
345 source drivers/pnp/Config.in
347 source drivers/block/Config.in
349 source drivers/md/Config.in
351 if [ "$CONFIG_NET" = "y" ]; then
355 source drivers/telephony/Config.in
357 mainmenu_option next_comment
358 comment 'ATA/IDE/MFM/RLL support'
360 tristate 'ATA/IDE/MFM/RLL support' CONFIG_IDE
362 if [ "$CONFIG_IDE" != "n" ]; then
363 source drivers/ide/Config.in
365 define_bool CONFIG_BLK_DEV_IDE_MODES n
366 define_bool CONFIG_BLK_DEV_HD n
370 mainmenu_option next_comment
371 comment 'SCSI support'
373 tristate 'SCSI support' CONFIG_SCSI
375 if [ "$CONFIG_SCSI" != "n" ]; then
376 source drivers/scsi/Config.in
380 source drivers/message/fusion/Config.in
382 source drivers/ieee1394/Config.in
384 source drivers/message/i2o/Config.in
386 if [ "$CONFIG_NET" = "y" ]; then
387 mainmenu_option next_comment
388 comment 'Network device support'
390 bool 'Network device support' CONFIG_NETDEVICES
391 if [ "$CONFIG_NETDEVICES" = "y" ]; then
392 source drivers/net/Config.in
393 if [ "$CONFIG_ATM" = "y" ]; then
394 source drivers/atm/Config.in
400 source net/ax25/Config.in
402 source net/irda/Config.in
404 mainmenu_option next_comment
405 comment 'ISDN subsystem'
406 if [ "$CONFIG_NET" != "n" ]; then
407 tristate 'ISDN support' CONFIG_ISDN
408 if [ "$CONFIG_ISDN" != "n" ]; then
409 source drivers/isdn/Config.in
414 if [ "$CONFIG_ISA" = "y" ]; then
415 mainmenu_option next_comment
416 comment 'Old CD-ROM drivers (not SCSI, not IDE)'
418 bool 'Support non-SCSI/IDE/ATAPI CDROM drives' CONFIG_CD_NO_IDESCSI
419 if [ "$CONFIG_CD_NO_IDESCSI" != "n" ]; then
420 source drivers/cdrom/Config.in
426 # input before char - char/joystick depends on it. As does USB.
428 source drivers/input/Config.in
429 source drivers/char/Config.in
431 #source drivers/misc/Config.in
433 source drivers/media/Config.in
437 if [ "$CONFIG_VT" = "y" ]; then
438 mainmenu_option next_comment
439 comment 'Console drivers'
440 bool 'VGA text console' CONFIG_VGA_CONSOLE
441 bool 'Video mode selection support' CONFIG_VIDEO_SELECT
442 if [ "$CONFIG_EXPERIMENTAL" = "y" ]; then
443 tristate 'MDA text console (dual-headed) (EXPERIMENTAL)' CONFIG_MDA_CONSOLE
444 source drivers/video/Config.in
449 mainmenu_option next_comment
452 tristate 'Sound card support' CONFIG_SOUND
453 if [ "$CONFIG_SOUND" != "n" ]; then
454 source drivers/sound/Config.in
458 source drivers/usb/Config.in
460 source net/bluetooth/Config.in
462 mainmenu_option next_comment
463 comment 'Kernel hacking'
465 bool 'Kernel debugging' CONFIG_DEBUG_KERNEL
466 if [ "$CONFIG_DEBUG_KERNEL" != "n" ]; then
467 bool ' Check for stack overflows' CONFIG_DEBUG_STACKOVERFLOW
468 bool ' Debug high memory support' CONFIG_DEBUG_HIGHMEM
469 bool ' Debug memory allocations' CONFIG_DEBUG_SLAB
470 bool ' Memory mapped I/O debugging' CONFIG_DEBUG_IOVIRT
471 bool ' Magic SysRq key' CONFIG_MAGIC_SYSRQ
472 bool ' Spinlock debugging' CONFIG_DEBUG_SPINLOCK
473 bool ' Compile the kernel with frame pointers' CONFIG_FRAME_POINTER