xref: /linux/arch/mips/Kconfig (revision 2624f124b3b5d550ab2fbef7ee3bc0e1fed09722)
1config MIPS
2	bool
3	default y
4	# Horrible source of confusion.  Die, die, die ...
5	select EMBEDDED
6
7# shouldn't it be per-subarchitecture?
8config ARCH_MAY_HAVE_PC_FDC
9	bool
10	default y
11
12mainmenu "Linux/MIPS Kernel Configuration"
13
14source "init/Kconfig"
15
16config SYS_SUPPORTS_32BIT_KERNEL
17	bool
18config SYS_SUPPORTS_64BIT_KERNEL
19	bool
20config CPU_SUPPORTS_32BIT_KERNEL
21	bool
22config CPU_SUPPORTS_64BIT_KERNEL
23	bool
24
25menu "Kernel type"
26
27choice
28
29	prompt "Kernel code model"
30	help
31	  You should only select this option if you have a workload that
32	  actually benefits from 64-bit processing or if your machine has
33	  large memory.  You will only be presented a single option in this
34	  menu if your system does not support both 32-bit and 64-bit kernels.
35
36config 32BIT
37	bool "32-bit kernel"
38	depends on CPU_SUPPORTS_32BIT_KERNEL && SYS_SUPPORTS_32BIT_KERNEL
39	select TRAD_SIGNALS
40	help
41	  Select this option if you want to build a 32-bit kernel.
42
43config 64BIT
44	bool "64-bit kernel"
45	depends on CPU_SUPPORTS_64BIT_KERNEL && SYS_SUPPORTS_64BIT_KERNEL
46	help
47	  Select this option if you want to build a 64-bit kernel.
48
49endchoice
50
51endmenu
52
53menu "Machine selection"
54
55config MACH_JAZZ
56	bool "Support for the Jazz family of machines"
57	select ARC
58	select ARC32
59	select GENERIC_ISA_DMA
60	select I8259
61	select ISA
62	select SYS_SUPPORTS_32BIT_KERNEL
63	select SYS_SUPPORTS_64BIT_KERNEL if EXPERIMENTAL
64	help
65	 This a family of machines based on the MIPS R4030 chipset which was
66	 used by several vendors to build RISC/os and Windows NT workstations.
67	 Members include the Acer PICA, MIPS Magnum 4000, MIPS Millenium and
68	 Olivetti M700-10 workstations.
69
70config ACER_PICA_61
71	bool "Support for Acer PICA 1 chipset (EXPERIMENTAL)"
72	depends on MACH_JAZZ && EXPERIMENTAL
73	select DMA_NONCOHERENT
74	help
75	  This is a machine with a R4400 133/150 MHz CPU. To compile a Linux
76	  kernel that runs on these, say Y here. For details about Linux on
77	  the MIPS architecture, check out the Linux/MIPS FAQ on the WWW at
78	  <http://www.linux-mips.org/>.
79
80config MIPS_MAGNUM_4000
81	bool "Support for MIPS Magnum 4000"
82	depends on MACH_JAZZ
83	select DMA_NONCOHERENT
84	help
85	  This is a machine with a R4000 100 MHz CPU. To compile a Linux
86	  kernel that runs on these, say Y here. For details about Linux on
87	  the MIPS architecture, check out the Linux/MIPS FAQ on the WWW at
88	  <http://www.linux-mips.org/>.
89
90config OLIVETTI_M700
91	bool "Support for Olivetti M700-10"
92	depends on MACH_JAZZ
93	select DMA_NONCOHERENT
94	help
95	  This is a machine with a R4000 100 MHz CPU. To compile a Linux
96	  kernel that runs on these, say Y here. For details about Linux on
97	  the MIPS architecture, check out the Linux/MIPS FAQ on the WWW at
98	  <http://www.linux-mips.org/>.
99
100config MACH_VR41XX
101	bool "Support for NEC VR4100 series based machines"
102	select SYS_SUPPORTS_32BIT_KERNEL
103	select SYS_SUPPORTS_64BIT_KERNEL if EXPERIMENTAL
104
105config NEC_CMBVR4133
106	bool "Support for NEC CMB-VR4133"
107	depends on MACH_VR41XX
108	select CPU_VR41XX
109	select DMA_NONCOHERENT
110	select IRQ_CPU
111	select HW_HAS_PCI
112
113config ROCKHOPPER
114	bool "Support for Rockhopper baseboard"
115	depends on NEC_CMBVR4133
116	select I8259
117	select HAVE_STD_PC_SERIAL_PORT
118
119config CASIO_E55
120	bool "Support for CASIO CASSIOPEIA E-10/15/55/65"
121	depends on MACH_VR41XX
122	select CPU_LITTLE_ENDIAN
123	select DMA_NONCOHERENT
124	select IRQ_CPU
125	select ISA
126
127config IBM_WORKPAD
128	bool "Support for IBM WorkPad z50"
129	depends on MACH_VR41XX
130	select CPU_LITTLE_ENDIAN
131	select DMA_NONCOHERENT
132	select IRQ_CPU
133	select ISA
134
135config TANBAC_TB022X
136	bool "Support for TANBAC VR4131 multichip module and TANBAC VR4131DIMM"
137	depends on MACH_VR41XX
138	select CPU_LITTLE_ENDIAN
139	select DMA_NONCOHERENT
140	select IRQ_CPU
141	select HW_HAS_PCI
142	help
143	  The TANBAC VR4131 multichip module(TB0225) and
144	  the TANBAC VR4131DIMM(TB0229) are MIPS-based platforms
145	  manufactured by TANBAC.
146	  Please refer to <http://www.tanbac.co.jp/>
147	  about VR4131 multichip module and VR4131DIMM.
148
149config TANBAC_TB0226
150	bool "Support for TANBAC Mbase(TB0226)"
151	depends on TANBAC_TB022X
152	select GPIO_VR41XX
153	help
154	  The TANBAC Mbase(TB0226) is a MIPS-based platform manufactured by TANBAC.
155	  Please refer to <http://www.tanbac.co.jp/> about Mbase.
156
157config VICTOR_MPC30X
158	bool "Support for Victor MP-C303/304"
159	depends on MACH_VR41XX
160	select CPU_LITTLE_ENDIAN
161	select DMA_NONCOHERENT
162	select IRQ_CPU
163	select HW_HAS_PCI
164
165config ZAO_CAPCELLA
166	bool "Support for ZAO Networks Capcella"
167	depends on MACH_VR41XX
168	select CPU_LITTLE_ENDIAN
169	select DMA_NONCOHERENT
170	select IRQ_CPU
171	select HW_HAS_PCI
172
173config PCI_VR41XX
174	bool "Add PCI control unit support of NEC VR4100 series"
175	depends on MACH_VR41XX && HW_HAS_PCI
176	default y
177	select PCI
178
179config VRC4173
180	tristate "Add NEC VRC4173 companion chip support"
181	depends on MACH_VR41XX && PCI_VR41XX
182	---help---
183	  The NEC VRC4173 is a companion chip for NEC VR4122/VR4131.
184
185config TOSHIBA_JMR3927
186	bool "Support for Toshiba JMR-TX3927 board"
187	select DMA_NONCOHERENT
188	select HW_HAS_PCI
189	select SWAP_IO_SPACE
190	select SYS_SUPPORTS_32BIT_KERNEL
191
192config MIPS_COBALT
193	bool "Support for Cobalt Server"
194	depends on EXPERIMENTAL
195	select DMA_NONCOHERENT
196	select HW_HAS_PCI
197	select I8259
198	select IRQ_CPU
199	select SYS_SUPPORTS_32BIT_KERNEL
200	select SYS_SUPPORTS_64BIT_KERNEL if EXPERIMENTAL
201
202config MACH_DECSTATION
203	bool "Support for DECstations"
204	select BOOT_ELF32
205	select DMA_NONCOHERENT
206	select IRQ_CPU
207	select SYS_SUPPORTS_32BIT_KERNEL
208	select SYS_SUPPORTS_64BIT_KERNEL if EXPERIMENTAL
209	---help---
210	  This enables support for DEC's MIPS based workstations.  For details
211	  see the Linux/MIPS FAQ on <http://www.linux-mips.org/> and the
212	  DECstation porting pages on <http://decstation.unix-ag.org/>.
213
214	  If you have one of the following DECstation Models you definitely
215	  want to choose R4xx0 for the CPU Type:
216
217	  	DECstation 5000/50
218	  	DECstation 5000/150
219	  	DECstation 5000/260
220	  	DECsystem 5900/260
221
222	  otherwise choose R3000.
223
224config MIPS_EV64120
225	bool "Support for Galileo EV64120 Evaluation board (EXPERIMENTAL)"
226	depends on EXPERIMENTAL
227	select DMA_NONCOHERENT
228	select HW_HAS_PCI
229	select MIPS_GT64120
230	select SYS_SUPPORTS_32BIT_KERNEL
231	select SYS_SUPPORTS_64BIT_KERNEL
232	help
233	  This is an evaluation board based on the Galileo GT-64120
234	  single-chip system controller that contains a MIPS R5000 compatible
235	  core running at 75/100MHz.  Their website is located at
236	  <http://www.marvell.com/>.  Say Y here if you wish to build a
237	  kernel for this platform.
238
239config EVB_PCI1
240	bool "Enable Second PCI (PCI1)"
241	depends on MIPS_EV64120
242
243config MIPS_EV96100
244	bool "Support for Galileo EV96100 Evaluation board (EXPERIMENTAL)"
245	depends on EXPERIMENTAL
246	select DMA_NONCOHERENT
247	select HW_HAS_PCI
248	select IRQ_CPU
249	select MIPS_GT96100
250	select RM7000_CPU_SCACHE
251	select SWAP_IO_SPACE
252	select SYS_SUPPORTS_32BIT_KERNEL
253	select SYS_SUPPORTS_64BIT_KERNEL
254	help
255	  This is an evaluation board based on the Galileo GT-96100 LAN/WAN
256	  communications controllers containing a MIPS R5000 compatible core
257	  running at 83MHz. Their website is <http://www.marvell.com/>. Say Y
258	  here if you wish to build a kernel for this platform.
259
260config MIPS_IVR
261	bool "Support for Globespan IVR board"
262	select DMA_NONCOHERENT
263	select HW_HAS_PCI
264	select SYS_SUPPORTS_32BIT_KERNEL
265	select SYS_SUPPORTS_64BIT_KERNEL if EXPERIMENTAL
266	help
267	  This is an evaluation board built by Globespan to showcase thir
268	  iVR (Internet Video Recorder) design. It utilizes a QED RM5231
269	  R5000 MIPS core. More information can be found out their website
270	  located at <http://www.globespan.net/>. Say Y here if you wish to
271	  build a kernel for this platform.
272
273config LASAT
274	bool "Support for LASAT Networks platforms"
275	select DMA_NONCOHERENT
276	select HW_HAS_PCI
277	select MIPS_GT64120
278	select R5000_CPU_SCACHE
279	select SYS_SUPPORTS_32BIT_KERNEL
280	select SYS_SUPPORTS_64BIT_KERNEL if EXPERIMENTAL
281
282config PICVUE
283	tristate "PICVUE LCD display driver"
284	depends on LASAT
285
286config PICVUE_PROC
287	tristate "PICVUE LCD display driver /proc interface"
288	depends on PICVUE
289
290config DS1603
291	bool "DS1603 RTC driver"
292	depends on LASAT
293
294config LASAT_SYSCTL
295	bool "LASAT sysctl interface"
296	depends on LASAT
297
298config MIPS_ITE8172
299	bool "Support for ITE 8172G board"
300	select DMA_NONCOHERENT
301	select HW_HAS_PCI
302	select SYS_SUPPORTS_32BIT_KERNEL
303	select SYS_SUPPORTS_64BIT_KERNEL if EXPERIMENTAL
304	help
305	  Ths is an evaluation board made by ITE <http://www.ite.com.tw/>
306	  with ATX form factor that utilizes a MIPS R5000 to work with its
307	  ITE8172G companion internet appliance chip. The MIPS core can be
308	  either a NEC Vr5432 or QED RM5231. Say Y here if you wish to build
309	  a kernel for this platform.
310
311config IT8172_REVC
312	bool "Support for older IT8172 (Rev C)"
313	depends on MIPS_ITE8172
314	help
315	  Say Y here to support the older, Revision C version of the Integrated
316	  Technology Express, Inc. ITE8172 SBC.  Vendor page at
317	  <http://www.ite.com.tw/ia/brief_it8172bsp.htm>; picture of the
318	  board at <http://www.mvista.com/partners/semiconductor/ite.html>.
319
320config MIPS_ATLAS
321	bool "Support for MIPS Atlas board"
322	select BOOT_ELF32
323	select DMA_NONCOHERENT
324	select HW_HAS_PCI
325	select MIPS_GT64120
326	select SWAP_IO_SPACE
327	select SYS_SUPPORTS_32BIT_KERNEL
328	select SYS_SUPPORTS_64BIT_KERNEL
329	help
330	  This enables support for the QED R5231-based MIPS Atlas evaluation
331	  board.
332
333config MIPS_MALTA
334	bool "Support for MIPS Malta board"
335	select BOOT_ELF32
336	select HAVE_STD_PC_SERIAL_PORT
337	select DMA_NONCOHERENT
338	select GENERIC_ISA_DMA
339	select HW_HAS_PCI
340	select I8259
341	select MIPS_GT64120
342	select SWAP_IO_SPACE
343	select SYS_SUPPORTS_32BIT_KERNEL
344	select SYS_SUPPORTS_64BIT_KERNEL
345	help
346	  This enables support for the VR5000-based MIPS Malta evaluation
347	  board.
348
349config MIPS_SEAD
350	bool "Support for MIPS SEAD board (EXPERIMENTAL)"
351	depends on EXPERIMENTAL
352	select IRQ_CPU
353	select DMA_NONCOHERENT
354	select SYS_SUPPORTS_32BIT_KERNEL
355	select SYS_SUPPORTS_64BIT_KERNEL
356
357config MOMENCO_OCELOT
358	bool "Support for Momentum Ocelot board"
359	select DMA_NONCOHERENT
360	select HW_HAS_PCI
361	select IRQ_CPU
362	select IRQ_CPU_RM7K
363	select MIPS_GT64120
364	select RM7000_CPU_SCACHE
365	select SWAP_IO_SPACE
366	select SYS_SUPPORTS_32BIT_KERNEL
367	select SYS_SUPPORTS_64BIT_KERNEL
368	help
369	  The Ocelot is a MIPS-based Single Board Computer (SBC) made by
370	  Momentum Computer <http://www.momenco.com/>.
371
372config MOMENCO_OCELOT_G
373	bool "Support for Momentum Ocelot-G board"
374	select DMA_NONCOHERENT
375	select HW_HAS_PCI
376	select IRQ_CPU
377	select IRQ_CPU_RM7K
378	select PCI_MARVELL
379	select RM7000_CPU_SCACHE
380	select SWAP_IO_SPACE
381	select SYS_SUPPORTS_32BIT_KERNEL
382	select SYS_SUPPORTS_64BIT_KERNEL
383	help
384	  The Ocelot is a MIPS-based Single Board Computer (SBC) made by
385	  Momentum Computer <http://www.momenco.com/>.
386
387config MOMENCO_OCELOT_C
388	bool "Support for Momentum Ocelot-C board"
389	select DMA_NONCOHERENT
390	select HW_HAS_PCI
391	select IRQ_CPU
392	select IRQ_MV64340
393	select PCI_MARVELL
394	select RM7000_CPU_SCACHE
395	select SWAP_IO_SPACE
396	select SYS_SUPPORTS_32BIT_KERNEL
397	select SYS_SUPPORTS_64BIT_KERNEL
398	help
399	  The Ocelot is a MIPS-based Single Board Computer (SBC) made by
400	  Momentum Computer <http://www.momenco.com/>.
401
402config MOMENCO_OCELOT_3
403	bool "Support for Momentum Ocelot-3 board"
404	select BOOT_ELF32
405	select DMA_NONCOHERENT
406	select HW_HAS_PCI
407	select IRQ_CPU
408	select IRQ_CPU_RM7K
409	select IRQ_MV64340
410	select PCI_MARVELL
411	select RM7000_CPU_SCACHE
412	select SWAP_IO_SPACE
413	select SYS_SUPPORTS_32BIT_KERNEL
414	select SYS_SUPPORTS_64BIT_KERNEL
415	help
416	  The Ocelot-3 is based off Discovery III System Controller and
417	  PMC-Sierra Rm79000 core.
418
419config MOMENCO_JAGUAR_ATX
420	bool "Support for Momentum Jaguar board"
421	select BOOT_ELF32
422	select DMA_NONCOHERENT
423	select HW_HAS_PCI
424	select IRQ_CPU
425	select IRQ_CPU_RM7K
426	select IRQ_MV64340
427	select LIMITED_DMA
428	select PCI_MARVELL
429	select RM7000_CPU_SCACHE
430	select SWAP_IO_SPACE
431	select SYS_SUPPORTS_32BIT_KERNEL
432	select SYS_SUPPORTS_64BIT_KERNEL
433	help
434	  The Jaguar ATX is a MIPS-based Single Board Computer (SBC) made by
435	  Momentum Computer <http://www.momenco.com/>.
436
437config JAGUAR_DMALOW
438	bool "Low DMA Mode"
439	depends on MOMENCO_JAGUAR_ATX
440	help
441	  Select to Y if jump JP5 is set on your board, N otherwise.  Normally
442	  the jumper is set, so if you feel unsafe, just say Y.
443
444config PMC_YOSEMITE
445	bool "Support for PMC-Sierra Yosemite eval board"
446	select DMA_COHERENT
447	select HW_HAS_PCI
448	select IRQ_CPU
449	select IRQ_CPU_RM7K
450	select IRQ_CPU_RM9K
451	select SWAP_IO_SPACE
452	select SYS_SUPPORTS_32BIT_KERNEL
453	select SYS_SUPPORTS_64BIT_KERNEL
454	help
455	  Yosemite is an evaluation board for the RM9000x2 processor
456	  manufactured by PMC-Sierra
457
458config HYPERTRANSPORT
459	bool "Hypertransport Support for PMC-Sierra Yosemite"
460	depends on PMC_YOSEMITE
461
462config DDB5074
463	bool "Support for NEC DDB Vrc-5074 (EXPERIMENTAL)"
464	depends on EXPERIMENTAL
465	select DMA_NONCOHERENT
466	select HAVE_STD_PC_SERIAL_PORT
467	select HW_HAS_PCI
468	select IRQ_CPU
469	select I8259
470	select ISA
471	select SYS_SUPPORTS_32BIT_KERNEL
472	select SYS_SUPPORTS_64BIT_KERNEL
473	help
474	  This enables support for the VR5000-based NEC DDB Vrc-5074
475	  evaluation board.
476
477config DDB5476
478	bool "Support for NEC DDB Vrc-5476"
479	select DMA_NONCOHERENT
480	select HAVE_STD_PC_SERIAL_PORT
481	select HW_HAS_PCI
482	select IRQ_CPU
483	select I8259
484	select ISA
485	select SYS_SUPPORTS_32BIT_KERNEL
486	select SYS_SUPPORTS_64BIT_KERNEL if EXPERIMENTAL
487	help
488	  This enables support for the R5432-based NEC DDB Vrc-5476
489	  evaluation board.
490
491	  Features : kernel debugging, serial terminal, NFS root fs, on-board
492	  ether port USB, AC97, PCI, PCI VGA card & framebuffer console,
493	  IDE controller, PS2 keyboard, PS2 mouse, etc.
494
495config DDB5477
496	bool "Support for NEC DDB Vrc-5477"
497	select DMA_NONCOHERENT
498	select HW_HAS_PCI
499	select I8259
500	select IRQ_CPU
501	select SYS_SUPPORTS_32BIT_KERNEL
502	select SYS_SUPPORTS_64BIT_KERNEL if EXPERIMENTAL
503	help
504	  This enables support for the R5432-based NEC DDB Vrc-5477,
505	  or Rockhopper/SolutionGear boards with R5432/R5500 CPUs.
506
507	  Features : kernel debugging, serial terminal, NFS root fs, on-board
508	  ether port USB, AC97, PCI, etc.
509
510config DDB5477_BUS_FREQUENCY
511	int "bus frequency (in kHZ, 0 for auto-detect)"
512	depends on DDB5477
513	default 0
514
515config QEMU
516	bool "Support for Qemu"
517	select DMA_COHERENT
518	select GENERIC_ISA_DMA
519	select HAVE_STD_PC_SERIAL_PORT
520	select I8259
521	select ISA
522	select SWAP_IO_SPACE
523	select SYS_SUPPORTS_32BIT_KERNEL
524	select SYS_SUPPORTS_BIG_ENDIAN
525	help
526	 Qemu is a software emulator which among other architectures also
527	 can simulate a MIPS32 4Kc system.  This patch adds support for the
528	 system architecture that currently is being simulated by Qemu.  It
529	 will eventually be removed again when Qemu has the capability to
530	 simulate actual MIPS hardware platforms.  More information on Qemu
531	 can be found at http://www.linux-mips.org/wiki/Qemu.
532
533config SGI_IP22
534	bool "Support for SGI IP22 (Indy/Indigo2)"
535	select ARC
536	select ARC32
537	select BOOT_ELF32
538	select DMA_NONCOHERENT
539	select IP22_CPU_SCACHE
540	select IRQ_CPU
541	select SWAP_IO_SPACE
542	select SYS_SUPPORTS_32BIT_KERNEL
543	select SYS_SUPPORTS_64BIT_KERNEL
544	help
545	  This are the SGI Indy, Challenge S and Indigo2, as well as certain
546	  OEM variants like the Tandem CMN B006S. To compile a Linux kernel
547	  that runs on these, say Y here.
548
549config SGI_IP27
550	bool "Support for SGI IP27 (Origin200/2000)"
551	select ARC
552	select ARC64
553	select DMA_IP27
554	select HW_HAS_PCI
555	select PCI_DOMAINS
556	select SYS_SUPPORTS_64BIT_KERNEL
557	help
558	  This are the SGI Origin 200, Origin 2000 and Onyx 2 Graphics
559	  workstations.  To compile a Linux kernel that runs on these, say Y
560	  here.
561
562#config SGI_SN0_XXL
563#	bool "IP27 XXL"
564#	depends on SGI_IP27
565#	  This options adds support for userspace processes upto 16TB size.
566#	  Normally the limit is just .5TB.
567
568config SGI_SN0_N_MODE
569	bool "IP27 N-Mode"
570	depends on SGI_IP27
571	help
572	  The nodes of Origin 200, Origin 2000 and Onyx 2 systems can be
573	  configured in either N-Modes which allows for more nodes or M-Mode
574	  which allows for more memory.  Your system is most probably
575	  running in M-Mode, so you should say N here.
576
577config ARCH_DISCONTIGMEM_ENABLE
578	bool
579	default y if SGI_IP27
580	help
581	  Say Y to upport efficient handling of discontiguous physical memory,
582	  for architectures which are either NUMA (Non-Uniform Memory Access)
583	  or have huge holes in the physical address space for other reasons.
584	  See <file:Documentation/vm/numa> for more.
585
586config NUMA
587	bool "NUMA Support"
588	depends on SGI_IP27
589	help
590	  Say Y to compile the kernel to support NUMA (Non-Uniform Memory
591	  Access).  This option is for configuring high-end multiprocessor
592	  server machines.  If in doubt, say N.
593
594config MAPPED_KERNEL
595	bool "Mapped kernel support"
596	depends on SGI_IP27
597	help
598	  Change the way a Linux kernel is loaded into memory on a MIPS64
599	  machine.  This is required in order to support text replication and
600	  NUMA.  If you need to understand it, read the source code.
601
602config REPLICATE_KTEXT
603	bool "Kernel text replication support"
604	depends on SGI_IP27
605	help
606	  Say Y here to enable replicating the kernel text across multiple
607	  nodes in a NUMA cluster.  This trades memory for speed.
608
609config REPLICATE_EXHANDLERS
610	bool "Exception handler replication support"
611	depends on SGI_IP27
612	help
613	  Say Y here to enable replicating the kernel exception handlers
614	  across multiple nodes in a NUMA cluster. This trades memory for
615	  speed.
616
617config SGI_IP32
618	bool "Support for SGI IP32 (O2) (EXPERIMENTAL)"
619	depends on EXPERIMENTAL
620	select ARC
621	select ARC32
622	select BOOT_ELF32
623	select OWN_DMA
624	select DMA_IP32
625	select DMA_NONCOHERENT
626	select HW_HAS_PCI
627	select R5000_CPU_SCACHE
628	select RM7000_CPU_SCACHE
629	select SYS_SUPPORTS_64BIT_KERNEL
630	help
631	  If you want this kernel to run on SGI O2 workstation, say Y here.
632
633config SOC_AU1X00
634	bool "Support for AMD/Alchemy Au1X00 SOCs"
635	select SYS_SUPPORTS_32BIT_KERNEL
636
637choice
638	prompt "Au1X00 SOC Type"
639	depends on SOC_AU1X00
640	help
641	  Say Y here to enable support for one of three AMD/Alchemy
642	  SOCs. For additional documentation see www.amd.com.
643
644config SOC_AU1000
645	bool "SOC_AU1000"
646config SOC_AU1100
647	bool "SOC_AU1100"
648config SOC_AU1500
649	bool "SOC_AU1500"
650config SOC_AU1550
651	bool "SOC_AU1550"
652
653endchoice
654
655choice
656	prompt "AMD/Alchemy Au1x00 board support"
657	depends on SOC_AU1X00
658	help
659	  These are evaluation boards built by AMD/Alchemy to
660	  showcase their Au1X00 Internet Edge Processors. The SOC design
661	  is based on the MIPS32 architecture running at 266/400/500MHz
662	  with many integrated peripherals. Further information can be
663	  found at their website, <http://www.amd.com/>. Say Y here if you
664	  wish to build a kernel for this platform.
665
666config MIPS_PB1000
667	bool "PB1000 board"
668	depends on SOC_AU1000
669	select DMA_NONCOHERENT
670	select HW_HAS_PCI
671	select SWAP_IO_SPACE
672
673config MIPS_PB1100
674	bool "PB1100 board"
675	depends on SOC_AU1100
676	select DMA_NONCOHERENT
677	select HW_HAS_PCI
678	select SWAP_IO_SPACE
679
680config MIPS_PB1500
681	bool "PB1500 board"
682	depends on SOC_AU1500
683	select DMA_COHERENT
684	select HW_HAS_PCI
685
686config MIPS_PB1550
687	bool "PB1550 board"
688	depends on SOC_AU1550
689	select DMA_COHERENT
690	select HW_HAS_PCI
691	select MIPS_DISABLE_OBSOLETE_IDE
692
693config MIPS_DB1000
694	bool "DB1000 board"
695	depends on SOC_AU1000
696	select DMA_NONCOHERENT
697	select HW_HAS_PCI
698
699config MIPS_DB1100
700	bool "DB1100 board"
701	depends on SOC_AU1100
702	select DMA_NONCOHERENT
703
704config MIPS_DB1500
705	bool "DB1500 board"
706	depends on SOC_AU1500
707	select DMA_COHERENT
708	select HW_HAS_PCI
709	select MIPS_DISABLE_OBSOLETE_IDE
710
711config MIPS_DB1550
712	bool "DB1550 board"
713	depends on SOC_AU1550
714	select HW_HAS_PCI
715	select DMA_COHERENT
716	select MIPS_DISABLE_OBSOLETE_IDE
717
718config MIPS_BOSPORUS
719	bool "Bosporus board"
720	depends on SOC_AU1500
721	select DMA_NONCOHERENT
722
723config MIPS_MIRAGE
724	bool "Mirage board"
725	depends on SOC_AU1500
726	select DMA_NONCOHERENT
727
728config MIPS_XXS1500
729	bool "MyCable XXS1500 board"
730	depends on SOC_AU1500
731	select DMA_NONCOHERENT
732
733config MIPS_MTX1
734	bool "4G Systems MTX-1 board"
735	depends on SOC_AU1500
736	select HW_HAS_PCI
737	select DMA_NONCOHERENT
738
739endchoice
740
741config SIBYTE_SB1xxx_SOC
742	bool "Support for Broadcom BCM1xxx SOCs (EXPERIMENTAL)"
743	depends on EXPERIMENTAL
744	select BOOT_ELF32
745	select DMA_COHERENT
746	select SWAP_IO_SPACE
747	select SYS_SUPPORTS_32BIT_KERNEL
748	select SYS_SUPPORTS_64BIT_KERNEL
749
750choice
751	prompt "BCM1xxx SOC-based board"
752	depends on SIBYTE_SB1xxx_SOC
753	default SIBYTE_SWARM
754	help
755	  Enable support for boards based on the SiByte line of SOCs
756	  from Broadcom.  There are configurations for the known
757	  evaluation boards, or you can choose "Other" and add your
758	  own board support code.
759
760config SIBYTE_SWARM
761	bool "BCM91250A-SWARM"
762	select SIBYTE_SB1250
763
764config SIBYTE_SENTOSA
765	bool "BCM91250E-Sentosa"
766	select SIBYTE_SB1250
767
768config SIBYTE_RHONE
769	bool "BCM91125E-Rhone"
770	select SIBYTE_BCM1125H
771
772config SIBYTE_CARMEL
773	bool "BCM91120x-Carmel"
774	select SIBYTE_BCM1120
775
776config SIBYTE_PTSWARM
777	bool "BCM91250PT-PTSWARM"
778	select SIBYTE_SB1250
779
780config SIBYTE_LITTLESUR
781	bool "BCM91250C2-LittleSur"
782	select SIBYTE_SB1250
783
784config SIBYTE_CRHINE
785	bool "BCM91120C-CRhine"
786	select SIBYTE_BCM1120
787
788config SIBYTE_CRHONE
789	bool "BCM91125C-CRhone"
790	select SIBYTE_BCM1125
791
792config SIBYTE_UNKNOWN
793	bool "Other"
794
795endchoice
796
797config SIBYTE_BOARD
798	bool
799	depends on SIBYTE_SB1xxx_SOC && !SIBYTE_UNKNOWN
800	default y
801
802choice
803	prompt "BCM1xxx SOC Type"
804	depends on SIBYTE_UNKNOWN
805	default SIBYTE_UNK_BCM1250
806	help
807	  Since you haven't chosen a known evaluation board from
808	  Broadcom, you must explicitly pick the SOC this kernel is
809	  targetted for.
810
811config SIBYTE_UNK_BCM1250
812	bool "BCM1250"
813	select SIBYTE_SB1250
814
815config SIBYTE_UNK_BCM1120
816	bool "BCM1120"
817	select SIBYTE_BCM1120
818
819config SIBYTE_UNK_BCM1125
820	bool "BCM1125"
821	select SIBYTE_BCM1125
822
823config SIBYTE_UNK_BCM1125H
824	bool "BCM1125H"
825	select SIBYTE_BCM1125H
826
827endchoice
828
829config SIBYTE_SB1250
830	bool
831	select HW_HAS_PCI
832
833config SIBYTE_BCM1120
834	bool
835	select SIBYTE_BCM112X
836
837config SIBYTE_BCM1125
838	bool
839	select HW_HAS_PCI
840	select SIBYTE_BCM112X
841
842config SIBYTE_BCM1125H
843	bool
844	select HW_HAS_PCI
845	select SIBYTE_BCM112X
846
847config SIBYTE_BCM112X
848	bool
849
850choice
851	prompt "SiByte SOC Stepping"
852	depends on SIBYTE_SB1xxx_SOC
853
854config CPU_SB1_PASS_1
855	bool "1250 Pass1"
856	depends on SIBYTE_SB1250
857	select CPU_HAS_PREFETCH
858
859config CPU_SB1_PASS_2_1250
860	bool "1250 An"
861	depends on SIBYTE_SB1250
862	select CPU_SB1_PASS_2
863	help
864	  Also called BCM1250 Pass 2
865
866config CPU_SB1_PASS_2_2
867	bool "1250 Bn"
868	depends on SIBYTE_SB1250
869	select CPU_HAS_PREFETCH
870	help
871	  Also called BCM1250 Pass 2.2
872
873config CPU_SB1_PASS_4
874	bool "1250 Cn"
875	depends on SIBYTE_SB1250
876	select CPU_HAS_PREFETCH
877	help
878	  Also called BCM1250 Pass 3
879
880config CPU_SB1_PASS_2_112x
881	bool "112x Hybrid"
882	depends on SIBYTE_BCM112X
883	select CPU_SB1_PASS_2
884
885config CPU_SB1_PASS_3
886	bool "112x An"
887	depends on SIBYTE_BCM112X
888	select CPU_HAS_PREFETCH
889
890endchoice
891
892config CPU_SB1_PASS_2
893	bool
894
895config SIBYTE_HAS_LDT
896	bool
897	depends on PCI && (SIBYTE_SB1250 || SIBYTE_BCM1125H)
898	default y
899
900config SIMULATION
901	bool "Running under simulation"
902	depends on SIBYTE_SB1xxx_SOC
903	help
904	  Build a kernel suitable for running under the GDB simulator.
905	  Primarily adjusts the kernel's notion of time.
906
907config SIBYTE_CFE
908	bool "Booting from CFE"
909	depends on SIBYTE_SB1xxx_SOC
910	help
911	  Make use of the CFE API for enumerating available memory,
912	  controlling secondary CPUs, and possibly console output.
913
914config SIBYTE_CFE_CONSOLE
915	bool "Use firmware console"
916	depends on SIBYTE_CFE
917	help
918	  Use the CFE API's console write routines during boot.  Other console
919	  options (VT console, sb1250 duart console, etc.) should not be
920	  configured.
921
922config SIBYTE_STANDALONE
923	bool
924	depends on SIBYTE_SB1xxx_SOC && !SIBYTE_CFE
925	default y
926
927config SIBYTE_STANDALONE_RAM_SIZE
928	int "Memory size (in megabytes)"
929	depends on SIBYTE_STANDALONE
930	default "32"
931
932config SIBYTE_BUS_WATCHER
933	bool "Support for Bus Watcher statistics"
934	depends on SIBYTE_SB1xxx_SOC
935	help
936	  Handle and keep statistics on the bus error interrupts (COR_ECC,
937	  BAD_ECC, IO_BUS).
938
939config SIBYTE_BW_TRACE
940	bool "Capture bus trace before bus error"
941	depends on SIBYTE_BUS_WATCHER
942	help
943	  Run a continuous bus trace, dumping the raw data as soon as
944	  a ZBbus error is detected.  Cannot work if ZBbus profiling
945	  is turned on, and also will interfere with JTAG-based trace
946	  buffer activity.  Raw buffer data is dumped to console, and
947	  must be processed off-line.
948
949config SIBYTE_SB1250_PROF
950	bool "Support for SB1/SOC profiling - SB1/SCD perf counters"
951	depends on SIBYTE_SB1xxx_SOC
952
953config SIBYTE_TBPROF
954	bool "Support for ZBbus profiling"
955	depends on SIBYTE_SB1xxx_SOC
956
957config SNI_RM200_PCI
958	bool "Support for SNI RM200 PCI"
959	select ARC
960	select ARC32
961	select BOOT_ELF32
962	select DMA_NONCOHERENT
963	select GENERIC_ISA_DMA
964	select HAVE_STD_PC_SERIAL_PORT
965	select HW_HAS_PCI
966	select I8259
967	select ISA
968	select SYS_SUPPORTS_32BIT_KERNEL
969	select SYS_SUPPORTS_64BIT_KERNEL if EXPERIMENTAL
970	help
971	  The SNI RM200 PCI was a MIPS-based platform manufactured by Siemens
972	  Nixdorf Informationssysteme (SNI), parent company of Pyramid
973	  Technology and now in turn merged with Fujitsu.  Say Y here to
974	  support this machine type.
975
976config TOSHIBA_RBTX4927
977	bool "Support for Toshiba TBTX49[23]7 board"
978	select DMA_NONCOHERENT
979	select HAS_TXX9_SERIAL
980	select HW_HAS_PCI
981	select I8259
982	select ISA
983	select SWAP_IO_SPACE
984	select SYS_SUPPORTS_32BIT_KERNEL
985	select SYS_SUPPORTS_64BIT_KERNEL
986	help
987	  This Toshiba board is based on the TX4927 processor. Say Y here to
988	  support this machine type
989
990config TOSHIBA_FPCIB0
991	bool "FPCIB0 Backplane Support"
992	depends on TOSHIBA_RBTX4927
993
994config RWSEM_GENERIC_SPINLOCK
995	bool
996	default y
997
998config RWSEM_XCHGADD_ALGORITHM
999	bool
1000
1001config GENERIC_CALIBRATE_DELAY
1002	bool
1003	default y
1004
1005config HAVE_DEC_LOCK
1006	bool
1007	default y
1008
1009#
1010# Select some configuration options automatically based on user selections.
1011#
1012config ARC
1013	bool
1014	depends on SNI_RM200_PCI || SGI_IP32 || SGI_IP27 || SGI_IP22 || MIPS_MAGNUM_4000 || OLIVETTI_M700 || ACER_PICA_61
1015	default y
1016
1017config DMA_COHERENT
1018	bool
1019
1020config DMA_IP27
1021	bool
1022
1023config DMA_IP32
1024	bool
1025	select DMA_NEED_PCI_MAP_STATE
1026
1027config DMA_NONCOHERENT
1028	bool
1029	select DMA_NEED_PCI_MAP_STATE
1030
1031config DMA_NEED_PCI_MAP_STATE
1032	bool
1033
1034config EARLY_PRINTK
1035	bool
1036	depends on MACH_DECSTATION
1037	default y
1038
1039config GENERIC_ISA_DMA
1040	bool
1041	depends on SNI_RM200_PCI || MIPS_MAGNUM_4000 || OLIVETTI_M700 || ACER_PICA_61 || MIPS_MALTA
1042	default y
1043
1044config I8259
1045	bool
1046	depends on SNI_RM200_PCI || DDB5477 || DDB5476 || DDB5074 || MACH_JAZZ || MIPS_MALTA || MIPS_COBALT
1047	default y
1048
1049config LIMITED_DMA
1050	bool
1051	select HIGHMEM
1052
1053config MIPS_BONITO64
1054	bool
1055	depends on MIPS_ATLAS || MIPS_MALTA
1056	default y
1057
1058config MIPS_MSC
1059	bool
1060	depends on MIPS_ATLAS || MIPS_MALTA
1061	default y
1062
1063config MIPS_NILE4
1064	bool
1065	depends on LASAT
1066	default y
1067
1068config MIPS_DISABLE_OBSOLETE_IDE
1069	bool
1070
1071config CPU_LITTLE_ENDIAN
1072	bool "Generate little endian code"
1073	default y if ACER_PICA_61 || CASIO_E55 || DDB5074 || DDB5476 || DDB5477 || MACH_DECSTATION || IBM_WORKPAD || LASAT || MIPS_COBALT || MIPS_ITE8172 || MIPS_IVR || SOC_AU1X00 || OLIVETTI_M700 || SNI_RM200_PCI || VICTOR_MPC30X || ZAO_CAPCELLA
1074	default n if MIPS_EV64120 || MIPS_EV96100 || MOMENCO_OCELOT || MOMENCO_OCELOT_G || SGI_IP22 || SGI_IP27 || SGI_IP32 || TOSHIBA_JMR3927
1075	help
1076	  Some MIPS machines can be configured for either little or big endian
1077	  byte order. These modes require different kernels. Say Y if your
1078	  machine is little endian, N if it's a big endian machine.
1079
1080config IRQ_CPU
1081	bool
1082
1083config IRQ_CPU_RM7K
1084	bool
1085
1086config IRQ_MV64340
1087	bool
1088
1089config DDB5XXX_COMMON
1090	bool
1091	depends on DDB5074 || DDB5476 || DDB5477
1092	default y
1093
1094config MIPS_BOARDS_GEN
1095	bool
1096	depends on MIPS_ATLAS || MIPS_MALTA || MIPS_SEAD
1097	default y
1098
1099config MIPS_GT64111
1100	bool
1101	depends on MIPS_COBALT
1102	default y
1103
1104config MIPS_GT64120
1105	bool
1106	depends on MIPS_EV64120 || MIPS_EV96100 || LASAT || MIPS_ATLAS || MIPS_MALTA || MOMENCO_OCELOT
1107	default y
1108
1109config MIPS_TX3927
1110	bool
1111	depends on TOSHIBA_JMR3927
1112	select HAS_TXX9_SERIAL
1113	default y
1114
1115config PCI_MARVELL
1116	bool
1117
1118config ITE_BOARD_GEN
1119	bool
1120	depends on MIPS_IVR || MIPS_ITE8172
1121	default y
1122
1123config SWAP_IO_SPACE
1124	bool
1125
1126#
1127# Unfortunately not all GT64120 systems run the chip at the same clock.
1128# As the user for the clock rate and try to minimize the available options.
1129#
1130choice
1131	prompt "Galileo Chip Clock"
1132	#default SYSCLK_83 if MIPS_EV64120
1133	depends on MIPS_EV64120 || MOMENCO_OCELOT || MOMENCO_OCELOT_G
1134	default SYSCLK_83 if MIPS_EV64120
1135	default SYSCLK_100 if MOMENCO_OCELOT || MOMENCO_OCELOT_G
1136
1137config SYSCLK_75
1138	bool "75" if MIPS_EV64120
1139
1140config SYSCLK_83
1141	bool "83.3" if MIPS_EV64120
1142
1143config SYSCLK_100
1144	bool "100" if MIPS_EV64120 || MOMENCO_OCELOT || MOMENCO_OCELOT_G
1145
1146endchoice
1147
1148config AU1X00_USB_DEVICE
1149	bool
1150	depends on MIPS_PB1500 || MIPS_PB1100 || MIPS_PB1000
1151	default n
1152
1153config MIPS_GT96100
1154	bool
1155	depends on MIPS_EV96100
1156	default y
1157	help
1158	  Say Y here to support the Galileo Technology GT96100 communications
1159	  controller card.  There is a web page at <http://www.galileot.com/>.
1160
1161config IT8172_CIR
1162	bool
1163	depends on MIPS_ITE8172 || MIPS_IVR
1164	default y
1165
1166config IT8712
1167	bool
1168	depends on MIPS_ITE8172
1169	default y
1170
1171config BOOT_ELF32
1172	bool
1173	depends on MACH_DECSTATION || MIPS_ATLAS || MIPS_MALTA || MOMENCO_JAGUAR_ATX || MOMENCO_OCELOT_3 || SIBYTE_SB1xxx_SOC || SGI_IP32 || SGI_IP22 || SNI_RM200_PCI
1174	default y
1175
1176config MIPS_L1_CACHE_SHIFT
1177	int
1178	default "4" if MACH_DECSTATION
1179	default "7" if SGI_IP27
1180	default "5"
1181
1182config ARC32
1183	bool
1184	depends on MACH_JAZZ || SNI_RM200_PCI || SGI_IP22 || SGI_IP32
1185	default y
1186
1187config HAVE_STD_PC_SERIAL_PORT
1188	bool
1189
1190config ARC_CONSOLE
1191	bool "ARC console support"
1192	depends on SGI_IP22 || SNI_RM200_PCI
1193
1194config ARC_MEMORY
1195	bool
1196	depends on MACH_JAZZ || SNI_RM200_PCI || SGI_IP32
1197	default y
1198
1199config ARC_PROMLIB
1200	bool
1201	depends on MACH_JAZZ || SNI_RM200_PCI || SGI_IP22 || SGI_IP32
1202	default y
1203
1204config ARC64
1205	bool
1206	depends on SGI_IP27
1207	default y
1208
1209config BOOT_ELF64
1210	bool
1211	depends on SGI_IP27
1212	default y
1213
1214#config MAPPED_PCI_IO y
1215#	bool
1216#	depends on SGI_IP27
1217#	default y
1218
1219config QL_ISP_A64
1220	bool
1221	depends on SGI_IP27
1222	default y
1223
1224config TOSHIBA_BOARDS
1225	bool
1226	depends on TOSHIBA_JMR3927 || TOSHIBA_RBTX4927
1227	default y
1228
1229endmenu
1230
1231menu "CPU selection"
1232
1233choice
1234	prompt "CPU type"
1235	default CPU_R4X00
1236
1237config CPU_MIPS32
1238	bool "MIPS32"
1239	select CPU_SUPPORTS_32BIT_KERNEL
1240
1241config CPU_MIPS64
1242	bool "MIPS64"
1243	select CPU_SUPPORTS_32BIT_KERNEL
1244	select CPU_SUPPORTS_64BIT_KERNEL
1245
1246config CPU_R3000
1247	bool "R3000"
1248	select CPU_SUPPORTS_32BIT_KERNEL
1249	help
1250	  Please make sure to pick the right CPU type. Linux/MIPS is not
1251	  designed to be generic, i.e. Kernels compiled for R3000 CPUs will
1252	  *not* work on R4000 machines and vice versa.  However, since most
1253	  of the supported machines have an R4000 (or similar) CPU, R4x00
1254	  might be a safe bet.  If the resulting kernel does not work,
1255	  try to recompile with R3000.
1256
1257config CPU_TX39XX
1258	bool "R39XX"
1259	select CPU_SUPPORTS_32BIT_KERNEL
1260
1261config CPU_VR41XX
1262	bool "R41xx"
1263	select CPU_SUPPORTS_32BIT_KERNEL
1264	select CPU_SUPPORTS_64BIT_KERNEL
1265	help
1266	  The options selects support for the NEC VR41xx series of processors.
1267	  Only choose this option if you have one of these processors as a
1268	  kernel built with this option will not run on any other type of
1269	  processor or vice versa.
1270
1271config CPU_R4300
1272	bool "R4300"
1273	select CPU_SUPPORTS_32BIT_KERNEL
1274	select CPU_SUPPORTS_64BIT_KERNEL
1275	help
1276	  MIPS Technologies R4300-series processors.
1277
1278config CPU_R4X00
1279	bool "R4x00"
1280	select CPU_SUPPORTS_32BIT_KERNEL
1281	select CPU_SUPPORTS_64BIT_KERNEL
1282	help
1283	  MIPS Technologies R4000-series processors other than 4300, including
1284	  the R4000, R4400, R4600, and 4700.
1285
1286config CPU_TX49XX
1287	bool "R49XX"
1288	select CPU_SUPPORTS_32BIT_KERNEL
1289	select CPU_SUPPORTS_64BIT_KERNEL
1290
1291config CPU_R5000
1292	bool "R5000"
1293	select CPU_SUPPORTS_32BIT_KERNEL
1294	select CPU_SUPPORTS_64BIT_KERNEL
1295	help
1296	  MIPS Technologies R5000-series processors other than the Nevada.
1297
1298config CPU_R5432
1299	bool "R5432"
1300
1301config CPU_R6000
1302	bool "R6000"
1303	depends on EXPERIMENTAL
1304	select CPU_SUPPORTS_32BIT_KERNEL
1305	help
1306	  MIPS Technologies R6000 and R6000A series processors.  Note these
1307	  processors are extremly rare and the support for them is incomplete.
1308
1309config CPU_NEVADA
1310	bool "RM52xx"
1311	select CPU_SUPPORTS_32BIT_KERNEL
1312	select CPU_SUPPORTS_64BIT_KERNEL
1313	help
1314	  QED / PMC-Sierra RM52xx-series ("Nevada") processors.
1315
1316config CPU_R8000
1317	bool "R8000"
1318	depends on EXPERIMENTAL
1319	select CPU_SUPPORTS_64BIT_KERNEL
1320	help
1321	  MIPS Technologies R8000 processors.  Note these processors are
1322	  uncommon and the support for them is incomplete.
1323
1324config CPU_R10000
1325	bool "R10000"
1326	select CPU_SUPPORTS_32BIT_KERNEL
1327	select CPU_SUPPORTS_64BIT_KERNEL
1328	help
1329	  MIPS Technologies R10000-series processors.
1330
1331config CPU_RM7000
1332	bool "RM7000"
1333	select CPU_SUPPORTS_32BIT_KERNEL
1334	select CPU_SUPPORTS_64BIT_KERNEL
1335
1336config CPU_RM9000
1337	bool "RM9000"
1338	select CPU_SUPPORTS_32BIT_KERNEL
1339	select CPU_SUPPORTS_64BIT_KERNEL
1340
1341config CPU_SB1
1342	bool "SB1"
1343	select CPU_SUPPORTS_32BIT_KERNEL
1344	select CPU_SUPPORTS_64BIT_KERNEL
1345
1346endchoice
1347
1348choice
1349	prompt "Kernel page size"
1350	default PAGE_SIZE_4KB
1351
1352config PAGE_SIZE_4KB
1353	bool "4kB"
1354	help
1355	 This option select the standard 4kB Linux page size.  On some
1356	 R3000-family processors this is the only available page size.  Using
1357	 4kB page size will minimize memory consumption and is therefore
1358	 recommended for low memory systems.
1359
1360config PAGE_SIZE_8KB
1361	bool "8kB"
1362	depends on EXPERIMENTAL && CPU_R8000
1363	help
1364	  Using 8kB page size will result in higher performance kernel at
1365	  the price of higher memory consumption.  This option is available
1366	  only on the R8000 processor.  Not that at the time of this writing
1367	  this option is still high experimental; there are also issues with
1368	  compatibility of user applications.
1369
1370config PAGE_SIZE_16KB
1371	bool "16kB"
1372	depends on EXPERIMENTAL && !CPU_R3000 && !CPU_TX39XX
1373	help
1374	  Using 16kB page size will result in higher performance kernel at
1375	  the price of higher memory consumption.  This option is available on
1376	  all non-R3000 family processor.  Not that at the time of this
1377	  writing this option is still high experimental; there are also
1378	  issues with compatibility of user applications.
1379
1380config PAGE_SIZE_64KB
1381	bool "64kB"
1382	depends on EXPERIMENTAL && !CPU_R3000 && !CPU_TX39XX
1383	help
1384	  Using 64kB page size will result in higher performance kernel at
1385	  the price of higher memory consumption.  This option is available on
1386	  all non-R3000 family processor.  Not that at the time of this
1387	  writing this option is still high experimental; there are also
1388	  issues with compatibility of user applications.
1389
1390endchoice
1391
1392config BOARD_SCACHE
1393	bool
1394
1395config IP22_CPU_SCACHE
1396	bool
1397	select BOARD_SCACHE
1398
1399config R5000_CPU_SCACHE
1400	bool
1401	select BOARD_SCACHE
1402
1403config RM7000_CPU_SCACHE
1404	bool
1405	select BOARD_SCACHE
1406
1407config SIBYTE_DMA_PAGEOPS
1408	bool "Use DMA to clear/copy pages"
1409	depends on CPU_SB1
1410	help
1411	  Instead of using the CPU to zero and copy pages, use a Data Mover
1412	  channel.  These DMA channels are otherwise unused by the standard
1413	  SiByte Linux port.  Seems to give a small performance benefit.
1414
1415config CPU_HAS_PREFETCH
1416	bool "Enable prefetches" if CPU_SB1 && !CPU_SB1_PASS_2
1417	default y if CPU_MIPS32 || CPU_MIPS64 || CPU_RM7000 || CPU_RM9000 || CPU_R10000
1418
1419config VTAG_ICACHE
1420	bool "Support for Virtual Tagged I-cache" if CPU_MIPS64 || CPU_MIPS32
1421	default y if CPU_SB1
1422
1423config SB1_PASS_1_WORKAROUNDS
1424	bool
1425	depends on CPU_SB1_PASS_1
1426	default y
1427
1428config SB1_PASS_2_WORKAROUNDS
1429	bool
1430	depends on CPU_SB1 && (CPU_SB1_PASS_2_2 || CPU_SB1_PASS_2)
1431	default y
1432
1433config SB1_PASS_2_1_WORKAROUNDS
1434	bool
1435	depends on CPU_SB1 && CPU_SB1_PASS_2
1436	default y
1437
1438config 64BIT_PHYS_ADDR
1439	bool "Support for 64-bit physical address space"
1440	depends on (CPU_R4X00 || CPU_R5000 || CPU_RM7000 || CPU_RM9000 || CPU_R10000 || CPU_SB1 || CPU_MIPS32 || CPU_MIPS64) && 32BIT
1441
1442config CPU_ADVANCED
1443	bool "Override CPU Options"
1444	depends on 32BIT
1445	help
1446	  Saying yes here allows you to select support for various features
1447	  your CPU may or may not have.  Most people should say N here.
1448
1449config CPU_HAS_LLSC
1450	bool "ll/sc Instructions available" if CPU_ADVANCED
1451	default y if !CPU_ADVANCED && !CPU_R3000 && !CPU_VR41XX && !CPU_TX39XX
1452	help
1453	  MIPS R4000 series and later provide the Load Linked (ll)
1454	  and Store Conditional (sc) instructions. More information is
1455	  available at <http://www.go-ecs.com/mips/miptek1.htm>.
1456
1457	  Say Y here if your CPU has the ll and sc instructions.  Say Y here
1458	  for better performance, N if you don't know.  You must say Y here
1459	  for multiprocessor machines.
1460
1461config CPU_HAS_LLDSCD
1462	bool "lld/scd Instructions available" if CPU_ADVANCED
1463	default y if !CPU_ADVANCED && !CPU_R3000 && !CPU_VR41XX && !CPU_TX39XX && !CPU_MIPS32
1464	help
1465	  Say Y here if your CPU has the lld and scd instructions, the 64-bit
1466	  equivalents of ll and sc.  Say Y here for better performance, N if
1467	  you don't know.  You must say Y here for multiprocessor machines.
1468
1469config CPU_HAS_WB
1470	bool "Writeback Buffer available" if CPU_ADVANCED
1471	default y if !CPU_ADVANCED && CPU_R3000 && MACH_DECSTATION
1472	help
1473	  Say N here for slightly better performance.  You must say Y here for
1474	  machines which require flushing of write buffers in software.  Saying
1475	  Y is the safe option; N may result in kernel malfunction and crashes.
1476
1477config CPU_HAS_SYNC
1478	bool
1479	depends on !CPU_R3000
1480	default y
1481
1482#
1483# - Highmem only makes sense for the 32-bit kernel.
1484# - The current highmem code will only work properly on physically indexed
1485#   caches such as R3000, SB1, R7000 or those that look like they're virtually
1486#   indexed such as R4000/R4400 SC and MC versions or R10000.  So for the
1487#   moment we protect the user and offer the highmem option only on machines
1488#   where it's known to be safe.  This will not offer highmem on a few systems
1489#   such as MIPS32 and MIPS64 CPUs which may have virtual and physically
1490#   indexed CPUs but we're playing safe.
1491# - We should not offer highmem for system of which we already know that they
1492#   don't have memory configurations that could gain from highmem support in
1493#   the kernel because they don't support configurations with RAM at physical
1494#   addresses > 0x20000000.
1495#
1496config HIGHMEM
1497	bool "High Memory Support"
1498	depends on 32BIT && (CPU_R3000 || CPU_SB1 || CPU_R7000 || CPU_RM9000 || CPU_R10000) && !(MACH_DECSTATION || MOMENCO_JAGUAR_ATX)
1499
1500config ARCH_FLATMEM_ENABLE
1501	def_bool y
1502	depends on !NUMA
1503
1504source "mm/Kconfig"
1505
1506config SMP
1507	bool "Multi-Processing support"
1508	depends on CPU_RM9000 || (SIBYTE_SB1250 && !SIBYTE_STANDALONE) || SGI_IP27
1509	---help---
1510	  This enables support for systems with more than one CPU. If you have
1511	  a system with only one CPU, like most personal computers, say N. If
1512	  you have a system with more than one CPU, say Y.
1513
1514	  If you say N here, the kernel will run on single and multiprocessor
1515	  machines, but will use only one CPU of a multiprocessor machine. If
1516	  you say Y here, the kernel will run on many, but not all,
1517	  singleprocessor machines. On a singleprocessor machine, the kernel
1518	  will run faster if you say N here.
1519
1520	  People using multiprocessor machines who say Y here should also say
1521	  Y to "Enhanced Real Time Clock Support", below.
1522
1523	  See also the <file:Documentation/smp.txt> and the SMP-HOWTO
1524	  available at <http://www.tldp.org/docs.html#howto>.
1525
1526	  If you don't know what to do here, say N.
1527
1528config NR_CPUS
1529	int "Maximum number of CPUs (2-64)"
1530	range 2 64
1531	depends on SMP
1532	default "64" if SGI_IP27
1533	default "2"
1534	help
1535	  This allows you to specify the maximum number of CPUs which this
1536	  kernel will support.  The maximum supported value is 32 for 32-bit
1537	  kernel and 64 for 64-bit kernels; the minimum value which makes
1538	  sense is 2.
1539
1540	  This is purely to save memory - each supported CPU adds
1541	  approximately eight kilobytes to the kernel image.
1542
1543config PREEMPT
1544	bool "Preemptible Kernel"
1545	help
1546	  This option reduces the latency of the kernel when reacting to
1547	  real-time or interactive events by allowing a low priority process to
1548	  be preempted even if it is in kernel mode executing a system call.
1549	  This allows applications to run more reliably even when the system is
1550	  under load.
1551
1552config RTC_DS1742
1553	bool "DS1742 BRAM/RTC support"
1554	depends on TOSHIBA_JMR3927 || TOSHIBA_RBTX4927
1555
1556config MIPS_INSANE_LARGE
1557	bool "Support for large 64-bit configurations"
1558	depends on CPU_R10000 && 64BIT
1559	help
1560	  MIPS R10000 does support a 44 bit / 16TB address space as opposed to
1561	  previous 64-bit processors which only supported 40 bit / 1TB. If you
1562	  need processes of more than 1TB virtual address space, say Y here.
1563	  This will result in additional memory usage, so it is not
1564	  recommended for normal users.
1565
1566config RWSEM_GENERIC_SPINLOCK
1567	bool
1568	default y
1569
1570endmenu
1571
1572menu "Bus options (PCI, PCMCIA, EISA, ISA, TC)"
1573
1574config HW_HAS_PCI
1575	bool
1576
1577config PCI
1578	bool "Support for PCI controller"
1579	depends on HW_HAS_PCI
1580	help
1581	  Find out whether you have a PCI motherboard. PCI is the name of a
1582	  bus system, i.e. the way the CPU talks to the other stuff inside
1583	  your box. Other bus systems are ISA, EISA, or VESA. If you have PCI,
1584	  say Y, otherwise N.
1585
1586	  The PCI-HOWTO, available from
1587	  <http://www.tldp.org/docs.html#howto>, contains valuable
1588	  information about which PCI hardware does work under Linux and which
1589	  doesn't.
1590
1591config PCI_DOMAINS
1592	bool
1593	depends on PCI
1594
1595source "drivers/pci/Kconfig"
1596
1597#
1598# ISA support is now enabled via select.  Too many systems still have the one
1599# or other ISA chip on the board that users don't know about so don't expect
1600# users to choose the right thing ...
1601#
1602config ISA
1603	bool
1604
1605config EISA
1606	bool "EISA support"
1607	depends on SGI_IP22 || SNI_RM200_PCI
1608	select ISA
1609	---help---
1610	  The Extended Industry Standard Architecture (EISA) bus was
1611	  developed as an open alternative to the IBM MicroChannel bus.
1612
1613	  The EISA bus provided some of the features of the IBM MicroChannel
1614	  bus while maintaining backward compatibility with cards made for
1615	  the older ISA bus.  The EISA bus saw limited use between 1988 and
1616	  1995 when it was made obsolete by the PCI bus.
1617
1618	  Say Y here if you are building a kernel for an EISA-based machine.
1619
1620	  Otherwise, say N.
1621
1622source "drivers/eisa/Kconfig"
1623
1624config TC
1625	bool "TURBOchannel support"
1626	depends on MACH_DECSTATION
1627	help
1628	  TurboChannel is a DEC (now Compaq (now HP)) bus for Alpha and MIPS
1629	  processors.  Documentation on writing device drivers for TurboChannel
1630	  is available at:
1631	  <http://www.cs.arizona.edu/computer.help/policy/DIGITAL_unix/AA-PS3HD-TET1_html/TITLE.html>.
1632
1633#config ACCESSBUS
1634#	bool "Access.Bus support"
1635#	depends on TC
1636
1637config MMU
1638	bool
1639	default y
1640
1641config MCA
1642	bool
1643
1644config SBUS
1645	bool
1646
1647source "drivers/pcmcia/Kconfig"
1648
1649source "drivers/pci/hotplug/Kconfig"
1650
1651endmenu
1652
1653menu "Executable file formats"
1654
1655source "fs/Kconfig.binfmt"
1656
1657config TRAD_SIGNALS
1658	bool
1659	default y if 32BIT
1660
1661config BUILD_ELF64
1662	bool "Use 64-bit ELF format for building"
1663	depends on 64BIT
1664	help
1665	  A 64-bit kernel is usually built using the 64-bit ELF binary object
1666	  format as it's one that allows arbitrary 64-bit constructs.  For
1667	  kernels that are loaded within the KSEG compatibility segments the
1668	  32-bit ELF format can optionally be used resulting in a somewhat
1669	  smaller binary, but this option is not explicitly supported by the
1670	  toolchain and since binutils 2.14 it does not even work at all.
1671
1672	  Say Y to use the 64-bit format or N to use the 32-bit one.
1673
1674	  If unsure say Y.
1675
1676config BINFMT_IRIX
1677	bool "Include IRIX binary compatibility"
1678	depends on !CPU_LITTLE_ENDIAN && 32BIT && BROKEN
1679
1680config MIPS32_COMPAT
1681	bool "Kernel support for Linux/MIPS 32-bit binary compatibility"
1682	depends on 64BIT
1683	help
1684	  Select this option if you want Linux/MIPS 32-bit binary
1685	  compatibility. Since all software available for Linux/MIPS is
1686	  currently 32-bit you should say Y here.
1687
1688config COMPAT
1689	bool
1690	depends on MIPS32_COMPAT
1691	default y
1692
1693config MIPS32_O32
1694	bool "Kernel support for o32 binaries"
1695	depends on MIPS32_COMPAT
1696	help
1697	  Select this option if you want to run o32 binaries.  These are pure
1698	  32-bit binaries as used by the 32-bit Linux/MIPS port.  Most of
1699	  existing binaries are in this format.
1700
1701	  If unsure, say Y.
1702
1703config MIPS32_N32
1704	bool "Kernel support for n32 binaries"
1705	depends on MIPS32_COMPAT
1706	help
1707	  Select this option if you want to run n32 binaries.  These are
1708	  64-bit binaries using 32-bit quantities for addressing and certain
1709	  data that would normally be 64-bit.  They are used in special
1710	  cases.
1711
1712	  If unsure, say N.
1713
1714config BINFMT_ELF32
1715	bool
1716	default y if MIPS32_O32 || MIPS32_N32
1717
1718config PM
1719	bool "Power Management support (EXPERIMENTAL)"
1720	depends on EXPERIMENTAL && MACH_AU1X00
1721
1722endmenu
1723
1724source "net/Kconfig"
1725
1726source "drivers/Kconfig"
1727
1728source "fs/Kconfig"
1729
1730source "arch/mips/Kconfig.debug"
1731
1732source "security/Kconfig"
1733
1734source "crypto/Kconfig"
1735
1736source "lib/Kconfig"
1737
1738#
1739# Use the generic interrupt handling code in kernel/irq/:
1740#
1741config GENERIC_HARDIRQS
1742	bool
1743	default y
1744
1745config GENERIC_IRQ_PROBE
1746	bool
1747	default y
1748
1749config ISA_DMA_API
1750	bool
1751	default y
1752