setup enviroment for compilation
[linux-2.4.21-pre4.git] / arch / i386 / config.in
1 #
2 # For a description of the syntax of this configuration file,
3 # see Documentation/kbuild/config-language.txt.
4 #
5 mainmenu_name "Linux Kernel Configuration"
6
7 define_bool CONFIG_X86 y
8 define_bool CONFIG_SBUS n
9
10 define_bool CONFIG_UID16 y
11
12 mainmenu_option next_comment
13 comment 'Code maturity level options'
14 bool 'Prompt for development and/or incomplete code/drivers' CONFIG_EXPERIMENTAL
15 endmenu
16
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
23 fi
24 endmenu
25
26 mainmenu_option next_comment
27 comment 'Processor type and features'
28 choice 'Processor family' \
29         "386                                    CONFIG_M386 \
30          486                                    CONFIG_M486 \
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 \
40          Elan                                   CONFIG_MELAN \
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
46 #
47 # Define implied options from the CPU selection here
48 #
49
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
58 else
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
67 fi
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
74 fi
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
81 fi
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
89 fi
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
98 fi
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
107 fi
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
115 fi
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
123 fi
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
129 fi
130 if [ "$CONFIG_MK8" = "y" ]; then
131    # for now. may later want to add SSE support and optimized
132    # functions
133    define_bool CONFIG_MK7 y
134 fi
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
143 fi
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
149 fi
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
156 fi
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
161 fi
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
168 fi
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
176 fi
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
184 fi
185
186 bool 'Machine Check Exception' CONFIG_X86_MCE
187
188 tristate 'Toshiba Laptop support' CONFIG_TOSHIBA
189 tristate 'Dell laptop support' CONFIG_I8K
190
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
194
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
201 else
202    define_bool CONFIG_HIGHMEM n
203 fi
204 if [ "$CONFIG_HIGHMEM64G" = "y" ]; then
205    define_bool CONFIG_X86_PAE y
206 fi
207
208 if [ "$CONFIG_HIGHMEM" = "y" ]; then
209    bool 'HIGHMEM I/O support' CONFIG_HIGHIO
210 fi
211
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
220    fi
221    if [ "$CONFIG_X86_UP_IOAPIC" = "y" ]; then
222       define_bool CONFIG_X86_IO_APIC y
223    fi
224 else
225    bool 'Multi-node NUMA system support' CONFIG_X86_NUMA
226    if [ "$CONFIG_X86_NUMA" = "y" ]; then
227       #Platform Choices
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
232       fi
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
236       fi
237    fi
238 fi
239
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
244    fi
245 fi
246
247 if [ "$CONFIG_SMP" = "y" -a "$CONFIG_X86_CMPXCHG" = "y" ]; then
248    define_bool CONFIG_HAVE_DEC_LOCK y
249 fi
250 endmenu
251
252 mainmenu_option next_comment
253 comment 'General setup'
254
255 bool 'Networking support' CONFIG_NET
256
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
265 else
266    if [ "$CONFIG_SMP" = "y" ]; then
267       define_bool CONFIG_X86_IO_APIC y
268       define_bool CONFIG_X86_LOCAL_APIC y
269    fi
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
278       fi
279       if [ "$CONFIG_PCI_GODIRECT" = "y" -o "$CONFIG_PCI_GOANY" = "y" ]; then
280          define_bool CONFIG_PCI_DIRECT y
281       fi
282    fi
283    bool 'ISA bus support' CONFIG_ISA
284 fi
285
286 source drivers/pci/Config.in
287
288 bool 'EISA support' CONFIG_EISA
289
290 if [ "$CONFIG_VISWS" != "y" ]; then
291    bool 'MCA support' CONFIG_MCA
292 else
293    define_bool CONFIG_MCA n
294 fi
295
296 bool 'Support for hot-pluggable devices' CONFIG_HOTPLUG
297
298 if [ "$CONFIG_HOTPLUG" = "y" ] ; then
299    source drivers/pcmcia/Config.in
300    source drivers/hotplug/Config.in
301 else
302    define_bool CONFIG_PCMCIA n
303    define_bool CONFIG_HOTPLUG_PCI n
304 fi
305
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
313 fi
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
317
318 bool 'Power Management support' CONFIG_PM
319
320 if [ "$CONFIG_EXPERIMENTAL" = "y" ]; then
321    dep_bool '  ACPI support' CONFIG_ACPI $CONFIG_PM
322    
323    if [ "$CONFIG_ACPI" != "n" ]; then
324       source drivers/acpi/Config.in
325    fi
326 fi
327
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
337 fi
338
339 endmenu
340
341 source drivers/mtd/Config.in
342
343 source drivers/parport/Config.in
344
345 source drivers/pnp/Config.in
346
347 source drivers/block/Config.in
348
349 source drivers/md/Config.in
350
351 if [ "$CONFIG_NET" = "y" ]; then
352    source net/Config.in
353 fi
354
355 source drivers/telephony/Config.in
356
357 mainmenu_option next_comment
358 comment 'ATA/IDE/MFM/RLL support'
359
360 tristate 'ATA/IDE/MFM/RLL support' CONFIG_IDE
361
362 if [ "$CONFIG_IDE" != "n" ]; then
363    source drivers/ide/Config.in
364 else
365    define_bool CONFIG_BLK_DEV_IDE_MODES n
366    define_bool CONFIG_BLK_DEV_HD n
367 fi
368 endmenu
369
370 mainmenu_option next_comment
371 comment 'SCSI support'
372
373 tristate 'SCSI support' CONFIG_SCSI
374
375 if [ "$CONFIG_SCSI" != "n" ]; then
376    source drivers/scsi/Config.in
377 fi
378 endmenu
379
380 source drivers/message/fusion/Config.in
381
382 source drivers/ieee1394/Config.in
383
384 source drivers/message/i2o/Config.in
385
386 if [ "$CONFIG_NET" = "y" ]; then
387    mainmenu_option next_comment
388    comment 'Network device support'
389
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
395       fi
396    fi
397    endmenu
398 fi
399
400 source net/ax25/Config.in
401
402 source net/irda/Config.in
403
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
410    fi
411 fi
412 endmenu
413
414 if [ "$CONFIG_ISA" = "y" ]; then
415     mainmenu_option next_comment
416     comment 'Old CD-ROM drivers (not SCSI, not IDE)'
417
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
421     fi
422     endmenu
423 fi
424
425 #
426 # input before char - char/joystick depends on it. As does USB.
427 #
428 source drivers/input/Config.in
429 source drivers/char/Config.in
430
431 #source drivers/misc/Config.in
432
433 source drivers/media/Config.in
434
435 source fs/Config.in
436
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
445    fi
446    endmenu
447 fi
448
449 mainmenu_option next_comment
450 comment 'Sound'
451
452 tristate 'Sound card support' CONFIG_SOUND
453 if [ "$CONFIG_SOUND" != "n" ]; then
454    source drivers/sound/Config.in
455 fi
456 endmenu
457
458 source drivers/usb/Config.in
459
460 source net/bluetooth/Config.in
461
462 mainmenu_option next_comment
463 comment 'Kernel hacking'
464
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
474 fi
475
476 endmenu
477
478 source lib/Config.in