1#
2# For a description of the syntax of this configuration file,
3# see Documentation/kbuild/config-language.txt.
4#
5mainmenu_name "ARM Linux Kernel Configuration"
6
7define_bool CONFIG_ARM y
8define_bool CONFIG_EISA n
9define_bool CONFIG_SBUS n
10define_bool CONFIG_MCA n
11define_bool CONFIG_UID16 y
12define_bool CONFIG_RWSEM_GENERIC_SPINLOCK y
13define_bool CONFIG_RWSEM_XCHGADD_ALGORITHM n
14define_bool CONFIG_GENERIC_BUST_SPINLOCK n
15define_bool CONFIG_GENERIC_ISA_DMA n
16
17mainmenu_option next_comment
18comment 'Code maturity level options'
19bool 'Prompt for development and/or incomplete code/drivers' CONFIG_EXPERIMENTAL
20bool 'Prompt for obsolete code/drivers' CONFIG_OBSOLETE
21endmenu
22
23
24mainmenu_option next_comment
25comment 'Loadable module support'
26bool 'Enable loadable module support' CONFIG_MODULES
27dep_bool '  Set version information on all module symbols' CONFIG_MODVERSIONS $CONFIG_MODULES
28dep_bool '  Kernel module loader' CONFIG_KMOD $CONFIG_MODULES
29endmenu
30
31
32mainmenu_option next_comment
33comment 'System Type'
34
35choice 'ARM system type' \
36	"Anakin			CONFIG_ARCH_ANAKIN \
37	 Archimedes/A5000	CONFIG_ARCH_ARCA5K \
38	 Cirrus-CL-PS7500FE     CONFIG_ARCH_CLPS7500 \
39 	 CLPS711x/EP721x-based	CONFIG_ARCH_CLPS711X \
40	 Co-EBSA285		CONFIG_ARCH_CO285 \
41	 EBSA-110		CONFIG_ARCH_EBSA110 \
42 	 Excalibur-ARM          CONFIG_ARCH_CAMELOT \
43	 FootBridge		CONFIG_ARCH_FOOTBRIDGE \
44	 Integrator		CONFIG_ARCH_INTEGRATOR \
45	 Omaha			CONFIG_ARCH_OMAHA \
46	 LinkUp-L7200		CONFIG_ARCH_L7200 \
47	 Motorola-MX1ADS        CONFIG_ARCH_MX1ADS \
48	 RiscPC			CONFIG_ARCH_RPC \
49	 RiscStation		CONFIG_ARCH_RISCSTATION \
50	 SA1100-based		CONFIG_ARCH_SA1100 \
51	 Shark			CONFIG_ARCH_SHARK \
52	 AT91RM9200-based	CONFIG_ARCH_AT91RM9200 " RiscPC
53
54mainmenu_option next_comment
55comment 'Archimedes/A5000 Implementations'
56# These architectures will be combined.  However, until this
57# is complete...  Note that the ARC will take precedence over
58# A5K
59comment 'Archimedes/A5000 Implementations (select only ONE)'
60dep_bool '  Archimedes' CONFIG_ARCH_ARC $CONFIG_ARCH_ARCA5K
61dep_bool '  A5000' CONFIG_ARCH_A5K $CONFIG_ARCH_ARCA5K
62endmenu
63
64mainmenu_option next_comment
65comment 'Footbridge Implementations'
66dep_bool '  CATS' CONFIG_ARCH_CATS $CONFIG_ARCH_FOOTBRIDGE
67dep_bool '  Compaq Personal Server' CONFIG_ARCH_PERSONAL_SERVER $CONFIG_ARCH_FOOTBRIDGE
68dep_bool '  EBSA285 (addin mode)' CONFIG_ARCH_EBSA285_ADDIN $CONFIG_ARCH_FOOTBRIDGE
69dep_bool '  EBSA285 (host mode)' CONFIG_ARCH_EBSA285_HOST $CONFIG_ARCH_FOOTBRIDGE
70dep_bool '  NetWinder' CONFIG_ARCH_NETWINDER $CONFIG_ARCH_FOOTBRIDGE
71endmenu
72
73mainmenu_option next_comment
74comment 'SA11x0 Implementations'
75dep_bool '  ACCELENT DevBoard' CONFIG_SA1100_ACCELENT $CONFIG_ARCH_SA1100
76dep_bool '  Assabet' CONFIG_SA1100_ASSABET $CONFIG_ARCH_SA1100
77dep_bool '    Include support for Neponset' CONFIG_ASSABET_NEPONSET $CONFIG_SA1100_ASSABET
78dep_bool '  ADS Advanced Graphics Client' CONFIG_SA1100_ADSAGC $CONFIG_ARCH_SA1100
79dep_bool '  ADS Bitsy' CONFIG_SA1100_ADSBITSY $CONFIG_ARCH_SA1100
80dep_bool '  ADS Bitsy Plus' CONFIG_SA1100_ADSBITSYPLUS $CONFIG_ARCH_SA1100
81dep_bool '  Brutus' CONFIG_SA1100_BRUTUS $CONFIG_ARCH_SA1100
82dep_bool '  Cep' CONFIG_SA1100_CEP $CONFIG_ARCH_SA1100
83dep_bool '  CerfBoard' CONFIG_SA1100_CERF $CONFIG_ARCH_SA1100
84if [ "$CONFIG_SA1100_CERF" = "y" ]; then
85   choice 'Cerf RAM available' \
86        "8MB   CONFIG_SA1100_CERF_8MB \
87         16MB   CONFIG_SA1100_CERF_16MB \
88         32MB   CONFIG_SA1100_CERF_32MB \
89         64MB   CONFIG_SA1100_CERF_64MB" CerfRam
90   choice 'Cerf Flash available'  \
91        "8MB    CONFIG_SA1100_CERF_FLASH_8MB \
92         16MB   CONFIG_SA1100_CERF_FLASH_16MB \
93         32MB   CONFIG_SA1100_CERF_FLASH_32MB" 8MB
94   bool 'Cerf w/CPLD support (CerfPDA)' CONFIG_SA1100_CERF_CPLD
95fi
96dep_bool '  Compaq iPAQ H3100' CONFIG_SA1100_H3100 $CONFIG_ARCH_SA1100
97dep_bool '  Compaq iPAQ H3600/H3700' CONFIG_SA1100_H3600 $CONFIG_ARCH_SA1100
98dep_bool '  Compaq iPAQ H3800' CONFIG_SA1100_H3800 $CONFIG_ARCH_SA1100
99if [ "$CONFIG_SA1100_H3100" = "y" -o "$CONFIG_SA1100_H3600" = "y" -o "$CONFIG_SA1100_H3800" = "y" ]; then
100  define_bool CONFIG_SA1100_H3XXX y
101else
102  define_bool CONFIG_SA1100_H3XXX n
103fi
104dep_tristate 'Compaq iPAQ Handheld sleeve support' CONFIG_H3600_SLEEVE $CONFIG_SA1100_H3600
105#dep_bool '  Consus' CONFIG_SA1100_CONSUS $CONFIG_ARCH_SA1100
106#dep_bool '  Empeg' CONFIG_SA1100_EMPEG $CONFIG_ARCH_SA1100
107dep_bool '  Extenex HandHeld Theater (Squashtail)' CONFIG_SA1100_EXTENEX1 $CONFIG_ARCH_SA1100
108if [ "$CONFIG_SA1100_EXTENEX1" = "y" ]; then
109   bool '    Support 16 MB of DRAM (not just 8)' CONFIG_SA1100_EXTENEX1_16MB
110fi
111dep_bool '  FlexaNet' CONFIG_SA1100_FLEXANET $CONFIG_ARCH_SA1100
112dep_bool '  FreeBird-v1.1' CONFIG_SA1100_FREEBIRD $CONFIG_ARCH_SA1100
113dep_bool '  Frodo' CONFIG_SA1100_FRODO $CONFIG_ARCH_SA1100
114dep_bool '  GraphicsClient Plus' CONFIG_SA1100_GRAPHICSCLIENT $CONFIG_ARCH_SA1100
115dep_bool '  GraphicsMaster' CONFIG_SA1100_GRAPHICSMASTER $CONFIG_ARCH_SA1100
116dep_bool '  HackKit Core Board' CONFIG_SA1100_HACKKIT $CONFIG_ARCH_SA1100
117dep_bool '  HP Labs BadgePAD 4' CONFIG_SA1100_BADGE4 $CONFIG_ARCH_SA1100
118dep_bool '  HP Jornada 720' CONFIG_SA1100_JORNADA720 $CONFIG_ARCH_SA1100
119dep_bool '  HuW WebPanel' CONFIG_SA1100_HUW_WEBPANEL $CONFIG_ARCH_SA1100
120dep_bool '  Itsy' CONFIG_SA1100_ITSY $CONFIG_ARCH_SA1100
121dep_bool '  LART' CONFIG_SA1100_LART $CONFIG_ARCH_SA1100
122dep_bool '  nanoEngine' CONFIG_SA1100_NANOENGINE $CONFIG_ARCH_SA1100
123dep_bool '  OmniMeter' CONFIG_SA1100_OMNIMETER $CONFIG_ARCH_SA1100
124dep_bool '  Pangolin' CONFIG_SA1100_PANGOLIN $CONFIG_ARCH_SA1100
125dep_bool '  PLEB' CONFIG_SA1100_PLEB $CONFIG_ARCH_SA1100
126dep_bool '  PT System 3' CONFIG_SA1100_PT_SYSTEM3 $CONFIG_ARCH_SA1100
127dep_bool '  Shannon' CONFIG_SA1100_SHANNON $CONFIG_ARCH_SA1100
128dep_bool '  Sherman' CONFIG_SA1100_SHERMAN $CONFIG_ARCH_SA1100
129dep_bool '  Simpad' CONFIG_SA1100_SIMPAD $CONFIG_ARCH_SA1100
130dep_bool '  Simputer' CONFIG_SA1100_SIMPUTER $CONFIG_ARCH_SA1100
131dep_bool '  Tulsa' CONFIG_SA1100_PFS168 $CONFIG_ARCH_SA1100
132dep_bool '  Victor' CONFIG_SA1100_VICTOR $CONFIG_ARCH_SA1100
133dep_bool '  XP860' CONFIG_SA1100_XP860 $CONFIG_ARCH_SA1100
134dep_bool '  Yopy' CONFIG_SA1100_YOPY $CONFIG_ARCH_SA1100
135
136dep_tristate 'SA1100 USB function support' CONFIG_SA1100_USB $CONFIG_ARCH_SA1100
137dep_tristate '  Support for SA11x0 USB network link function' CONFIG_SA1100_USB_NETLINK $CONFIG_SA1100_USB
138dep_tristate '  Support for SA11x0 USB character device emulation' CONFIG_SA1100_USB_CHAR $CONFIG_SA1100_USB
139
140dep_tristate 'SA1100 Generic PIO SSP support' CONFIG_SA1100_SSP $CONFIG_ARCH_SA1100
141
142endmenu
143
144mainmenu_option next_comment
145comment 'AT91RM9200 Implementations'
146dep_bool '  Atmel AT91RM9200 Development Board' CONFIG_ARCH_AT91RM9200DK $CONFIG_ARCH_AT91RM9200
147endmenu
148
149mainmenu_option next_comment
150comment 'CLPS711X/EP721X Implementations'
151dep_bool '  AUTCPU12' CONFIG_ARCH_AUTCPU12 $CONFIG_ARCH_CLPS711X
152dep_bool '  CDB89712' CONFIG_ARCH_CDB89712 $CONFIG_ARCH_CLPS711X
153dep_bool '  CLEP7312' CONFIG_ARCH_CLEP7312 $CONFIG_ARCH_CLPS711X
154dep_bool '  EDB7211' CONFIG_ARCH_EDB7211 $CONFIG_ARCH_CLPS711X
155dep_bool '  FORTUNET' CONFIG_ARCH_FORTUNET $CONFIG_ARCH_CLPS711X
156dep_bool '  GUIDEA07' CONFIG_ARCH_GUIDEA07 $CONFIG_ARCH_CLPS711X
157dep_bool '  P720T' CONFIG_ARCH_P720T $CONFIG_ARCH_CLPS711X
158
159
160# XXX Maybe these should indicate register compatibility
161# instead of being mutually exclusive.
162if [ "$CONFIG_ARCH_EDB7211" = "y" ]; then
163   define_bool CONFIG_ARCH_EP7211 y
164else
165   define_bool CONFIG_ARCH_EP7211 n
166fi
167if [ "$CONFIG_ARCH_P720T" = "y" ]; then
168   define_bool CONFIG_ARCH_EP7212 y
169else
170   define_bool CONFIG_ARCH_EP7212 n
171fi
172
173if [ "$CONFIG_ARCH_EP7211" = "y" -o \
174     "$CONFIG_ARCH_EP7212" = "y" ]; then
175   bool '  EP72xx ROM boot' CONFIG_EP72XX_ROM_BOOT
176fi
177
178if [ "$CONFIG_ARCH_GUIDEA07" = "y" ]; then
179   define_bool CONFIG_ARCH_CDB89712 y
180fi
181
182endmenu
183
184# Definitions to make life easier
185if [ "$CONFIG_ARCH_ARCA5K" = "y" -o \
186     "$CONFIG_ARCH_RPC" = "y" ]; then
187   define_bool CONFIG_ARCH_ACORN y
188else
189   define_bool CONFIG_ARCH_ACORN n
190fi
191
192#####################################################################
193# Footbridge support
194if [ "$CONFIG_ARCH_CO285" = "y" -o \
195     "$CONFIG_ARCH_FOOTBRIDGE" = "y" ]; then
196   define_bool CONFIG_FOOTBRIDGE y
197else
198   define_bool CONFIG_FOOTBRIDGE n
199fi
200if [ "$CONFIG_ARCH_CATS" = "y" -o \
201     "$CONFIG_ARCH_EBSA285_HOST" = "y" -o \
202     "$CONFIG_ARCH_NETWINDER" = "y" -o \
203     "$CONFIG_ARCH_PERSONAL_SERVER" = "y" ]; then
204   define_bool CONFIG_FOOTBRIDGE_HOST y
205else
206   define_bool CONFIG_FOOTBRIDGE_HOST n
207fi
208if [ "$CONFIG_ARCH_CO285" = "y" -o \
209     "$CONFIG_ARCH_EBSA285_ADDIN" = "y" ]; then
210   define_bool CONFIG_FOOTBRIDGE_ADDIN y
211else
212   define_bool CONFIG_FOOTBRIDGE_ADDIN n
213fi
214if [ "$CONFIG_ARCH_EBSA285_HOST" = "y" -o \
215     "$CONFIG_ARCH_EBSA285_ADDIN" = "y" ]; then
216   define_bool CONFIG_ARCH_EBSA285 y
217fi
218
219#####################################################################
220# SA1111 support
221if [ "$CONFIG_ASSABET_NEPONSET" = "y" -o \
222     "$CONFIG_SA1100_ACCELENT" = "y" -o \
223     "$CONFIG_SA1100_ADSAGC" = "y" -o \
224     "$CONFIG_SA1100_ADSBITSY" = "y" -o \
225     "$CONFIG_SA1100_ADSBITSYPLUS" = "y" -o \
226     "$CONFIG_SA1100_BADGE4" = "y" -o \
227     "$CONFIG_SA1100_CONSUS" = "y" -o \
228     "$CONFIG_SA1100_GRAPHICSMASTER" = "y" -o \
229     "$CONFIG_SA1100_JORNADA720" = "y" -o \
230     "$CONFIG_SA1100_PFS168" = "y" -o \
231     "$CONFIG_SA1100_PT_SYSTEM3" = "y" -o \
232     "$CONFIG_SA1100_XP860" = "y" ]; then
233   define_bool CONFIG_SA1111 y
234   define_int CONFIG_FORCE_MAX_ZONEORDER 9
235fi
236
237if [ "$CONFIG_ARCH_CAMELOT" = "y" ]; then
238  choice 'EPXA system type' \
239         "EPXA10DB CONFIG_EPXA10DB \
240          EPXA1DB  CONFIG_EPXA1DB" EPXA10DB
241
242if [ "$CONFIG_EPXA10DB" = "y" ]; then
243  choice 'EPXA10B version' \
244         "SDR CONFIG_EPXA10DB_R2 \
245          DDR CONFIG_EPXA10DB_R3" DDR
246fi
247
248   comment 'PLD hotswap support'
249   define_bool CONFIG_PLD y
250   dep_bool 'Support for PLD device hotplugging' CONFIG_PLD_HOTSWAP $CONFIG_EXPERIMENTAL
251fi
252
253comment 'Processor Type'
254
255# Figure out whether this system uses 26-bit or 32-bit CPUs.
256if [ "$CONFIG_ARCH_ARCA5K" = "y" ]; then
257   define_bool CONFIG_CPU_32 n
258   define_bool CONFIG_CPU_26 y
259   bool '2MB physical memory' CONFIG_PAGESIZE_16
260else
261   define_bool CONFIG_CPU_32 y
262   define_bool CONFIG_CPU_26 n
263fi
264
265# Select CPU types depending on the architecture selected.  This selects
266# which CPUs we support in the kernel image, and the compiler instruction
267# optimiser behaviour.
268
269# ARM610
270if [ "$CONFIG_ARCH_RPC" = "y" ]; then
271   bool 'Support ARM610 processor' CONFIG_CPU_ARM610
272else
273   define_bool CONFIG_CPU_ARM610 n
274fi
275
276# ARM710
277if [ "$CONFIG_ARCH_CLPS7500" = "y" -o \
278     "$CONFIG_ARCH_RISCSTATION" = "y" ]; then
279   define_bool CONFIG_CPU_ARM710 y
280else
281   if [ "$CONFIG_ARCH_RPC" = "y" ]; then
282      bool 'Support ARM710 processor' CONFIG_CPU_ARM710
283   else
284      define_bool CONFIG_CPU_ARM710 n
285   fi
286fi
287
288# ARM720T
289if [ "$CONFIG_ARCH_CLPS711X" = "y" -o \
290     "$CONFIG_ARCH_L7200"    = "y" -o \
291     "$CONFIG_ARCH_CDB89712" = "y" ]; then
292   define_bool CONFIG_CPU_ARM720T y
293else
294   if [ "$CONFIG_ARCH_INTEGRATOR" = "y" ]; then
295      bool 'Support ARM720T processor' CONFIG_CPU_ARM720T
296   else
297      define_bool CONFIG_CPU_ARM720T n
298   fi
299fi
300
301# ARM920T
302if [ "$CONFIG_ARCH_MX1ADS" = "y" -o \
303     "$CONFIG_ARCH_AT91RM9200" = "y" ]; then
304   define_bool CONFIG_CPU_ARM920T y
305else
306   if [ "$CONFIG_ARCH_INTEGRATOR" = "y" -o \
307	"$CONFIG_ARCH_OMAHA" = "y" ]; then
308      bool 'Support ARM920T processor' CONFIG_CPU_ARM920T
309   else
310      define_bool CONFIG_CPU_ARM920T n
311   fi
312fi
313
314
315# ARM922T
316if [ "$CONFIG_ARCH_CAMELOT" = "y" ]; then
317   define_bool CONFIG_CPU_ARM922T y
318   define_bool CONFIG_PLD y
319else
320   define_bool CONFIG_CPU_ARM922T n
321   define_bool CONFIG_PLD n
322fi
323
324# ARM926T
325if [ "$CONFIG_ARCH_INTEGRATOR" = "y" ]; then
326   bool 'Support ARM926T processor' CONFIG_CPU_ARM926T
327else
328   define_bool CONFIG_CPU_ARM926T n
329fi
330
331# ARM1020
332if [ "$CONFIG_ARCH_INTEGRATOR" = "y" ]; then
333   bool 'Support ARM1020 processor' CONFIG_CPU_ARM1020
334else
335    define_bool CONFIG_CPU_ARM1020 n
336fi
337
338# ARM1026EJ-S
339if [ "$CONFIG_ARCH_INTEGRATOR" = "y" ]; then
340   bool 'Support ARM1026EJ-S processor' CONFIG_CPU_ARM1026
341else
342   define_bool CONFIG_CPU_ARM1026 n
343fi
344
345# SA110
346if [ "$CONFIG_ARCH_EBSA110"  = "y" -o "$CONFIG_FOOTBRIDGE" = "y" -o \
347     "$CONFIG_ARCH_TBOX"     = "y" -o "$CONFIG_ARCH_SHARK" = "y" -o \
348     "$CONFIG_ARCH_NEXUSPCI" = "y" -o "$CONFIG_ARCH_ANAKIN" = "y" ]; then
349   define_bool CONFIG_CPU_SA110 y
350else
351   if [ "$CONFIG_ARCH_RPC" = "y" ]; then
352      bool 'Support StrongARM(R) SA-110 processor' CONFIG_CPU_SA110
353   else
354      define_bool CONFIG_CPU_SA110 n
355   fi
356fi
357
358# SA1100
359if [ "$CONFIG_ARCH_SA1100" = "y" ]; then
360   define_bool CONFIG_CPU_SA1100 y
361else
362   define_bool CONFIG_CPU_SA1100 n
363fi
364
365# Figure out what processor architecture version we should be using.
366# This defines the compiler instruction set which depends on the machine type.
367
368if [ "$CONFIG_ARCH_RPC"         = "y" -o \
369     "$CONFIG_ARCH_RISCSTATION" = "y" -o \
370     "$CONFIG_ARCH_CLPS7500"    = "y" ]; then
371   define_bool CONFIG_CPU_32v3 y
372else
373   define_bool CONFIG_CPU_32v3 n
374fi
375if [ "$CONFIG_ARCH_EBSA110"    = "y" -o "$CONFIG_FOOTBRIDGE"    = "y" -o \
376     "$CONFIG_ARCH_TBOX"       = "y" -o "$CONFIG_ARCH_SHARK"    = "y" -o \
377     "$CONFIG_ARCH_NEXUSPCI"   = "y" -o "$CONFIG_ARCH_CLPS711X" = "y" -o \
378     "$CONFIG_ARCH_INTEGRATOR" = "y" -o "$CONFIG_ARCH_SA1100"   = "y" -o \
379     "$CONFIG_ARCH_L7200"      = "y" -o "$CONFIG_ARCH_ANAKIN"	= "y" -o \
380     "$CONFIG_ARCH_CAMELOT"    = "y" -o "$CONFIG_ARCH_MX1ADS"   = "y" -o \
381     "$CONFIG_ARCH_OMAHA"      = "y" -o "$CONFIG_ARCH_AT91RM9200" = "y" ]; then
382   define_bool CONFIG_CPU_32v4 y
383else
384   define_bool CONFIG_CPU_32v4 n
385fi
386
387comment 'Processor Features'
388
389if [ "$CONFIG_CPU_ARM720T" = "y" -o "$CONFIG_CPU_ARM920T" = "y" -o \
390     "$CONFIG_CPU_ARM922T" = "y" -o "$CONFIG_CPU_ARM926T" = "y" -o \
391     "$CONFIG_CPU_ARM1020" = "y" -o "$CONFIG_CPU_ARM1026" = "y" ]; then
392   dep_bool 'Support Thumb instructions (EXPERIMENTAL)' CONFIG_ARM_THUMB $CONFIG_EXPERIMENTAL
393fi
394if [ "$CONFIG_CPU_ARM920T" = "y" -o "$CONFIG_CPU_ARM922T" = "y" -o \
395     "$CONFIG_CPU_ARM926T" = "y" -o "$CONFIG_CPU_ARM1020" = "y" -o \
396     "$CONFIG_CPU_ARM1026" = "y" ]; then
397   bool 'Disable I-Cache' CONFIG_CPU_ICACHE_DISABLE
398   bool 'Disable D-Cache' CONFIG_CPU_DCACHE_DISABLE
399   if [ "$CONFIG_CPU_DISABLE_DCACHE" = "n" ]; then
400      bool 'Force write through D-cache' CONFIG_CPU_DCACHE_WRITETHROUGH
401   fi
402fi
403if [ "$CONFIG_CPU_ARM926T" = "y" -o "$CONFIG_CPU_ARM1020" = "y" -o \
404     "$CONFIG_CPU_ARM1026" = "y" ]; then
405   if [ "$CONFIG_CPU_ICACHE_DISABLE" = "n" -o "$CONFIG_CPU_DCACHE_DISABLE" = "n" ]; then
406      bool 'Round robin I and D cache replacement algorithm' CONFIG_CPU_CACHE_ROUND_ROBIN
407   fi
408fi
409if [ "$CONFIG_CPU_ARM1020" = "y" -o "$CONFIG_CPU_ARM1026" = "y" ]; then
410   bool 'Disable branch prediction' CONFIG_CPU_BPREDICT_DISABLE
411fi
412
413
414# Select various configuration options depending on the machine type
415if [ "$CONFIG_ARCH_EDB7211" = "y" -o \
416     "$CONFIG_ARCH_SA1100" = "y" -o \
417     "$CONFIG_ARCH_RISCSTATION" = "y" ]; then
418   define_bool CONFIG_DISCONTIGMEM y
419else
420   define_bool CONFIG_DISCONTIGMEM n
421fi
422
423endmenu
424
425mainmenu_option next_comment
426comment 'General setup'
427
428# Now handle the bus types
429if [ "$CONFIG_ARCH_FTVPCI" = "y" -o \
430     "$CONFIG_ARCH_SHARK" = "y" -o \
431     "$CONFIG_FOOTBRIDGE_HOST" = "y" ]; then
432   define_bool CONFIG_PCI y
433else
434   if [ "$CONFIG_ARCH_INTEGRATOR" = "y" ]; then
435      bool 'PCI support' CONFIG_PCI_INTEGRATOR
436      define_bool CONFIG_PCI $CONFIG_PCI_INTEGRATOR
437   else
438      define_bool CONFIG_PCI n
439   fi
440fi
441
442if [ "$CONFIG_FOOTBRIDGE_HOST" = "y" -o \
443     "$CONFIG_ARCH_SHARK" = "y" -o \
444     "$CONFIG_ARCH_CLPS7500" = "y" -o \
445     "$CONFIG_ARCH_RISCSTATION" = "y" -o \
446     "$CONFIG_ARCH_EBSA110" = "y" -o \
447     "$CONFIG_ARCH_CDB89712" = "y" -o \
448     "$CONFIG_ARCH_EDB7211" = "y" -o \
449     "$CONFIG_ARCH_SA1100" = "y" ]; then
450   define_bool CONFIG_ISA y
451else
452   define_bool CONFIG_ISA n
453fi
454
455if [ "$CONFIG_FOOTBRIDGE_HOST" = "y" -o \
456     "$CONFIG_ARCH_SHARK" = "y" ]; then
457   define_bool CONFIG_ISA_DMA y
458else
459   define_bool CONFIG_ISA_DMA n
460fi
461
462# Compressed boot loader in ROM.  Yes, we really want to ask about
463# TEXT and BSS so we preserve their values in the config files.
464bool 'Compressed boot loader in ROM/flash' CONFIG_ZBOOT_ROM
465hex 'Compressed ROM boot loader base address' CONFIG_ZBOOT_ROM_TEXT 0
466hex 'Compressed ROM boot loader BSS address' CONFIG_ZBOOT_ROM_BSS 0
467
468if [ "$CONFIG_ARCH_SA1100" = "y" -o \
469     "$CONFIG_ARCH_INTEGRATOR" = "y" ]; then
470   dep_bool 'Support CPU clock change (EXPERIMENTAL)' CONFIG_CPU_FREQ $CONFIG_EXPERIMENTAL
471fi
472
473source drivers/pci/Config.in
474bool 'Support for hot-pluggable devices' CONFIG_HOTPLUG
475if [ "$CONFIG_HOTPLUG" = "y" ]; then
476   source drivers/pcmcia/Config.in
477else
478   define_bool CONFIG_PCMCIA n
479fi
480if [ "$CONFIG_SA1100_ACCELENT" = "y" ]; then
481   if [ "$CONFIG_PCMCIA" != "n" ]; then
482      bool '  Use second PCMCIA/CF slot (disables on-board IDE)' CONFIG_SA_PCMCIA_SLOT_1 y
483   fi
484fi
485bool 'Networking support' CONFIG_NET
486bool 'System V IPC' CONFIG_SYSVIPC
487bool 'BSD Process Accounting' CONFIG_BSD_PROCESS_ACCT
488bool 'Sysctl support' CONFIG_SYSCTL
489comment 'At least one math emulation must be selected'
490tristate 'NWFPE math emulation' CONFIG_FPE_NWFPE
491if [ "$CONFIG_FPE_NWFPE" != "n" ]; then
492  bool '  Support extended precision' CONFIG_FPE_NWFPE_XP
493fi
494if [ "$CONFIG_CPU_26" = "n" -a "$CONFIG_CPU_32v3" = "n" ]; then
495   dep_tristate 'FastFPE math emulation (EXPERIMENTAL)' CONFIG_FPE_FASTFPE $CONFIG_EXPERIMENTAL
496fi
497choice 'Kernel core (/proc/kcore) format' \
498	"ELF		CONFIG_KCORE_ELF	\
499	 A.OUT		CONFIG_KCORE_AOUT" ELF
500tristate 'Kernel support for a.out binaries' CONFIG_BINFMT_AOUT
501bool 'Kernel support for ELF binaries' CONFIG_BINFMT_ELF
502tristate 'Kernel support for MISC binaries' CONFIG_BINFMT_MISC
503dep_bool 'Power Management support (experimental)' CONFIG_PM $CONFIG_EXPERIMENTAL
504dep_tristate 'RISC OS personality' CONFIG_ARTHUR $CONFIG_CPU_32
505string 'Default kernel command string' CONFIG_CMDLINE ""
506
507if [ "$CONFIG_ARCH_NETWINDER" = "y" -o  \
508     "$CONFIG_ARCH_EBSA110" = "y" -o    \
509     "$CONFIG_ARCH_EBSA285" = "y" -o    \
510     "$CONFIG_ARCH_FTVPCI" = "y" -o     \
511     "$CONFIG_ARCH_SHARK" = "y" -o      \
512     "$CONFIG_ARCH_CO285" = "y" -o      \
513     "$CONFIG_ARCH_SA1100" = "y" -o     \
514     "$CONFIG_ARCH_INTEGRATOR" = "y" -o \
515     "$CONFIG_ARCH_CDB89712" = "y" -o   \
516     "$CONFIG_ARCH_P720T" = "y" -o	\
517     "$CONFIG_ARCH_OMAHA" = "y" ]; then
518   bool 'Timer and CPU usage LEDs' CONFIG_LEDS
519   if [ "$CONFIG_LEDS" = "y" ]; then
520      if [ "$CONFIG_ARCH_NETWINDER" = "y" -o  \
521	   "$CONFIG_ARCH_EBSA285" = "y" -o    \
522	   "$CONFIG_ARCH_SHARK" = "y" -o      \
523	   "$CONFIG_ARCH_CO285" = "y" -o      \
524	   "$CONFIG_ARCH_SA1100" = "y" -o     \
525           "$CONFIG_ARCH_INTEGRATOR" = "y" -o \
526	   "$CONFIG_ARCH_P720T" = "y" -o      \
527	   "$CONFIG_ARCH_OMAHA" = "y" ]; then
528         bool '  Timer LED' CONFIG_LEDS_TIMER
529         bool '  CPU usage LED' CONFIG_LEDS_CPU
530      fi
531      if [ "$CONFIG_ARCH_EBSA110" = "y" ]; then
532         define_bool CONFIG_LEDS_TIMER y
533      fi
534   fi
535fi
536if [ "$CONFIG_ARCH_SA1100" = "y" ]; then
537   define_bool CONFIG_ALIGNMENT_TRAP y
538else
539   if [ "$CONFIG_CPU_32" = "y" -a "$CONFIG_ARCH_EBSA110" != "y" ]; then
540      bool 'Kernel-mode alignment trap handler' CONFIG_ALIGNMENT_TRAP
541   else
542      define_bool CONFIG_ALIGNMENT_TRAP n
543   fi
544fi
545endmenu
546
547source drivers/parport/Config.in
548
549if [ "$CONFIG_ALIGNMENT_TRAP" = "y" ]; then
550  source drivers/mtd/Config.in
551else
552  define_bool CONFIG_MTD n
553fi
554
555source drivers/pnp/Config.in
556source drivers/block/Config.in
557source drivers/md/Config.in
558
559if [ "$CONFIG_ARCH_ACORN" = "y" ]; then
560   source drivers/acorn/block/Config.in
561fi
562
563if [ "$CONFIG_NET" = "y" ]; then
564   source net/Config.in
565
566   mainmenu_option next_comment
567   comment 'Network device support'
568
569   bool 'Network device support' CONFIG_NETDEVICES
570   if [ "$CONFIG_NETDEVICES" = "y" ]; then
571      source drivers/net/Config.in
572   fi
573   endmenu
574
575   source net/ax25/Config.in
576
577   source net/irda/Config.in
578fi
579
580mainmenu_option next_comment
581comment 'ATA/ATAPI/MFM/RLL support'
582
583tristate 'ATA/ATAPI/MFM/RLL support' CONFIG_IDE
584
585if [ "$CONFIG_IDE" != "n" ]; then
586  source drivers/ide/Config.in
587else
588  define_bool CONFIG_BLK_DEV_HD n
589fi
590endmenu
591
592mainmenu_option next_comment
593comment 'SCSI support'
594
595tristate 'SCSI support' CONFIG_SCSI
596
597if [ "$CONFIG_SCSI" != "n" ]; then
598   source drivers/scsi/Config.in
599fi
600endmenu
601
602if [ "$CONFIG_ARCH_CLPS711X" = "y" ]; then
603   # This is _meant_ to be ssi _not_ scsi.  It is not a spelling error.
604   source drivers/ssi/Config.in
605fi
606
607source drivers/ieee1394/Config.in
608
609source drivers/message/i2o/Config.in
610
611mainmenu_option next_comment
612comment 'ISDN subsystem'
613
614tristate 'ISDN support' CONFIG_ISDN
615if [ "$CONFIG_ISDN" != "n" ]; then
616   source drivers/isdn/Config.in
617fi
618endmenu
619
620#
621# input before char - char/joystick depends on it. As does USB.
622#
623source drivers/input/Config.in
624
625source drivers/char/Config.in
626if [ "$CONFIG_ARCH_ACORN" = "y" -a \
627     "$CONFIG_BUSMOUSE" = "y" ]; then
628   if [ "$CONFIG_ARCH_RPC" != "y" ]; then
629      define_bool CONFIG_KBDMOUSE y
630   else
631      define_bool CONFIG_RPCMOUSE y
632   fi
633fi
634
635source drivers/media/Config.in
636
637source fs/Config.in
638
639if [ "$CONFIG_VT" = "y" ]; then
640   mainmenu_option next_comment
641   comment 'Console drivers'
642   # Select the keyboard type for this architecture.
643   if [ "$CONFIG_FOOTBRIDGE_HOST" = "y" -o \
644        "$CONFIG_ARCH_CLPS7500" = "y" -o   \
645        "$CONFIG_ARCH_SHARK" = "y" ]; then
646      define_bool CONFIG_PC_KEYB y
647   fi
648   if [ "$CONFIG_ARCH_INTEGRATOR" = "y" ]; then
649      define_bool CONFIG_KMI_KEYB y
650      define_bool CONFIG_KMI_MOUSE y
651   fi
652   if [ "$CONFIG_ARCH_L7200" = "y" ]; then
653      define_bool CONFIG_L7200_KEYB y
654   fi
655
656   # Do we use the PC-type keyboard map?
657   if [ "$CONFIG_FOOTBRIDGE_HOST" = "y" -o \
658        "$CONFIG_ARCH_SHARK" = "y" -o      \
659        "$CONFIG_ARCH_SA1100" = "y" -o     \
660        "$CONFIG_ARCH_INTEGRATOR" = "y" -o \
661        "$CONFIG_ARCH_TBOX" = "y" -o       \
662        "$CONFIG_ARCH_CLPS7500" = "y" -o   \
663        "$CONFIG_ARCH_P720T" = "y" -o      \
664        "$CONFIG_ARCH_ANAKIN" = "y" -o      \
665	"$CONFIG_ARCH_MX1ADS" = "y" ]; then
666      define_bool CONFIG_PC_KEYMAP y
667   fi
668   if [ "$CONFIG_ARCH_ACORN" != "y" -a "$CONFIG_ARCH_EBSA110" != "y" -a "$CONFIG_ARCH_RISCSTATION" != "y" ]; then
669      bool 'VGA text console' CONFIG_VGA_CONSOLE
670   fi
671   source drivers/video/Config.in
672   endmenu
673fi
674
675if [ "$CONFIG_ARCH_ACORN" = "y" -o \
676     "$CONFIG_ARCH_CLPS7500" = "y" -o \
677     "$CONFIG_ARCH_RISCSTATION" = "y" -o \
678     "$CONFIG_ARCH_TBOX" = "y" -o \
679     "$CONFIG_ARCH_SHARK" = "y" -o \
680     "$CONFIG_ARCH_SA1100" = "y" -o \
681     "$CONFIG_PCI" = "y" ]; then
682   mainmenu_option next_comment
683   comment 'Sound'
684
685   tristate 'Sound support' CONFIG_SOUND
686   if [ "$CONFIG_SOUND" != "n" ]; then
687      source drivers/sound/Config.in
688   fi
689   endmenu
690fi
691
692source drivers/misc/Config.in
693
694source drivers/usb/Config.in
695
696if [ "$CONFIG_EXPERIMENTAL" = "y" ]; then
697   source net/bluetooth/Config.in
698fi
699
700mainmenu_option next_comment
701comment 'Kernel hacking'
702
703# RMK wants arm kernels compiled with frame pointers so hardwire this to y.  If
704# you know what you are doing and are willing to live without stack traces, you
705# can get a slightly smaller kernel by setting this option to n, but then RMK
706# will have to kill you ;).
707if [ "$CONFIG_ARCH_OMAHA" = "y" ]; then
708    #
709    # Note: We want all the performance we can get, so this means
710    # we accept the debugging limitations of setting CONFIG_FRAME_POINTER=n
711    # -- ahaigh@arm.com (23 August 2002)
712    define_bool CONFIG_FRAME_POINTER n
713else
714    define_bool CONFIG_FRAME_POINTER y
715fi
716
717bool 'Verbose user fault messages' CONFIG_DEBUG_USER
718bool 'Include debugging information in kernel binary' CONFIG_DEBUG_INFO
719dep_bool 'Disable pgtable cache' CONFIG_NO_PGT_CACHE $CONFIG_CPU_26
720
721bool 'Kernel debugging' CONFIG_DEBUG_KERNEL
722dep_bool '  Debug memory allocations' CONFIG_DEBUG_SLAB $CONFIG_DEBUG_KERNEL
723dep_bool '  Magic SysRq key' CONFIG_MAGIC_SYSRQ $CONFIG_DEBUG_KERNEL
724dep_bool '  Spinlock debugging' CONFIG_DEBUG_SPINLOCK $CONFIG_DEBUG_KERNEL
725dep_bool '  Wait queue debugging' CONFIG_DEBUG_WAITQ $CONFIG_DEBUG_KERNEL
726dep_bool '  Verbose BUG() reporting (adds 70K)' CONFIG_DEBUG_BUGVERBOSE $CONFIG_DEBUG_KERNEL
727dep_bool '  Verbose kernel error messages' CONFIG_DEBUG_ERRORS $CONFIG_DEBUG_KERNEL
728# These options are only for real kernel hackers who want to get their hands dirty.
729dep_bool '  Kernel low-level debugging functions' CONFIG_DEBUG_LL $CONFIG_DEBUG_KERNEL
730dep_bool '    Kernel low-level debugging messages via footbridge serial port' CONFIG_DEBUG_DC21285_PORT $CONFIG_DEBUG_LL $CONFIG_FOOTBRIDGE
731dep_bool '    Kernel low-level debugging messages via UART2' CONFIG_DEBUG_CLPS711X_UART2 $CONFIG_DEBUG_LL $CONFIG_ARCH_CLPS711X
732
733int 'Kernel messages buffer length shift (0 = default)' CONFIG_LOG_BUF_SHIFT 0
734
735endmenu
736
737source crypto/Config.in
738source lib/Config.in
739