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