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