xref: /linux/arch/mips/Kconfig (revision 7b12b9137930eb821b68e1bfa11e9de692208620)
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
819config SCHED_NO_NO_OMIT_FRAME_POINTER
820	bool
821	default y
822
823#
824# Select some configuration options automatically based on user selections.
825#
826config ARC
827	bool
828
829config ARCH_MAY_HAVE_PC_FDC
830	bool
831
832config DMA_COHERENT
833	bool
834
835config DMA_IP27
836	bool
837
838config DMA_IP32
839	bool
840	select DMA_NEED_PCI_MAP_STATE
841
842config DMA_NONCOHERENT
843	bool
844	select DMA_NEED_PCI_MAP_STATE
845
846config DMA_NEED_PCI_MAP_STATE
847	bool
848
849config OWN_DMA
850	bool
851
852config EARLY_PRINTK
853	bool
854
855config GENERIC_ISA_DMA
856	bool
857
858config I8259
859	bool
860
861config LIMITED_DMA
862	bool
863	select HIGHMEM
864	select SYS_SUPPORTS_HIGHMEM
865
866config MIPS_BONITO64
867	bool
868
869config MIPS_MSC
870	bool
871
872config MIPS_NILE4
873	bool
874
875config MIPS_DISABLE_OBSOLETE_IDE
876	bool
877
878#
879# Endianess selection.  Suffiently obscure so many users don't know what to
880# answer,so we try hard to limit the available choices.  Also the use of a
881# choice statement should be more obvious to the user.
882#
883choice
884	prompt "Endianess selection"
885	help
886	  Some MIPS machines can be configured for either little or big endian
887	  byte order. These modes require different kernels and a different
888	  Linux distribution.  In general there is one prefered byteorder for a
889	  particular system but some systems are just as commonly used in the
890	  one or the other endianess.
891
892config CPU_BIG_ENDIAN
893	bool "Big endian"
894	depends on SYS_SUPPORTS_BIG_ENDIAN
895
896config CPU_LITTLE_ENDIAN
897	bool "Little endian"
898	depends on SYS_SUPPORTS_LITTLE_ENDIAN
899	help
900
901endchoice
902
903config SYS_SUPPORTS_BIG_ENDIAN
904	bool
905
906config SYS_SUPPORTS_LITTLE_ENDIAN
907	bool
908
909config IRQ_CPU
910	bool
911
912config IRQ_CPU_RM7K
913	bool
914
915config IRQ_CPU_RM9K
916	bool
917
918config IRQ_MV64340
919	bool
920
921config DDB5XXX_COMMON
922	bool
923
924config MIPS_BOARDS_GEN
925	bool
926
927config MIPS_GT64111
928	bool
929
930config MIPS_GT64120
931	bool
932
933config MIPS_TX3927
934	bool
935	select HAS_TXX9_SERIAL
936
937config PCI_MARVELL
938	bool
939
940config ITE_BOARD_GEN
941	bool
942
943config SOC_AU1000
944	bool
945	select SOC_AU1X00
946
947config SOC_AU1100
948	bool
949	select SOC_AU1X00
950
951config SOC_AU1500
952	bool
953	select SOC_AU1X00
954
955config SOC_AU1550
956	bool
957	select SOC_AU1X00
958
959config SOC_AU1200
960	bool
961	select SOC_AU1X00
962
963config SOC_AU1X00
964	bool
965	select SYS_HAS_CPU_MIPS32_R1
966	select SYS_SUPPORTS_32BIT_KERNEL
967
968config PNX8550
969	bool
970	select SOC_PNX8550
971
972config SOC_PNX8550
973	bool
974	select DMA_NONCOHERENT
975	select HW_HAS_PCI
976	select SYS_HAS_CPU_MIPS32_R1
977	select SYS_SUPPORTS_32BIT_KERNEL
978
979config SWAP_IO_SPACE
980	bool
981
982#
983# Unfortunately not all GT64120 systems run the chip at the same clock.
984# As the user for the clock rate and try to minimize the available options.
985#
986choice
987	prompt "Galileo Chip Clock"
988	#default SYSCLK_83 if MIPS_EV64120
989	depends on MIPS_EV64120 || MOMENCO_OCELOT || MOMENCO_OCELOT_G
990	default SYSCLK_83 if MIPS_EV64120
991	default SYSCLK_100 if MOMENCO_OCELOT || MOMENCO_OCELOT_G
992
993config SYSCLK_75
994	bool "75" if MIPS_EV64120
995
996config SYSCLK_83
997	bool "83.3" if MIPS_EV64120
998
999config SYSCLK_100
1000	bool "100" if MIPS_EV64120 || MOMENCO_OCELOT || MOMENCO_OCELOT_G
1001
1002endchoice
1003
1004config ARC32
1005	bool
1006
1007config AU1X00_USB_DEVICE
1008	bool
1009	depends on MIPS_PB1500 || MIPS_PB1100 || MIPS_PB1000
1010	default n
1011
1012config MIPS_GT96100
1013	bool
1014	select MIPS_GT64120
1015
1016config IT8172_CIR
1017	bool
1018	depends on MIPS_ITE8172 || MIPS_IVR
1019	default y
1020
1021config IT8712
1022	bool
1023	depends on MIPS_ITE8172
1024	default y
1025
1026config BOOT_ELF32
1027	bool
1028
1029config MIPS_L1_CACHE_SHIFT
1030	int
1031	default "4" if MACH_DECSTATION
1032	default "7" if SGI_IP27
1033	default "5"
1034
1035config HAVE_STD_PC_SERIAL_PORT
1036	bool
1037
1038config ARC_CONSOLE
1039	bool "ARC console support"
1040	depends on SGI_IP22 || SNI_RM200_PCI
1041
1042config ARC_MEMORY
1043	bool
1044	depends on MACH_JAZZ || SNI_RM200_PCI || SGI_IP32
1045	default y
1046
1047config ARC_PROMLIB
1048	bool
1049	depends on MACH_JAZZ || SNI_RM200_PCI || SGI_IP22 || SGI_IP32
1050	default y
1051
1052config ARC64
1053	bool
1054
1055config BOOT_ELF64
1056	bool
1057
1058config TOSHIBA_BOARDS
1059	bool
1060
1061menu "CPU selection"
1062
1063choice
1064	prompt "CPU type"
1065	default CPU_R4X00
1066
1067config CPU_MIPS32_R1
1068	bool "MIPS32 Release 1"
1069	depends on SYS_HAS_CPU_MIPS32_R1
1070	select CPU_HAS_LLSC
1071	select CPU_HAS_PREFETCH
1072	select CPU_SUPPORTS_32BIT_KERNEL
1073	select CPU_SUPPORTS_HIGHMEM
1074	help
1075	  Choose this option to build a kernel for release 1 or later of the
1076	  MIPS32 architecture.  Most modern embedded systems with a 32-bit
1077	  MIPS processor are based on a MIPS32 processor.  If you know the
1078	  specific type of processor in your system, choose those that one
1079	  otherwise CPU_MIPS32_R1 is a safe bet for any MIPS32 system.
1080	  Release 2 of the MIPS32 architecture is available since several
1081	  years so chances are you even have a MIPS32 Release 2 processor
1082	  in which case you should choose CPU_MIPS32_R2 instead for better
1083	  performance.
1084
1085config CPU_MIPS32_R2
1086	bool "MIPS32 Release 2"
1087	depends on SYS_HAS_CPU_MIPS32_R2
1088	select CPU_HAS_LLSC
1089	select CPU_HAS_PREFETCH
1090	select CPU_SUPPORTS_32BIT_KERNEL
1091	select CPU_SUPPORTS_HIGHMEM
1092	help
1093	  Choose this option to build a kernel for release 2 or later of the
1094	  MIPS32 architecture.  Most modern embedded systems with a 32-bit
1095	  MIPS processor are based on a MIPS32 processor.  If you know the
1096	  specific type of processor in your system, choose those that one
1097	  otherwise CPU_MIPS32_R1 is a safe bet for any MIPS32 system.
1098
1099config CPU_MIPS64_R1
1100	bool "MIPS64 Release 1"
1101	depends on SYS_HAS_CPU_MIPS64_R1
1102	select CPU_HAS_LLSC
1103	select CPU_HAS_PREFETCH
1104	select CPU_SUPPORTS_32BIT_KERNEL
1105	select CPU_SUPPORTS_64BIT_KERNEL
1106	select CPU_SUPPORTS_HIGHMEM
1107	help
1108	  Choose this option to build a kernel for release 1 or later of the
1109	  MIPS64 architecture.  Many modern embedded systems with a 64-bit
1110	  MIPS processor are based on a MIPS64 processor.  If you know the
1111	  specific type of processor in your system, choose those that one
1112	  otherwise CPU_MIPS64_R1 is a safe bet for any MIPS64 system.
1113	  Release 2 of the MIPS64 architecture is available since several
1114	  years so chances are you even have a MIPS64 Release 2 processor
1115	  in which case you should choose CPU_MIPS64_R2 instead for better
1116	  performance.
1117
1118config CPU_MIPS64_R2
1119	bool "MIPS64 Release 2"
1120	depends on SYS_HAS_CPU_MIPS64_R2
1121	select CPU_HAS_LLSC
1122	select CPU_HAS_PREFETCH
1123	select CPU_SUPPORTS_32BIT_KERNEL
1124	select CPU_SUPPORTS_64BIT_KERNEL
1125	select CPU_SUPPORTS_HIGHMEM
1126	help
1127	  Choose this option to build a kernel for release 2 or later of the
1128	  MIPS64 architecture.  Many modern embedded systems with a 64-bit
1129	  MIPS processor are based on a MIPS64 processor.  If you know the
1130	  specific type of processor in your system, choose those that one
1131	  otherwise CPU_MIPS64_R1 is a safe bet for any MIPS64 system.
1132
1133config CPU_R3000
1134	bool "R3000"
1135	depends on SYS_HAS_CPU_R3000
1136	select CPU_HAS_WB
1137	select CPU_SUPPORTS_32BIT_KERNEL
1138	select CPU_SUPPORTS_HIGHMEM
1139	help
1140	  Please make sure to pick the right CPU type. Linux/MIPS is not
1141	  designed to be generic, i.e. Kernels compiled for R3000 CPUs will
1142	  *not* work on R4000 machines and vice versa.  However, since most
1143	  of the supported machines have an R4000 (or similar) CPU, R4x00
1144	  might be a safe bet.  If the resulting kernel does not work,
1145	  try to recompile with R3000.
1146
1147config CPU_TX39XX
1148	bool "R39XX"
1149	depends on SYS_HAS_CPU_TX39XX
1150	select CPU_SUPPORTS_32BIT_KERNEL
1151
1152config CPU_VR41XX
1153	bool "R41xx"
1154	depends on SYS_HAS_CPU_VR41XX
1155	select CPU_SUPPORTS_32BIT_KERNEL
1156	select CPU_SUPPORTS_64BIT_KERNEL
1157	help
1158	  The options selects support for the NEC VR4100 series of processors.
1159	  Only choose this option if you have one of these processors as a
1160	  kernel built with this option will not run on any other type of
1161	  processor or vice versa.
1162
1163config CPU_R4300
1164	bool "R4300"
1165	depends on SYS_HAS_CPU_R4300
1166	select CPU_HAS_LLSC
1167	select CPU_SUPPORTS_32BIT_KERNEL
1168	select CPU_SUPPORTS_64BIT_KERNEL
1169	help
1170	  MIPS Technologies R4300-series processors.
1171
1172config CPU_R4X00
1173	bool "R4x00"
1174	depends on SYS_HAS_CPU_R4X00
1175	select CPU_HAS_LLSC
1176	select CPU_SUPPORTS_32BIT_KERNEL
1177	select CPU_SUPPORTS_64BIT_KERNEL
1178	help
1179	  MIPS Technologies R4000-series processors other than 4300, including
1180	  the R4000, R4400, R4600, and 4700.
1181
1182config CPU_TX49XX
1183	bool "R49XX"
1184	depends on SYS_HAS_CPU_TX49XX
1185	select CPU_HAS_LLSC
1186	select CPU_HAS_PREFETCH
1187	select CPU_SUPPORTS_32BIT_KERNEL
1188	select CPU_SUPPORTS_64BIT_KERNEL
1189
1190config CPU_R5000
1191	bool "R5000"
1192	depends on SYS_HAS_CPU_R5000
1193	select CPU_HAS_LLSC
1194	select CPU_SUPPORTS_32BIT_KERNEL
1195	select CPU_SUPPORTS_64BIT_KERNEL
1196	help
1197	  MIPS Technologies R5000-series processors other than the Nevada.
1198
1199config CPU_R5432
1200	bool "R5432"
1201	depends on SYS_HAS_CPU_R5432
1202	select CPU_HAS_LLSC
1203	select CPU_SUPPORTS_32BIT_KERNEL
1204	select CPU_SUPPORTS_64BIT_KERNEL
1205
1206config CPU_R6000
1207	bool "R6000"
1208	depends on EXPERIMENTAL
1209	select CPU_HAS_LLSC
1210	depends on SYS_HAS_CPU_R6000
1211	select CPU_SUPPORTS_32BIT_KERNEL
1212	help
1213	  MIPS Technologies R6000 and R6000A series processors.  Note these
1214	  processors are extremly rare and the support for them is incomplete.
1215
1216config CPU_NEVADA
1217	bool "RM52xx"
1218	depends on SYS_HAS_CPU_NEVADA
1219	select CPU_HAS_LLSC
1220	select CPU_SUPPORTS_32BIT_KERNEL
1221	select CPU_SUPPORTS_64BIT_KERNEL
1222	help
1223	  QED / PMC-Sierra RM52xx-series ("Nevada") processors.
1224
1225config CPU_R8000
1226	bool "R8000"
1227	depends on EXPERIMENTAL
1228	depends on SYS_HAS_CPU_R8000
1229	select CPU_HAS_LLSC
1230	select CPU_HAS_PREFETCH
1231	select CPU_SUPPORTS_64BIT_KERNEL
1232	help
1233	  MIPS Technologies R8000 processors.  Note these processors are
1234	  uncommon and the support for them is incomplete.
1235
1236config CPU_R10000
1237	bool "R10000"
1238	depends on SYS_HAS_CPU_R10000
1239	select CPU_HAS_LLSC
1240	select CPU_HAS_PREFETCH
1241	select CPU_SUPPORTS_32BIT_KERNEL
1242	select CPU_SUPPORTS_64BIT_KERNEL
1243	select CPU_SUPPORTS_HIGHMEM
1244	help
1245	  MIPS Technologies R10000-series processors.
1246
1247config CPU_RM7000
1248	bool "RM7000"
1249	depends on SYS_HAS_CPU_RM7000
1250	select CPU_HAS_LLSC
1251	select CPU_HAS_PREFETCH
1252	select CPU_SUPPORTS_32BIT_KERNEL
1253	select CPU_SUPPORTS_64BIT_KERNEL
1254	select CPU_SUPPORTS_HIGHMEM
1255
1256config CPU_RM9000
1257	bool "RM9000"
1258	depends on SYS_HAS_CPU_RM9000
1259	select CPU_HAS_LLSC
1260	select CPU_HAS_PREFETCH
1261	select CPU_SUPPORTS_32BIT_KERNEL
1262	select CPU_SUPPORTS_64BIT_KERNEL
1263	select CPU_SUPPORTS_HIGHMEM
1264
1265config CPU_SB1
1266	bool "SB1"
1267	depends on SYS_HAS_CPU_SB1
1268	select CPU_HAS_LLSC
1269	select CPU_SUPPORTS_32BIT_KERNEL
1270	select CPU_SUPPORTS_64BIT_KERNEL
1271	select CPU_SUPPORTS_HIGHMEM
1272
1273endchoice
1274
1275config SYS_HAS_CPU_MIPS32_R1
1276	bool
1277
1278config SYS_HAS_CPU_MIPS32_R2
1279	bool
1280
1281config SYS_HAS_CPU_MIPS64_R1
1282	bool
1283
1284config SYS_HAS_CPU_MIPS64_R2
1285	bool
1286
1287config SYS_HAS_CPU_R3000
1288	bool
1289
1290config SYS_HAS_CPU_TX39XX
1291	bool
1292
1293config SYS_HAS_CPU_VR41XX
1294	bool
1295
1296config SYS_HAS_CPU_R4300
1297	bool
1298
1299config SYS_HAS_CPU_R4X00
1300	bool
1301
1302config SYS_HAS_CPU_TX49XX
1303	bool
1304
1305config SYS_HAS_CPU_R5000
1306	bool
1307
1308config SYS_HAS_CPU_R5432
1309	bool
1310
1311config SYS_HAS_CPU_R6000
1312	bool
1313
1314config SYS_HAS_CPU_NEVADA
1315	bool
1316
1317config SYS_HAS_CPU_R8000
1318	bool
1319
1320config SYS_HAS_CPU_R10000
1321	bool
1322
1323config SYS_HAS_CPU_RM7000
1324	bool
1325
1326config SYS_HAS_CPU_RM9000
1327	bool
1328
1329config SYS_HAS_CPU_SB1
1330	bool
1331
1332endmenu
1333
1334#
1335# These two indicate any levelof the MIPS32 and MIPS64 architecture
1336#
1337config CPU_MIPS32
1338	bool
1339	default y if CPU_MIPS32_R1 || CPU_MIPS32_R2
1340
1341config CPU_MIPS64
1342	bool
1343	default y if CPU_MIPS64_R1 || CPU_MIPS64_R2
1344
1345#
1346# These two indicate the revision of the architecture, either 32 bot 64 bit.
1347#
1348config CPU_MIPSR1
1349	bool
1350	default y if CPU_MIPS32_R1 || CPU_MIPS64_R1
1351
1352config CPU_MIPSR2
1353	bool
1354	default y if CPU_MIPS32_R2 || CPU_MIPS64_R2
1355
1356config SYS_SUPPORTS_32BIT_KERNEL
1357	bool
1358config SYS_SUPPORTS_64BIT_KERNEL
1359	bool
1360config CPU_SUPPORTS_32BIT_KERNEL
1361	bool
1362config CPU_SUPPORTS_64BIT_KERNEL
1363	bool
1364
1365menu "Kernel type"
1366
1367choice
1368
1369	prompt "Kernel code model"
1370	help
1371	  You should only select this option if you have a workload that
1372	  actually benefits from 64-bit processing or if your machine has
1373	  large memory.  You will only be presented a single option in this
1374	  menu if your system does not support both 32-bit and 64-bit kernels.
1375
1376config 32BIT
1377	bool "32-bit kernel"
1378	depends on CPU_SUPPORTS_32BIT_KERNEL && SYS_SUPPORTS_32BIT_KERNEL
1379	select TRAD_SIGNALS
1380	help
1381	  Select this option if you want to build a 32-bit kernel.
1382config 64BIT
1383	bool "64-bit kernel"
1384	depends on CPU_SUPPORTS_64BIT_KERNEL && SYS_SUPPORTS_64BIT_KERNEL
1385	help
1386	  Select this option if you want to build a 64-bit kernel.
1387
1388endchoice
1389
1390choice
1391	prompt "Kernel page size"
1392	default PAGE_SIZE_4KB
1393
1394config PAGE_SIZE_4KB
1395	bool "4kB"
1396	help
1397	 This option select the standard 4kB Linux page size.  On some
1398	 R3000-family processors this is the only available page size.  Using
1399	 4kB page size will minimize memory consumption and is therefore
1400	 recommended for low memory systems.
1401
1402config PAGE_SIZE_8KB
1403	bool "8kB"
1404	depends on EXPERIMENTAL && CPU_R8000
1405	help
1406	  Using 8kB page size will result in higher performance kernel at
1407	  the price of higher memory consumption.  This option is available
1408	  only on the R8000 processor.  Not that at the time of this writing
1409	  this option is still high experimental; there are also issues with
1410	  compatibility of user applications.
1411
1412config PAGE_SIZE_16KB
1413	bool "16kB"
1414	depends on EXPERIMENTAL && !CPU_R3000 && !CPU_TX39XX
1415	help
1416	  Using 16kB page size will result in higher performance kernel at
1417	  the price of higher memory consumption.  This option is available on
1418	  all non-R3000 family processor.  Not that at the time of this
1419	  writing this option is still high experimental; there are also
1420	  issues with compatibility of user applications.
1421
1422config PAGE_SIZE_64KB
1423	bool "64kB"
1424	depends on EXPERIMENTAL && !CPU_R3000 && !CPU_TX39XX
1425	help
1426	  Using 64kB page size will result in higher performance kernel at
1427	  the price of higher memory consumption.  This option is available on
1428	  all non-R3000 family processor.  Not that at the time of this
1429	  writing this option is still high experimental; there are also
1430	  issues with compatibility of user applications.
1431
1432endchoice
1433
1434config BOARD_SCACHE
1435	bool
1436
1437config IP22_CPU_SCACHE
1438	bool
1439	select BOARD_SCACHE
1440
1441config R5000_CPU_SCACHE
1442	bool
1443	select BOARD_SCACHE
1444
1445config RM7000_CPU_SCACHE
1446	bool
1447	select BOARD_SCACHE
1448
1449config SIBYTE_DMA_PAGEOPS
1450	bool "Use DMA to clear/copy pages"
1451	depends on CPU_SB1
1452	help
1453	  Instead of using the CPU to zero and copy pages, use a Data Mover
1454	  channel.  These DMA channels are otherwise unused by the standard
1455	  SiByte Linux port.  Seems to give a small performance benefit.
1456
1457config CPU_HAS_PREFETCH
1458	bool
1459
1460config MIPS_MT
1461	bool "Enable MIPS MT"
1462
1463choice
1464	prompt "MIPS MT options"
1465	depends on MIPS_MT
1466
1467config MIPS_MT_SMTC
1468	bool "SMTC: Use all TCs on all VPEs for SMP"
1469	select CPU_MIPSR2_IRQ_VI
1470	select CPU_MIPSR2_SRS
1471	select SMP
1472
1473config MIPS_MT_SMP
1474	bool "Use 1 TC on each available VPE for SMP"
1475	select SMP
1476
1477config MIPS_VPE_LOADER
1478	bool "VPE loader support."
1479	depends on MIPS_MT
1480	help
1481	  Includes a loader for loading an elf relocatable object
1482	  onto another VPE and running it.
1483
1484endchoice
1485
1486config MIPS_MT_FPAFF
1487	bool "Dynamic FPU affinity for FP-intensive threads"
1488	depends on MIPS_MT
1489	default y
1490
1491config MIPS_VPE_LOADER_TOM
1492	bool "Load VPE program into memory hidden from linux"
1493	depends on MIPS_VPE_LOADER
1494	default y
1495	help
1496	  The loader can use memory that is present but has been hidden from
1497	  Linux using the kernel command line option "mem=xxMB". It's up to
1498	  you to ensure the amount you put in the option and the space your
1499	  program requires is less or equal to the amount physically present.
1500
1501# this should possibly be in drivers/char, but it is rather cpu related. Hmmm
1502config MIPS_VPE_APSP_API
1503	bool "Enable support for AP/SP API (RTLX)"
1504	depends on MIPS_VPE_LOADER
1505	help
1506
1507config MIPS_APSP_KSPD
1508	bool "Enable KSPD"
1509	depends on MIPS_VPE_APSP_API
1510	default y
1511	help
1512	  KSPD is a kernel daemon that accepts syscall requests from the SP
1513	  side, actions them and returns the results. It also handles the
1514	  "exit" syscall notifying other kernel modules the SP program is
1515	  exiting.  You probably want to say yes here.
1516
1517config SB1_PASS_1_WORKAROUNDS
1518	bool
1519	depends on CPU_SB1_PASS_1
1520	default y
1521
1522config SB1_PASS_2_WORKAROUNDS
1523	bool
1524	depends on CPU_SB1 && (CPU_SB1_PASS_2_2 || CPU_SB1_PASS_2)
1525	default y
1526
1527config SB1_PASS_2_1_WORKAROUNDS
1528	bool
1529	depends on CPU_SB1 && CPU_SB1_PASS_2
1530	default y
1531
1532config 64BIT_PHYS_ADDR
1533	bool "Support for 64-bit physical address space"
1534	depends on (CPU_R4X00 || CPU_R5000 || CPU_RM7000 || CPU_RM9000 || CPU_R10000 || CPU_SB1 || CPU_MIPS32 || CPU_MIPS64) && 32BIT
1535
1536config CPU_HAS_LLSC
1537	bool
1538
1539config CPU_HAS_WB
1540	bool
1541
1542config CPU_MIPSR2_IRQ_VI
1543	bool "Vectored interrupt mode"
1544	depends on CPU_MIPSR2
1545	help
1546	   Vectored interrupt mode allowing faster dispatching of interrupts.
1547	   The board support code needs to be written to take advantage of this
1548	   mode.  Compatibility code is included to allow the kernel to run on
1549	   a CPU that does not support vectored interrupts.  It's safe to
1550	   say Y here.
1551
1552config CPU_MIPSR2_IRQ_EI
1553	bool "External interrupt controller mode"
1554	depends on CPU_MIPSR2
1555	help
1556	   Extended interrupt mode takes advantage of an external interrupt
1557	   controller to allow fast dispatching from many possible interrupt
1558	   sources. Say N unless you know that external interrupt support is
1559	   required.
1560
1561config CPU_MIPSR2_SRS
1562	bool "Make shadow set registers available for interrupt handlers"
1563	depends on CPU_MIPSR2_IRQ_VI || CPU_MIPSR2_IRQ_EI
1564	help
1565	   Allow the kernel to use shadow register sets for fast interrupts.
1566	   Interrupt handlers must be specially written to use shadow sets.
1567	   Say N unless you know that shadow register set upport is needed.
1568
1569config CPU_HAS_SYNC
1570	bool
1571	depends on !CPU_R3000
1572	default y
1573
1574#
1575# Use the generic interrupt handling code in kernel/irq/:
1576#
1577config GENERIC_HARDIRQS
1578	bool
1579	default y
1580
1581config GENERIC_IRQ_PROBE
1582	bool
1583	default y
1584
1585#
1586# - Highmem only makes sense for the 32-bit kernel.
1587# - The current highmem code will only work properly on physically indexed
1588#   caches such as R3000, SB1, R7000 or those that look like they're virtually
1589#   indexed such as R4000/R4400 SC and MC versions or R10000.  So for the
1590#   moment we protect the user and offer the highmem option only on machines
1591#   where it's known to be safe.  This will not offer highmem on a few systems
1592#   such as MIPS32 and MIPS64 CPUs which may have virtual and physically
1593#   indexed CPUs but we're playing safe.
1594# - We use SYS_SUPPORTS_HIGHMEM to offer highmem only for systems where we
1595#   know they might have memory configurations that could make use of highmem
1596#   support.
1597#
1598config HIGHMEM
1599	bool "High Memory Support"
1600	depends on 32BIT && CPU_SUPPORTS_HIGHMEM && SYS_SUPPORTS_HIGHMEM
1601
1602config CPU_SUPPORTS_HIGHMEM
1603	bool
1604
1605config SYS_SUPPORTS_HIGHMEM
1606	bool
1607
1608config ARCH_FLATMEM_ENABLE
1609	def_bool y
1610	depends on !NUMA
1611
1612config NODES_SHIFT
1613	int
1614	default "6"
1615	depends on NEED_MULTIPLE_NODES
1616
1617source "mm/Kconfig"
1618
1619config SMP
1620	bool "Multi-Processing support"
1621	depends on CPU_RM9000 || ((SIBYTE_BCM1x80 || SIBYTE_BCM1x55 || SIBYTE_SB1250 || QEMU) && !SIBYTE_STANDALONE) || SGI_IP27 || MIPS_MT_SMP || MIPS_MT_SMTC
1622	---help---
1623	  This enables support for systems with more than one CPU. If you have
1624	  a system with only one CPU, like most personal computers, say N. If
1625	  you have a system with more than one CPU, say Y.
1626
1627	  If you say N here, the kernel will run on single and multiprocessor
1628	  machines, but will use only one CPU of a multiprocessor machine. If
1629	  you say Y here, the kernel will run on many, but not all,
1630	  singleprocessor machines. On a singleprocessor machine, the kernel
1631	  will run faster if you say N here.
1632
1633	  People using multiprocessor machines who say Y here should also say
1634	  Y to "Enhanced Real Time Clock Support", below.
1635
1636	  See also the <file:Documentation/smp.txt> and the SMP-HOWTO
1637	  available at <http://www.tldp.org/docs.html#howto>.
1638
1639	  If you don't know what to do here, say N.
1640
1641config NR_CPUS
1642	int "Maximum number of CPUs (2-64)"
1643	range 2 64
1644	depends on SMP
1645	default "64" if SGI_IP27
1646	default "2"
1647	help
1648	  This allows you to specify the maximum number of CPUs which this
1649	  kernel will support.  The maximum supported value is 32 for 32-bit
1650	  kernel and 64 for 64-bit kernels; the minimum value which makes
1651	  sense is 2.
1652
1653	  This is purely to save memory - each supported CPU adds
1654	  approximately eight kilobytes to the kernel image.
1655
1656source "kernel/Kconfig.preempt"
1657
1658config RTC_DS1742
1659	bool "DS1742 BRAM/RTC support"
1660	depends on TOSHIBA_JMR3927 || TOSHIBA_RBTX4927
1661
1662config MIPS_INSANE_LARGE
1663	bool "Support for large 64-bit configurations"
1664	depends on CPU_R10000 && 64BIT
1665	help
1666	  MIPS R10000 does support a 44 bit / 16TB address space as opposed to
1667	  previous 64-bit processors which only supported 40 bit / 1TB. If you
1668	  need processes of more than 1TB virtual address space, say Y here.
1669	  This will result in additional memory usage, so it is not
1670	  recommended for normal users.
1671
1672endmenu
1673
1674config RWSEM_GENERIC_SPINLOCK
1675	bool
1676	default y
1677
1678source "init/Kconfig"
1679
1680menu "Bus options (PCI, PCMCIA, EISA, ISA, TC)"
1681
1682config HW_HAS_EISA
1683	bool
1684config HW_HAS_PCI
1685	bool
1686
1687config PCI
1688	bool "Support for PCI controller"
1689	depends on HW_HAS_PCI
1690	help
1691	  Find out whether you have a PCI motherboard. PCI is the name of a
1692	  bus system, i.e. the way the CPU talks to the other stuff inside
1693	  your box. Other bus systems are ISA, EISA, or VESA. If you have PCI,
1694	  say Y, otherwise N.
1695
1696	  The PCI-HOWTO, available from
1697	  <http://www.tldp.org/docs.html#howto>, contains valuable
1698	  information about which PCI hardware does work under Linux and which
1699	  doesn't.
1700
1701config PCI_DOMAINS
1702	bool
1703	depends on PCI
1704
1705source "drivers/pci/Kconfig"
1706
1707#
1708# ISA support is now enabled via select.  Too many systems still have the one
1709# or other ISA chip on the board that users don't know about so don't expect
1710# users to choose the right thing ...
1711#
1712config ISA
1713	bool
1714
1715config EISA
1716	bool "EISA support"
1717	depends on HW_HAS_EISA
1718	select ISA
1719	---help---
1720	  The Extended Industry Standard Architecture (EISA) bus was
1721	  developed as an open alternative to the IBM MicroChannel bus.
1722
1723	  The EISA bus provided some of the features of the IBM MicroChannel
1724	  bus while maintaining backward compatibility with cards made for
1725	  the older ISA bus.  The EISA bus saw limited use between 1988 and
1726	  1995 when it was made obsolete by the PCI bus.
1727
1728	  Say Y here if you are building a kernel for an EISA-based machine.
1729
1730	  Otherwise, say N.
1731
1732source "drivers/eisa/Kconfig"
1733
1734config TC
1735	bool "TURBOchannel support"
1736	depends on MACH_DECSTATION
1737	help
1738	  TurboChannel is a DEC (now Compaq (now HP)) bus for Alpha and MIPS
1739	  processors.  Documentation on writing device drivers for TurboChannel
1740	  is available at:
1741	  <http://www.cs.arizona.edu/computer.help/policy/DIGITAL_unix/AA-PS3HD-TET1_html/TITLE.html>.
1742
1743#config ACCESSBUS
1744#	bool "Access.Bus support"
1745#	depends on TC
1746
1747config MMU
1748	bool
1749	default y
1750
1751config I8253
1752	bool
1753
1754source "drivers/pcmcia/Kconfig"
1755
1756source "drivers/pci/hotplug/Kconfig"
1757
1758endmenu
1759
1760menu "Executable file formats"
1761
1762source "fs/Kconfig.binfmt"
1763
1764config TRAD_SIGNALS
1765	bool
1766
1767config BUILD_ELF64
1768	bool "Use 64-bit ELF format for building"
1769	depends on 64BIT
1770	help
1771	  A 64-bit kernel is usually built using the 64-bit ELF binary object
1772	  format as it's one that allows arbitrary 64-bit constructs.  For
1773	  kernels that are loaded within the KSEG compatibility segments the
1774	  32-bit ELF format can optionally be used resulting in a somewhat
1775	  smaller binary, but this option is not explicitly supported by the
1776	  toolchain and since binutils 2.14 it does not even work at all.
1777
1778	  Say Y to use the 64-bit format or N to use the 32-bit one.
1779
1780	  If unsure say Y.
1781
1782config BINFMT_IRIX
1783	bool "Include IRIX binary compatibility"
1784	depends on CPU_BIG_ENDIAN && 32BIT && BROKEN
1785
1786config MIPS32_COMPAT
1787	bool "Kernel support for Linux/MIPS 32-bit binary compatibility"
1788	depends on 64BIT
1789	help
1790	  Select this option if you want Linux/MIPS 32-bit binary
1791	  compatibility. Since all software available for Linux/MIPS is
1792	  currently 32-bit you should say Y here.
1793
1794config COMPAT
1795	bool
1796	depends on MIPS32_COMPAT
1797	default y
1798
1799config MIPS32_O32
1800	bool "Kernel support for o32 binaries"
1801	depends on MIPS32_COMPAT
1802	help
1803	  Select this option if you want to run o32 binaries.  These are pure
1804	  32-bit binaries as used by the 32-bit Linux/MIPS port.  Most of
1805	  existing binaries are in this format.
1806
1807	  If unsure, say Y.
1808
1809config MIPS32_N32
1810	bool "Kernel support for n32 binaries"
1811	depends on MIPS32_COMPAT
1812	help
1813	  Select this option if you want to run n32 binaries.  These are
1814	  64-bit binaries using 32-bit quantities for addressing and certain
1815	  data that would normally be 64-bit.  They are used in special
1816	  cases.
1817
1818	  If unsure, say N.
1819
1820config BINFMT_ELF32
1821	bool
1822	default y if MIPS32_O32 || MIPS32_N32
1823
1824config SECCOMP
1825	bool "Enable seccomp to safely compute untrusted bytecode"
1826	depends on PROC_FS && BROKEN
1827	default y
1828	help
1829	  This kernel feature is useful for number crunching applications
1830	  that may need to compute untrusted bytecode during their
1831	  execution. By using pipes or other transports made available to
1832	  the process as file descriptors supporting the read/write
1833	  syscalls, it's possible to isolate those applications in
1834	  their own address space using seccomp. Once seccomp is
1835	  enabled via /proc/<pid>/seccomp, it cannot be disabled
1836	  and the task is only allowed to execute a few safe syscalls
1837	  defined by each seccomp mode.
1838
1839	  If unsure, say Y. Only embedded should say N here.
1840
1841config PM
1842	bool "Power Management support (EXPERIMENTAL)"
1843	depends on EXPERIMENTAL && SOC_AU1X00
1844
1845endmenu
1846
1847source "net/Kconfig"
1848
1849source "drivers/Kconfig"
1850
1851source "fs/Kconfig"
1852
1853source "arch/mips/oprofile/Kconfig"
1854
1855source "arch/mips/Kconfig.debug"
1856
1857source "security/Kconfig"
1858
1859source "crypto/Kconfig"
1860
1861source "lib/Kconfig"
1862