xref: /openbmc/linux/arch/mips/Kconfig (revision 87c2ce3b)
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 I8259
237	select ISA
238	select SYS_HAS_CPU_R4X00
239	select SYS_SUPPORTS_32BIT_KERNEL
240	select SYS_SUPPORTS_64BIT_KERNEL if EXPERIMENTAL
241	help
242	 This a family of machines based on the MIPS R4030 chipset which was
243	 used by several vendors to build RISC/os and Windows NT workstations.
244	 Members include the Acer PICA, MIPS Magnum 4000, MIPS Millenium and
245	 Olivetti M700-10 workstations.
246
247config LASAT
248	bool "Support for LASAT Networks platforms"
249	select DMA_NONCOHERENT
250	select HW_HAS_PCI
251	select MIPS_GT64120
252	select MIPS_NILE4
253	select R5000_CPU_SCACHE
254	select SYS_HAS_CPU_R5000
255	select SYS_SUPPORTS_32BIT_KERNEL
256	select SYS_SUPPORTS_64BIT_KERNEL if EXPERIMENTAL
257	select SYS_SUPPORTS_LITTLE_ENDIAN
258
259config MIPS_ATLAS
260	bool "Support for MIPS Atlas board"
261	select BOOT_ELF32
262	select DMA_NONCOHERENT
263	select IRQ_CPU
264	select HW_HAS_PCI
265	select MIPS_BOARDS_GEN
266	select MIPS_BONITO64
267	select MIPS_GT64120
268	select MIPS_MSC
269	select RM7000_CPU_SCACHE
270	select SWAP_IO_SPACE
271	select SYS_HAS_CPU_MIPS32_R1
272	select SYS_HAS_CPU_MIPS32_R2
273	select SYS_HAS_CPU_MIPS64_R1
274	select SYS_HAS_CPU_NEVADA
275	select SYS_HAS_CPU_RM7000
276	select SYS_SUPPORTS_32BIT_KERNEL
277	select SYS_SUPPORTS_64BIT_KERNEL
278	select SYS_SUPPORTS_BIG_ENDIAN
279	select SYS_SUPPORTS_LITTLE_ENDIAN
280	help
281	  This enables support for the MIPS Technologies Atlas evaluation
282	  board.
283
284config MIPS_MALTA
285	bool "Support for MIPS Malta board"
286	select ARCH_MAY_HAVE_PC_FDC
287	select BOOT_ELF32
288	select HAVE_STD_PC_SERIAL_PORT
289	select DMA_NONCOHERENT
290	select IRQ_CPU
291	select GENERIC_ISA_DMA
292	select HW_HAS_PCI
293	select I8259
294	select MIPS_BOARDS_GEN
295	select MIPS_BONITO64
296	select MIPS_GT64120
297	select MIPS_MSC
298	select SWAP_IO_SPACE
299	select SYS_HAS_CPU_MIPS32_R1
300	select SYS_HAS_CPU_MIPS32_R2
301	select SYS_HAS_CPU_MIPS64_R1
302	select SYS_HAS_CPU_NEVADA
303	select SYS_HAS_CPU_RM7000
304	select SYS_SUPPORTS_32BIT_KERNEL
305	select SYS_SUPPORTS_64BIT_KERNEL
306	select SYS_SUPPORTS_BIG_ENDIAN
307	select SYS_SUPPORTS_LITTLE_ENDIAN
308	help
309	  This enables support for the MIPS Technologies Malta evaluation
310	  board.
311
312config MIPS_SEAD
313	bool "Support for MIPS SEAD board (EXPERIMENTAL)"
314	depends on EXPERIMENTAL
315	select IRQ_CPU
316	select DMA_NONCOHERENT
317	select MIPS_BOARDS_GEN
318	select SYS_HAS_CPU_MIPS32_R1
319	select SYS_HAS_CPU_MIPS32_R2
320	select SYS_HAS_CPU_MIPS64_R1
321	select SYS_SUPPORTS_32BIT_KERNEL
322	select SYS_SUPPORTS_64BIT_KERNEL if EXPERIMENTAL
323	select SYS_SUPPORTS_BIG_ENDIAN
324	select SYS_SUPPORTS_LITTLE_ENDIAN
325	help
326	  This enables support for the MIPS Technologies SEAD evaluation
327	  board.
328
329config MIPS_SIM
330	bool 'Support for MIPS simulator (MIPSsim)'
331	select DMA_NONCOHERENT
332	select IRQ_CPU
333	select SYS_HAS_CPU_MIPS32_R1
334	select SYS_HAS_CPU_MIPS32_R2
335	select SYS_SUPPORTS_32BIT_KERNEL
336	select SYS_SUPPORTS_BIG_ENDIAN
337	select SYS_SUPPORTS_LITTLE_ENDIAN
338	help
339	  This option enables support for MIPS Technologies MIPSsim software
340	  emulator.
341
342config MOMENCO_JAGUAR_ATX
343	bool "Support for Momentum Jaguar board"
344	select BOOT_ELF32
345	select DMA_NONCOHERENT
346	select HW_HAS_PCI
347	select IRQ_CPU
348	select IRQ_CPU_RM7K
349	select IRQ_MV64340
350	select LIMITED_DMA
351	select PCI_MARVELL
352	select RM7000_CPU_SCACHE
353	select SWAP_IO_SPACE
354	select SYS_HAS_CPU_RM9000
355	select SYS_SUPPORTS_32BIT_KERNEL
356	select SYS_SUPPORTS_64BIT_KERNEL
357	select SYS_SUPPORTS_BIG_ENDIAN
358	help
359	  The Jaguar ATX is a MIPS-based Single Board Computer (SBC) made by
360	  Momentum Computer <http://www.momenco.com/>.
361
362config MOMENCO_OCELOT
363	bool "Support for Momentum Ocelot board"
364	select DMA_NONCOHERENT
365	select HW_HAS_PCI
366	select IRQ_CPU
367	select IRQ_CPU_RM7K
368	select MIPS_GT64120
369	select RM7000_CPU_SCACHE
370	select SWAP_IO_SPACE
371	select SYS_HAS_CPU_RM7000
372	select SYS_SUPPORTS_32BIT_KERNEL
373	select SYS_SUPPORTS_64BIT_KERNEL
374	select SYS_SUPPORTS_BIG_ENDIAN
375	help
376	  The Ocelot is a MIPS-based Single Board Computer (SBC) made by
377	  Momentum Computer <http://www.momenco.com/>.
378
379config MOMENCO_OCELOT_3
380	bool "Support for Momentum Ocelot-3 board"
381	select BOOT_ELF32
382	select DMA_NONCOHERENT
383	select HW_HAS_PCI
384	select IRQ_CPU
385	select IRQ_CPU_RM7K
386	select IRQ_MV64340
387	select PCI_MARVELL
388	select RM7000_CPU_SCACHE
389	select SWAP_IO_SPACE
390	select SYS_HAS_CPU_RM9000
391	select SYS_SUPPORTS_32BIT_KERNEL
392	select SYS_SUPPORTS_64BIT_KERNEL
393	select SYS_SUPPORTS_BIG_ENDIAN
394	help
395	  The Ocelot-3 is based off Discovery III System Controller and
396	  PMC-Sierra Rm79000 core.
397
398config MOMENCO_OCELOT_C
399	bool "Support for Momentum Ocelot-C board"
400	select DMA_NONCOHERENT
401	select HW_HAS_PCI
402	select IRQ_CPU
403	select IRQ_MV64340
404	select PCI_MARVELL
405	select RM7000_CPU_SCACHE
406	select SWAP_IO_SPACE
407	select SYS_HAS_CPU_RM7000
408	select SYS_SUPPORTS_32BIT_KERNEL
409	select SYS_SUPPORTS_64BIT_KERNEL
410	select SYS_SUPPORTS_BIG_ENDIAN
411	help
412	  The Ocelot is a MIPS-based Single Board Computer (SBC) made by
413	  Momentum Computer <http://www.momenco.com/>.
414
415config MOMENCO_OCELOT_G
416	bool "Support for Momentum Ocelot-G board"
417	select DMA_NONCOHERENT
418	select HW_HAS_PCI
419	select IRQ_CPU
420	select IRQ_CPU_RM7K
421	select PCI_MARVELL
422	select RM7000_CPU_SCACHE
423	select SWAP_IO_SPACE
424	select SYS_HAS_CPU_RM7000
425	select SYS_SUPPORTS_32BIT_KERNEL
426	select SYS_SUPPORTS_64BIT_KERNEL
427	select SYS_SUPPORTS_BIG_ENDIAN
428	help
429	  The Ocelot is a MIPS-based Single Board Computer (SBC) made by
430	  Momentum Computer <http://www.momenco.com/>.
431
432config MIPS_XXS1500
433	bool "Support for MyCable XXS1500 board"
434	select DMA_NONCOHERENT
435	select SOC_AU1500
436	select SYS_SUPPORTS_LITTLE_ENDIAN
437
438config PNX8550_V2PCI
439	bool "Support for Philips PNX8550 based Viper2-PCI board"
440	select PNX8550
441	select SYS_SUPPORTS_LITTLE_ENDIAN
442
443config PNX8550_JBS
444	bool "Support for Philips PNX8550 based JBS board"
445	select PNX8550
446	select SYS_SUPPORTS_LITTLE_ENDIAN
447
448config DDB5074
449	bool "Support for NEC DDB Vrc-5074 (EXPERIMENTAL)"
450	depends on EXPERIMENTAL
451	select DDB5XXX_COMMON
452	select DMA_NONCOHERENT
453	select HAVE_STD_PC_SERIAL_PORT
454	select HW_HAS_PCI
455	select IRQ_CPU
456	select I8259
457	select ISA
458	select SYS_HAS_CPU_R5000
459	select SYS_SUPPORTS_32BIT_KERNEL
460	select SYS_SUPPORTS_64BIT_KERNEL if EXPERIMENTAL
461	select SYS_SUPPORTS_LITTLE_ENDIAN
462	help
463	  This enables support for the VR5000-based NEC DDB Vrc-5074
464	  evaluation board.
465
466config DDB5476
467	bool "Support for NEC DDB Vrc-5476"
468	select DDB5XXX_COMMON
469	select DMA_NONCOHERENT
470	select HAVE_STD_PC_SERIAL_PORT
471	select HW_HAS_PCI
472	select IRQ_CPU
473	select I8259
474	select ISA
475	select SYS_HAS_CPU_R5432
476	select SYS_SUPPORTS_32BIT_KERNEL
477	select SYS_SUPPORTS_64BIT_KERNEL if EXPERIMENTAL
478	select SYS_SUPPORTS_LITTLE_ENDIAN
479	help
480	  This enables support for the R5432-based NEC DDB Vrc-5476
481	  evaluation board.
482
483	  Features : kernel debugging, serial terminal, NFS root fs, on-board
484	  ether port USB, AC97, PCI, PCI VGA card & framebuffer console,
485	  IDE controller, PS2 keyboard, PS2 mouse, etc.
486
487config DDB5477
488	bool "Support for NEC DDB Vrc-5477"
489	select DDB5XXX_COMMON
490	select DMA_NONCOHERENT
491	select HW_HAS_PCI
492	select I8259
493	select IRQ_CPU
494	select SYS_HAS_CPU_R5432
495	select SYS_SUPPORTS_32BIT_KERNEL
496	select SYS_SUPPORTS_64BIT_KERNEL if EXPERIMENTAL
497	select SYS_SUPPORTS_LITTLE_ENDIAN
498	help
499	  This enables support for the R5432-based NEC DDB Vrc-5477,
500	  or Rockhopper/SolutionGear boards with R5432/R5500 CPUs.
501
502	  Features : kernel debugging, serial terminal, NFS root fs, on-board
503	  ether port USB, AC97, PCI, etc.
504
505config MACH_VR41XX
506	bool "Support for NEC VR4100 series based machines"
507	select SYS_HAS_CPU_VR41XX
508	select SYS_SUPPORTS_32BIT_KERNEL
509	select SYS_SUPPORTS_64BIT_KERNEL if EXPERIMENTAL
510
511config PMC_YOSEMITE
512	bool "Support for PMC-Sierra Yosemite eval board"
513	select DMA_COHERENT
514	select HW_HAS_PCI
515	select IRQ_CPU
516	select IRQ_CPU_RM7K
517	select IRQ_CPU_RM9K
518	select SWAP_IO_SPACE
519	select SYS_HAS_CPU_RM9000
520	select SYS_SUPPORTS_32BIT_KERNEL
521	select SYS_SUPPORTS_64BIT_KERNEL
522	select SYS_SUPPORTS_BIG_ENDIAN
523	select SYS_SUPPORTS_HIGHMEM
524	help
525	  Yosemite is an evaluation board for the RM9000x2 processor
526	  manufactured by PMC-Sierra.
527
528config QEMU
529	bool "Support for Qemu"
530	select DMA_COHERENT
531	select GENERIC_ISA_DMA
532	select HAVE_STD_PC_SERIAL_PORT
533	select I8259
534	select ISA
535	select SWAP_IO_SPACE
536	select SYS_HAS_CPU_MIPS32_R1
537	select SYS_SUPPORTS_32BIT_KERNEL
538	select SYS_SUPPORTS_BIG_ENDIAN
539	help
540	  Qemu is a software emulator which among other architectures also
541	  can simulate a MIPS32 4Kc system.  This patch adds support for the
542	  system architecture that currently is being simulated by Qemu.  It
543	  will eventually be removed again when Qemu has the capability to
544	  simulate actual MIPS hardware platforms.  More information on Qemu
545	  can be found at http://www.linux-mips.org/wiki/Qemu.
546
547config SGI_IP22
548	bool "Support for SGI IP22 (Indy/Indigo2)"
549	select ARC
550	select ARC32
551	select BOOT_ELF32
552	select DMA_NONCOHERENT
553	select HW_HAS_EISA
554	select IP22_CPU_SCACHE
555	select IRQ_CPU
556	select SWAP_IO_SPACE
557	select SYS_HAS_CPU_R4X00
558	select SYS_HAS_CPU_R5000
559	select SYS_SUPPORTS_32BIT_KERNEL
560	select SYS_SUPPORTS_64BIT_KERNEL
561	select SYS_SUPPORTS_BIG_ENDIAN
562	help
563	  This are the SGI Indy, Challenge S and Indigo2, as well as certain
564	  OEM variants like the Tandem CMN B006S. To compile a Linux kernel
565	  that runs on these, say Y here.
566
567config SGI_IP27
568	bool "Support for SGI IP27 (Origin200/2000)"
569	select ARC
570	select ARC64
571	select BOOT_ELF64
572	select DMA_IP27
573	select HW_HAS_PCI
574	select PCI_DOMAINS
575	select SYS_HAS_CPU_R10000
576	select SYS_SUPPORTS_64BIT_KERNEL
577	select SYS_SUPPORTS_BIG_ENDIAN
578	help
579	  This are the SGI Origin 200, Origin 2000 and Onyx 2 Graphics
580	  workstations.  To compile a Linux kernel that runs on these, say Y
581	  here.
582
583config SGI_IP32
584	bool "Support for SGI IP32 (O2) (EXPERIMENTAL)"
585	depends on EXPERIMENTAL
586	select ARC
587	select ARC32
588	select BOOT_ELF32
589	select OWN_DMA
590	select DMA_IP32
591	select DMA_NONCOHERENT
592	select HW_HAS_PCI
593	select R5000_CPU_SCACHE
594	select RM7000_CPU_SCACHE
595	select SYS_HAS_CPU_R5000
596	select SYS_HAS_CPU_R10000 if BROKEN
597	select SYS_HAS_CPU_RM7000
598	select SYS_SUPPORTS_64BIT_KERNEL
599	select SYS_SUPPORTS_BIG_ENDIAN
600	help
601	  If you want this kernel to run on SGI O2 workstation, say Y here.
602
603config SIBYTE_BIGSUR
604	bool "Support for Sibyte BigSur"
605	select BOOT_ELF32
606	select DMA_COHERENT
607	select PCI_DOMAINS
608	select SIBYTE_BCM1x80
609	select SWAP_IO_SPACE
610	select SYS_HAS_CPU_SB1
611	select SYS_SUPPORTS_BIG_ENDIAN
612	select SYS_SUPPORTS_LITTLE_ENDIAN
613
614config SIBYTE_SWARM
615	bool "Support for Sibyte BCM91250A-SWARM"
616	select BOOT_ELF32
617	select DMA_COHERENT
618	select SIBYTE_SB1250
619	select SWAP_IO_SPACE
620	select SYS_HAS_CPU_SB1
621	select SYS_SUPPORTS_BIG_ENDIAN
622	select SYS_SUPPORTS_HIGHMEM
623	select SYS_SUPPORTS_LITTLE_ENDIAN
624
625config SIBYTE_SENTOSA
626	bool "Support for Sibyte BCM91250E-Sentosa"
627	depends on EXPERIMENTAL
628	select BOOT_ELF32
629	select DMA_COHERENT
630	select SIBYTE_SB1250
631	select SWAP_IO_SPACE
632	select SYS_HAS_CPU_SB1
633	select SYS_SUPPORTS_BIG_ENDIAN
634	select SYS_SUPPORTS_LITTLE_ENDIAN
635
636config SIBYTE_RHONE
637	bool "Support for Sibyte BCM91125E-Rhone"
638	depends on EXPERIMENTAL
639	select BOOT_ELF32
640	select DMA_COHERENT
641	select SIBYTE_BCM1125H
642	select SWAP_IO_SPACE
643	select SYS_HAS_CPU_SB1
644	select SYS_SUPPORTS_BIG_ENDIAN
645	select SYS_SUPPORTS_LITTLE_ENDIAN
646
647config SIBYTE_CARMEL
648	bool "Support for Sibyte BCM91120x-Carmel"
649	depends on EXPERIMENTAL
650	select BOOT_ELF32
651	select DMA_COHERENT
652	select SIBYTE_BCM1120
653	select SWAP_IO_SPACE
654	select SYS_HAS_CPU_SB1
655	select SYS_SUPPORTS_BIG_ENDIAN
656	select SYS_SUPPORTS_LITTLE_ENDIAN
657
658config SIBYTE_PTSWARM
659	bool "Support for Sibyte BCM91250PT-PTSWARM"
660	depends on EXPERIMENTAL
661	select BOOT_ELF32
662	select DMA_COHERENT
663	select SIBYTE_SB1250
664	select SWAP_IO_SPACE
665	select SYS_HAS_CPU_SB1
666	select SYS_SUPPORTS_BIG_ENDIAN
667	select SYS_SUPPORTS_HIGHMEM
668	select SYS_SUPPORTS_LITTLE_ENDIAN
669
670config SIBYTE_LITTLESUR
671	bool "Support for Sibyte BCM91250C2-LittleSur"
672	depends on EXPERIMENTAL
673	select BOOT_ELF32
674	select DMA_COHERENT
675	select SIBYTE_SB1250
676	select SWAP_IO_SPACE
677	select SYS_HAS_CPU_SB1
678	select SYS_SUPPORTS_BIG_ENDIAN
679	select SYS_SUPPORTS_HIGHMEM
680	select SYS_SUPPORTS_LITTLE_ENDIAN
681
682config SIBYTE_CRHINE
683	bool "Support for Sibyte BCM91120C-CRhine"
684	depends on EXPERIMENTAL
685	select BOOT_ELF32
686	select DMA_COHERENT
687	select SIBYTE_BCM1120
688	select SWAP_IO_SPACE
689	select SYS_HAS_CPU_SB1
690	select SYS_SUPPORTS_BIG_ENDIAN
691	select SYS_SUPPORTS_LITTLE_ENDIAN
692
693config SIBYTE_CRHONE
694	bool "Support for Sibyte BCM91125C-CRhone"
695	depends on EXPERIMENTAL
696	select BOOT_ELF32
697	select DMA_COHERENT
698	select SIBYTE_BCM1125
699	select SWAP_IO_SPACE
700	select SYS_HAS_CPU_SB1
701	select SYS_SUPPORTS_BIG_ENDIAN
702	select SYS_SUPPORTS_HIGHMEM
703	select SYS_SUPPORTS_LITTLE_ENDIAN
704
705config SNI_RM200_PCI
706	bool "Support for SNI RM200 PCI"
707	select ARC
708	select ARC32
709	select ARCH_MAY_HAVE_PC_FDC
710	select BOOT_ELF32
711	select DMA_NONCOHERENT
712	select GENERIC_ISA_DMA
713	select HAVE_STD_PC_SERIAL_PORT
714	select HW_HAS_EISA
715	select HW_HAS_PCI
716	select I8259
717	select ISA
718	select SYS_HAS_CPU_R4X00
719	select SYS_SUPPORTS_32BIT_KERNEL
720	select SYS_SUPPORTS_64BIT_KERNEL if EXPERIMENTAL
721	select SYS_SUPPORTS_BIG_ENDIAN if EXPERIMENTAL
722	select SYS_SUPPORTS_HIGHMEM
723	select SYS_SUPPORTS_LITTLE_ENDIAN
724	help
725	  The SNI RM200 PCI was a MIPS-based platform manufactured by Siemens
726	  Nixdorf Informationssysteme (SNI), parent company of Pyramid
727	  Technology and now in turn merged with Fujitsu.  Say Y here to
728	  support this machine type.
729
730config TOSHIBA_JMR3927
731	bool "Support for Toshiba JMR-TX3927 board"
732	select DMA_NONCOHERENT
733	select HW_HAS_PCI
734	select MIPS_TX3927
735	select SWAP_IO_SPACE
736	select SYS_HAS_CPU_TX39XX
737	select SYS_SUPPORTS_32BIT_KERNEL
738	select SYS_SUPPORTS_BIG_ENDIAN
739	select TOSHIBA_BOARDS
740
741config TOSHIBA_RBTX4927
742	bool "Support for Toshiba TBTX49[23]7 board"
743	select DMA_NONCOHERENT
744	select HAS_TXX9_SERIAL
745	select HW_HAS_PCI
746	select I8259
747	select ISA
748	select SWAP_IO_SPACE
749	select SYS_HAS_CPU_TX49XX
750	select SYS_SUPPORTS_32BIT_KERNEL
751	select SYS_SUPPORTS_64BIT_KERNEL
752	select SYS_SUPPORTS_BIG_ENDIAN
753	select TOSHIBA_BOARDS
754	help
755	  This Toshiba board is based on the TX4927 processor. Say Y here to
756	  support this machine type
757
758config TOSHIBA_RBTX4938
759	bool "Support for Toshiba RBTX4938 board"
760	select HAVE_STD_PC_SERIAL_PORT
761	select DMA_NONCOHERENT
762	select GENERIC_ISA_DMA
763	select HAS_TXX9_SERIAL
764	select HW_HAS_PCI
765	select I8259
766	select ISA
767	select SWAP_IO_SPACE
768	select SYS_HAS_CPU_TX49XX
769	select SYS_SUPPORTS_32BIT_KERNEL
770	select SYS_SUPPORTS_LITTLE_ENDIAN
771	select SYS_SUPPORTS_BIG_ENDIAN
772	select TOSHIBA_BOARDS
773	help
774	  This Toshiba board is based on the TX4938 processor. Say Y here to
775	  support this machine type
776
777endchoice
778
779source "arch/mips/ddb5xxx/Kconfig"
780source "arch/mips/gt64120/ev64120/Kconfig"
781source "arch/mips/jazz/Kconfig"
782source "arch/mips/ite-boards/Kconfig"
783source "arch/mips/lasat/Kconfig"
784source "arch/mips/momentum/Kconfig"
785source "arch/mips/pmc-sierra/Kconfig"
786source "arch/mips/sgi-ip27/Kconfig"
787source "arch/mips/sibyte/Kconfig"
788source "arch/mips/tx4927/Kconfig"
789source "arch/mips/tx4938/Kconfig"
790source "arch/mips/vr41xx/Kconfig"
791source "arch/mips/philips/pnx8550/common/Kconfig"
792
793endmenu
794
795config RWSEM_GENERIC_SPINLOCK
796	bool
797	default y
798
799config RWSEM_XCHGADD_ALGORITHM
800	bool
801
802config GENERIC_CALIBRATE_DELAY
803	bool
804	default y
805
806#
807# Select some configuration options automatically based on user selections.
808#
809config ARC
810	bool
811
812config ARCH_MAY_HAVE_PC_FDC
813	bool
814
815config DMA_COHERENT
816	bool
817
818config DMA_IP27
819	bool
820
821config DMA_IP32
822	bool
823	select DMA_NEED_PCI_MAP_STATE
824
825config DMA_NONCOHERENT
826	bool
827	select DMA_NEED_PCI_MAP_STATE
828
829config DMA_NEED_PCI_MAP_STATE
830	bool
831
832config OWN_DMA
833	bool
834
835config EARLY_PRINTK
836	bool
837
838config GENERIC_ISA_DMA
839	bool
840
841config I8259
842	bool
843
844config LIMITED_DMA
845	bool
846	select HIGHMEM
847	select SYS_SUPPORTS_HIGHMEM
848
849config MIPS_BONITO64
850	bool
851
852config MIPS_MSC
853	bool
854
855config MIPS_NILE4
856	bool
857
858config MIPS_DISABLE_OBSOLETE_IDE
859	bool
860
861#
862# Endianess selection.  Suffiently obscure so many users don't know what to
863# answer,so we try hard to limit the available choices.  Also the use of a
864# choice statement should be more obvious to the user.
865#
866choice
867	prompt "Endianess selection"
868	help
869	  Some MIPS machines can be configured for either little or big endian
870	  byte order. These modes require different kernels and a different
871	  Linux distribution.  In general there is one prefered byteorder for a
872	  particular system but some systems are just as commonly used in the
873	  one or the other endianess.
874
875config CPU_BIG_ENDIAN
876	bool "Big endian"
877	depends on SYS_SUPPORTS_BIG_ENDIAN
878
879config CPU_LITTLE_ENDIAN
880	bool "Little endian"
881	depends on SYS_SUPPORTS_LITTLE_ENDIAN
882	help
883
884endchoice
885
886config SYS_SUPPORTS_BIG_ENDIAN
887	bool
888
889config SYS_SUPPORTS_LITTLE_ENDIAN
890	bool
891
892config IRQ_CPU
893	bool
894
895config IRQ_CPU_RM7K
896	bool
897
898config IRQ_CPU_RM9K
899	bool
900
901config IRQ_MV64340
902	bool
903
904config DDB5XXX_COMMON
905	bool
906
907config MIPS_BOARDS_GEN
908	bool
909
910config MIPS_GT64111
911	bool
912
913config MIPS_GT64120
914	bool
915
916config MIPS_TX3927
917	bool
918	select HAS_TXX9_SERIAL
919
920config PCI_MARVELL
921	bool
922
923config ITE_BOARD_GEN
924	bool
925
926config SOC_AU1000
927	bool
928	select SOC_AU1X00
929
930config SOC_AU1100
931	bool
932	select SOC_AU1X00
933
934config SOC_AU1500
935	bool
936	select SOC_AU1X00
937
938config SOC_AU1550
939	bool
940	select SOC_AU1X00
941
942config SOC_AU1200
943	bool
944	select SOC_AU1X00
945
946config SOC_AU1X00
947	bool
948	select SYS_HAS_CPU_MIPS32_R1
949	select SYS_SUPPORTS_32BIT_KERNEL
950
951config PNX8550
952	bool
953	select SOC_PNX8550
954
955config SOC_PNX8550
956	bool
957	select DMA_NONCOHERENT
958	select HW_HAS_PCI
959	select SYS_HAS_CPU_MIPS32_R1
960	select SYS_SUPPORTS_32BIT_KERNEL
961
962config SWAP_IO_SPACE
963	bool
964
965#
966# Unfortunately not all GT64120 systems run the chip at the same clock.
967# As the user for the clock rate and try to minimize the available options.
968#
969choice
970	prompt "Galileo Chip Clock"
971	#default SYSCLK_83 if MIPS_EV64120
972	depends on MIPS_EV64120 || MOMENCO_OCELOT || MOMENCO_OCELOT_G
973	default SYSCLK_83 if MIPS_EV64120
974	default SYSCLK_100 if MOMENCO_OCELOT || MOMENCO_OCELOT_G
975
976config SYSCLK_75
977	bool "75" if MIPS_EV64120
978
979config SYSCLK_83
980	bool "83.3" if MIPS_EV64120
981
982config SYSCLK_100
983	bool "100" if MIPS_EV64120 || MOMENCO_OCELOT || MOMENCO_OCELOT_G
984
985endchoice
986
987config ARC32
988	bool
989
990config AU1X00_USB_DEVICE
991	bool
992	depends on MIPS_PB1500 || MIPS_PB1100 || MIPS_PB1000
993	default n
994
995config MIPS_GT96100
996	bool
997	select MIPS_GT64120
998
999config IT8172_CIR
1000	bool
1001	depends on MIPS_ITE8172 || MIPS_IVR
1002	default y
1003
1004config IT8712
1005	bool
1006	depends on MIPS_ITE8172
1007	default y
1008
1009config BOOT_ELF32
1010	bool
1011
1012config MIPS_L1_CACHE_SHIFT
1013	int
1014	default "4" if MACH_DECSTATION
1015	default "7" if SGI_IP27
1016	default "5"
1017
1018config HAVE_STD_PC_SERIAL_PORT
1019	bool
1020
1021config ARC_CONSOLE
1022	bool "ARC console support"
1023	depends on SGI_IP22 || SNI_RM200_PCI
1024
1025config ARC_MEMORY
1026	bool
1027	depends on MACH_JAZZ || SNI_RM200_PCI || SGI_IP32
1028	default y
1029
1030config ARC_PROMLIB
1031	bool
1032	depends on MACH_JAZZ || SNI_RM200_PCI || SGI_IP22 || SGI_IP32
1033	default y
1034
1035config ARC64
1036	bool
1037
1038config BOOT_ELF64
1039	bool
1040
1041config TOSHIBA_BOARDS
1042	bool
1043
1044menu "CPU selection"
1045
1046choice
1047	prompt "CPU type"
1048	default CPU_R4X00
1049
1050config CPU_MIPS32_R1
1051	bool "MIPS32 Release 1"
1052	depends on SYS_HAS_CPU_MIPS32_R1
1053	select CPU_HAS_PREFETCH
1054	select CPU_SUPPORTS_32BIT_KERNEL
1055	help
1056	  Choose this option to build a kernel for release 1 or later of the
1057	  MIPS32 architecture.  Most modern embedded systems with a 32-bit
1058	  MIPS processor are based on a MIPS32 processor.  If you know the
1059	  specific type of processor in your system, choose those that one
1060	  otherwise CPU_MIPS32_R1 is a safe bet for any MIPS32 system.
1061	  Release 2 of the MIPS32 architecture is available since several
1062	  years so chances are you even have a MIPS32 Release 2 processor
1063	  in which case you should choose CPU_MIPS32_R2 instead for better
1064	  performance.
1065
1066config CPU_MIPS32_R2
1067	bool "MIPS32 Release 2"
1068	depends on SYS_HAS_CPU_MIPS32_R2
1069	select CPU_HAS_PREFETCH
1070	select CPU_SUPPORTS_32BIT_KERNEL
1071	help
1072	  Choose this option to build a kernel for release 2 or later of the
1073	  MIPS32 architecture.  Most modern embedded systems with a 32-bit
1074	  MIPS processor are based on a MIPS32 processor.  If you know the
1075	  specific type of processor in your system, choose those that one
1076	  otherwise CPU_MIPS32_R1 is a safe bet for any MIPS32 system.
1077
1078config CPU_MIPS64_R1
1079	bool "MIPS64 Release 1"
1080	depends on SYS_HAS_CPU_MIPS64_R1
1081	select CPU_HAS_PREFETCH
1082	select CPU_SUPPORTS_32BIT_KERNEL
1083	select CPU_SUPPORTS_64BIT_KERNEL
1084	help
1085	  Choose this option to build a kernel for release 1 or later of the
1086	  MIPS64 architecture.  Many modern embedded systems with a 64-bit
1087	  MIPS processor are based on a MIPS64 processor.  If you know the
1088	  specific type of processor in your system, choose those that one
1089	  otherwise CPU_MIPS64_R1 is a safe bet for any MIPS64 system.
1090	  Release 2 of the MIPS64 architecture is available since several
1091	  years so chances are you even have a MIPS64 Release 2 processor
1092	  in which case you should choose CPU_MIPS64_R2 instead for better
1093	  performance.
1094
1095config CPU_MIPS64_R2
1096	bool "MIPS64 Release 2"
1097	depends on SYS_HAS_CPU_MIPS64_R2
1098	select CPU_HAS_PREFETCH
1099	select CPU_SUPPORTS_32BIT_KERNEL
1100	select CPU_SUPPORTS_64BIT_KERNEL
1101	help
1102	  Choose this option to build a kernel for release 2 or later of the
1103	  MIPS64 architecture.  Many modern embedded systems with a 64-bit
1104	  MIPS processor are based on a MIPS64 processor.  If you know the
1105	  specific type of processor in your system, choose those that one
1106	  otherwise CPU_MIPS64_R1 is a safe bet for any MIPS64 system.
1107
1108config CPU_R3000
1109	bool "R3000"
1110	depends on SYS_HAS_CPU_R3000
1111	select CPU_SUPPORTS_32BIT_KERNEL
1112	select CPU_SUPPORTS_HIGHMEM
1113	help
1114	  Please make sure to pick the right CPU type. Linux/MIPS is not
1115	  designed to be generic, i.e. Kernels compiled for R3000 CPUs will
1116	  *not* work on R4000 machines and vice versa.  However, since most
1117	  of the supported machines have an R4000 (or similar) CPU, R4x00
1118	  might be a safe bet.  If the resulting kernel does not work,
1119	  try to recompile with R3000.
1120
1121config CPU_TX39XX
1122	bool "R39XX"
1123	depends on SYS_HAS_CPU_TX39XX
1124	select CPU_SUPPORTS_32BIT_KERNEL
1125
1126config CPU_VR41XX
1127	bool "R41xx"
1128	depends on SYS_HAS_CPU_VR41XX
1129	select CPU_SUPPORTS_32BIT_KERNEL
1130	select CPU_SUPPORTS_64BIT_KERNEL
1131	help
1132	  The options selects support for the NEC VR4100 series of processors.
1133	  Only choose this option if you have one of these processors as a
1134	  kernel built with this option will not run on any other type of
1135	  processor or vice versa.
1136
1137config CPU_R4300
1138	bool "R4300"
1139	depends on SYS_HAS_CPU_R4300
1140	select CPU_SUPPORTS_32BIT_KERNEL
1141	select CPU_SUPPORTS_64BIT_KERNEL
1142	help
1143	  MIPS Technologies R4300-series processors.
1144
1145config CPU_R4X00
1146	bool "R4x00"
1147	depends on SYS_HAS_CPU_R4X00
1148	select CPU_SUPPORTS_32BIT_KERNEL
1149	select CPU_SUPPORTS_64BIT_KERNEL
1150	help
1151	  MIPS Technologies R4000-series processors other than 4300, including
1152	  the R4000, R4400, R4600, and 4700.
1153
1154config CPU_TX49XX
1155	bool "R49XX"
1156	depends on SYS_HAS_CPU_TX49XX
1157	select CPU_SUPPORTS_32BIT_KERNEL
1158	select CPU_SUPPORTS_64BIT_KERNEL
1159
1160config CPU_R5000
1161	bool "R5000"
1162	depends on SYS_HAS_CPU_R5000
1163	select CPU_SUPPORTS_32BIT_KERNEL
1164	select CPU_SUPPORTS_64BIT_KERNEL
1165	help
1166	  MIPS Technologies R5000-series processors other than the Nevada.
1167
1168config CPU_R5432
1169	bool "R5432"
1170	depends on SYS_HAS_CPU_R5432
1171	select CPU_SUPPORTS_32BIT_KERNEL
1172	select CPU_SUPPORTS_64BIT_KERNEL
1173
1174config CPU_R6000
1175	bool "R6000"
1176	depends on EXPERIMENTAL
1177	depends on SYS_HAS_CPU_R6000
1178	select CPU_SUPPORTS_32BIT_KERNEL
1179	help
1180	  MIPS Technologies R6000 and R6000A series processors.  Note these
1181	  processors are extremly rare and the support for them is incomplete.
1182
1183config CPU_NEVADA
1184	bool "RM52xx"
1185	depends on SYS_HAS_CPU_NEVADA
1186	select CPU_SUPPORTS_32BIT_KERNEL
1187	select CPU_SUPPORTS_64BIT_KERNEL
1188	help
1189	  QED / PMC-Sierra RM52xx-series ("Nevada") processors.
1190
1191config CPU_R8000
1192	bool "R8000"
1193	depends on EXPERIMENTAL
1194	depends on SYS_HAS_CPU_R8000
1195	select CPU_HAS_PREFETCH
1196	select CPU_SUPPORTS_64BIT_KERNEL
1197	help
1198	  MIPS Technologies R8000 processors.  Note these processors are
1199	  uncommon and the support for them is incomplete.
1200
1201config CPU_R10000
1202	bool "R10000"
1203	depends on SYS_HAS_CPU_R10000
1204	select CPU_HAS_PREFETCH
1205	select CPU_SUPPORTS_32BIT_KERNEL
1206	select CPU_SUPPORTS_64BIT_KERNEL
1207	select CPU_SUPPORTS_HIGHMEM
1208	help
1209	  MIPS Technologies R10000-series processors.
1210
1211config CPU_RM7000
1212	bool "RM7000"
1213	depends on SYS_HAS_CPU_RM7000
1214	select CPU_HAS_PREFETCH
1215	select CPU_SUPPORTS_32BIT_KERNEL
1216	select CPU_SUPPORTS_64BIT_KERNEL
1217	select CPU_SUPPORTS_HIGHMEM
1218
1219config CPU_RM9000
1220	bool "RM9000"
1221	depends on SYS_HAS_CPU_RM9000
1222	select CPU_HAS_PREFETCH
1223	select CPU_SUPPORTS_32BIT_KERNEL
1224	select CPU_SUPPORTS_64BIT_KERNEL
1225	select CPU_SUPPORTS_HIGHMEM
1226
1227config CPU_SB1
1228	bool "SB1"
1229	depends on SYS_HAS_CPU_SB1
1230	select CPU_SUPPORTS_32BIT_KERNEL
1231	select CPU_SUPPORTS_64BIT_KERNEL
1232	select CPU_SUPPORTS_HIGHMEM
1233
1234endchoice
1235
1236config SYS_HAS_CPU_MIPS32_R1
1237	bool
1238
1239config SYS_HAS_CPU_MIPS32_R2
1240	bool
1241
1242config SYS_HAS_CPU_MIPS64_R1
1243	bool
1244
1245config SYS_HAS_CPU_MIPS64_R2
1246	bool
1247
1248config SYS_HAS_CPU_R3000
1249	bool
1250
1251config SYS_HAS_CPU_TX39XX
1252	bool
1253
1254config SYS_HAS_CPU_VR41XX
1255	bool
1256
1257config SYS_HAS_CPU_R4300
1258	bool
1259
1260config SYS_HAS_CPU_R4X00
1261	bool
1262
1263config SYS_HAS_CPU_TX49XX
1264	bool
1265
1266config SYS_HAS_CPU_R5000
1267	bool
1268
1269config SYS_HAS_CPU_R5432
1270	bool
1271
1272config SYS_HAS_CPU_R6000
1273	bool
1274
1275config SYS_HAS_CPU_NEVADA
1276	bool
1277
1278config SYS_HAS_CPU_R8000
1279	bool
1280
1281config SYS_HAS_CPU_R10000
1282	bool
1283
1284config SYS_HAS_CPU_RM7000
1285	bool
1286
1287config SYS_HAS_CPU_RM9000
1288	bool
1289
1290config SYS_HAS_CPU_SB1
1291	bool
1292
1293endmenu
1294
1295#
1296# These two indicate any levelof the MIPS32 and MIPS64 architecture
1297#
1298config CPU_MIPS32
1299	bool
1300	default y if CPU_MIPS32_R1 || CPU_MIPS32_R2
1301
1302config CPU_MIPS64
1303	bool
1304	default y if CPU_MIPS64_R1 || CPU_MIPS64_R2
1305
1306#
1307# These two indicate the revision of the architecture, either 32 bot 64 bit.
1308#
1309config CPU_MIPSR1
1310	bool
1311	default y if CPU_MIPS32_R1 || CPU_MIPS64_R1
1312
1313config CPU_MIPSR2
1314	bool
1315	default y if CPU_MIPS32_R2 || CPU_MIPS64_R2
1316
1317config SYS_SUPPORTS_32BIT_KERNEL
1318	bool
1319config SYS_SUPPORTS_64BIT_KERNEL
1320	bool
1321config CPU_SUPPORTS_32BIT_KERNEL
1322	bool
1323config CPU_SUPPORTS_64BIT_KERNEL
1324	bool
1325
1326menu "Kernel type"
1327
1328choice
1329
1330	prompt "Kernel code model"
1331	help
1332	  You should only select this option if you have a workload that
1333	  actually benefits from 64-bit processing or if your machine has
1334	  large memory.  You will only be presented a single option in this
1335	  menu if your system does not support both 32-bit and 64-bit kernels.
1336
1337config 32BIT
1338	bool "32-bit kernel"
1339	depends on CPU_SUPPORTS_32BIT_KERNEL && SYS_SUPPORTS_32BIT_KERNEL
1340	select TRAD_SIGNALS
1341	help
1342	  Select this option if you want to build a 32-bit kernel.
1343config 64BIT
1344	bool "64-bit kernel"
1345	depends on CPU_SUPPORTS_64BIT_KERNEL && SYS_SUPPORTS_64BIT_KERNEL
1346	help
1347	  Select this option if you want to build a 64-bit kernel.
1348
1349endchoice
1350
1351choice
1352	prompt "Kernel page size"
1353	default PAGE_SIZE_4KB
1354
1355config PAGE_SIZE_4KB
1356	bool "4kB"
1357	help
1358	 This option select the standard 4kB Linux page size.  On some
1359	 R3000-family processors this is the only available page size.  Using
1360	 4kB page size will minimize memory consumption and is therefore
1361	 recommended for low memory systems.
1362
1363config PAGE_SIZE_8KB
1364	bool "8kB"
1365	depends on EXPERIMENTAL && CPU_R8000
1366	help
1367	  Using 8kB page size will result in higher performance kernel at
1368	  the price of higher memory consumption.  This option is available
1369	  only on the R8000 processor.  Not that at the time of this writing
1370	  this option is still high experimental; there are also issues with
1371	  compatibility of user applications.
1372
1373config PAGE_SIZE_16KB
1374	bool "16kB"
1375	depends on EXPERIMENTAL && !CPU_R3000 && !CPU_TX39XX
1376	help
1377	  Using 16kB page size will result in higher performance kernel at
1378	  the price of higher memory consumption.  This option is available on
1379	  all non-R3000 family processor.  Not that at the time of this
1380	  writing this option is still high experimental; there are also
1381	  issues with compatibility of user applications.
1382
1383config PAGE_SIZE_64KB
1384	bool "64kB"
1385	depends on EXPERIMENTAL && !CPU_R3000 && !CPU_TX39XX
1386	help
1387	  Using 64kB page size will result in higher performance kernel at
1388	  the price of higher memory consumption.  This option is available on
1389	  all non-R3000 family processor.  Not that at the time of this
1390	  writing this option is still high experimental; there are also
1391	  issues with compatibility of user applications.
1392
1393endchoice
1394
1395config BOARD_SCACHE
1396	bool
1397
1398config IP22_CPU_SCACHE
1399	bool
1400	select BOARD_SCACHE
1401
1402config R5000_CPU_SCACHE
1403	bool
1404	select BOARD_SCACHE
1405
1406config RM7000_CPU_SCACHE
1407	bool
1408	select BOARD_SCACHE
1409
1410config SIBYTE_DMA_PAGEOPS
1411	bool "Use DMA to clear/copy pages"
1412	depends on CPU_SB1
1413	help
1414	  Instead of using the CPU to zero and copy pages, use a Data Mover
1415	  channel.  These DMA channels are otherwise unused by the standard
1416	  SiByte Linux port.  Seems to give a small performance benefit.
1417
1418config CPU_HAS_PREFETCH
1419	bool
1420
1421config MIPS_MT
1422	bool "Enable MIPS MT"
1423
1424choice
1425	prompt "MIPS MT options"
1426	depends on MIPS_MT
1427
1428config MIPS_MT_SMP
1429	bool "Use 1 TC on each available VPE for SMP"
1430	select SMP
1431
1432config MIPS_VPE_LOADER
1433	bool "VPE loader support."
1434	depends on MIPS_MT
1435	help
1436	  Includes a loader for loading an elf relocatable object
1437	  onto another VPE and running it.
1438
1439endchoice
1440
1441config MIPS_VPE_LOADER_TOM
1442	bool "Load VPE program into memory hidden from linux"
1443	depends on MIPS_VPE_LOADER
1444	default y
1445	help
1446	  The loader can use memory that is present but has been hidden from
1447	  Linux using the kernel command line option "mem=xxMB". It's up to
1448	  you to ensure the amount you put in the option and the space your
1449	  program requires is less or equal to the amount physically present.
1450
1451# this should possibly be in drivers/char, but it is rather cpu related. Hmmm
1452config MIPS_VPE_APSP_API
1453	bool "Enable support for AP/SP API (RTLX)"
1454	depends on MIPS_VPE_LOADER
1455	help
1456
1457config SB1_PASS_1_WORKAROUNDS
1458	bool
1459	depends on CPU_SB1_PASS_1
1460	default y
1461
1462config SB1_PASS_2_WORKAROUNDS
1463	bool
1464	depends on CPU_SB1 && (CPU_SB1_PASS_2_2 || CPU_SB1_PASS_2)
1465	default y
1466
1467config SB1_PASS_2_1_WORKAROUNDS
1468	bool
1469	depends on CPU_SB1 && CPU_SB1_PASS_2
1470	default y
1471
1472config 64BIT_PHYS_ADDR
1473	bool "Support for 64-bit physical address space"
1474	depends on (CPU_R4X00 || CPU_R5000 || CPU_RM7000 || CPU_RM9000 || CPU_R10000 || CPU_SB1 || CPU_MIPS32_R1 || CPU_MIPS64_R1) && 32BIT
1475
1476config CPU_ADVANCED
1477	bool "Override CPU Options"
1478	depends on 32BIT
1479	help
1480	  Saying yes here allows you to select support for various features
1481	  your CPU may or may not have.  Most people should say N here.
1482
1483config CPU_HAS_LLSC
1484	bool "ll/sc Instructions available" if CPU_ADVANCED
1485	default y if !CPU_ADVANCED && !CPU_R3000 && !CPU_VR41XX && !CPU_TX39XX
1486	help
1487	  MIPS R4000 series and later provide the Load Linked (ll)
1488	  and Store Conditional (sc) instructions. More information is
1489	  available at <http://www.go-ecs.com/mips/miptek1.htm>.
1490
1491	  Say Y here if your CPU has the ll and sc instructions.  Say Y here
1492	  for better performance, N if you don't know.  You must say Y here
1493	  for multiprocessor machines.
1494
1495config CPU_HAS_LLDSCD
1496	bool "lld/scd Instructions available" if CPU_ADVANCED
1497	default y if !CPU_ADVANCED && !CPU_R3000 && !CPU_VR41XX && !CPU_TX39XX && !CPU_MIPS32_R1
1498	help
1499	  Say Y here if your CPU has the lld and scd instructions, the 64-bit
1500	  equivalents of ll and sc.  Say Y here for better performance, N if
1501	  you don't know.  You must say Y here for multiprocessor machines.
1502
1503config CPU_HAS_WB
1504	bool "Writeback Buffer available" if CPU_ADVANCED
1505	default y if !CPU_ADVANCED && CPU_R3000 && MACH_DECSTATION
1506	help
1507	  Say N here for slightly better performance.  You must say Y here for
1508	  machines which require flushing of write buffers in software.  Saying
1509	  Y is the safe option; N may result in kernel malfunction and crashes.
1510
1511menu "MIPSR2 Interrupt handling"
1512	depends on CPU_MIPSR2 && CPU_ADVANCED
1513
1514config CPU_MIPSR2_IRQ_VI
1515	bool "Vectored interrupt mode"
1516	help
1517	   Vectored interrupt mode allowing faster dispatching of interrupts.
1518	   The board support code needs to be written to take advantage of this
1519	   mode.  Compatibility code is included to allow the kernel to run on
1520	   a CPU that does not support vectored interrupts.  It's safe to
1521	   say Y here.
1522
1523config CPU_MIPSR2_IRQ_EI
1524	bool "External interrupt controller mode"
1525	help
1526	   Extended interrupt mode takes advantage of an external interrupt
1527	   controller to allow fast dispatching from many possible interrupt
1528	   sources. Say N unless you know that external interrupt support is
1529	   required.
1530
1531config CPU_MIPSR2_SRS
1532	bool "Make shadow set registers available for interrupt handlers"
1533	depends on CPU_MIPSR2_IRQ_VI || CPU_MIPSR2_IRQ_EI
1534	help
1535	   Allow the kernel to use shadow register sets for fast interrupts.
1536	   Interrupt handlers must be specially written to use shadow sets.
1537	   Say N unless you know that shadow register set upport is needed.
1538endmenu
1539
1540config CPU_HAS_SYNC
1541	bool
1542	depends on !CPU_R3000
1543	default y
1544
1545#
1546# Use the generic interrupt handling code in kernel/irq/:
1547#
1548config GENERIC_HARDIRQS
1549	bool
1550	default y
1551
1552config GENERIC_IRQ_PROBE
1553	bool
1554	default y
1555
1556#
1557# - Highmem only makes sense for the 32-bit kernel.
1558# - The current highmem code will only work properly on physically indexed
1559#   caches such as R3000, SB1, R7000 or those that look like they're virtually
1560#   indexed such as R4000/R4400 SC and MC versions or R10000.  So for the
1561#   moment we protect the user and offer the highmem option only on machines
1562#   where it's known to be safe.  This will not offer highmem on a few systems
1563#   such as MIPS32 and MIPS64 CPUs which may have virtual and physically
1564#   indexed CPUs but we're playing safe.
1565# - We use SYS_SUPPORTS_HIGHMEM to offer highmem only for systems where we
1566#   know they might have memory configurations that could make use of highmem
1567#   support.
1568#
1569config HIGHMEM
1570	bool "High Memory Support"
1571	depends on 32BIT && CPU_SUPPORTS_HIGHMEM && SYS_SUPPORTS_HIGHMEM
1572
1573config CPU_SUPPORTS_HIGHMEM
1574	bool
1575
1576config SYS_SUPPORTS_HIGHMEM
1577	bool
1578
1579config ARCH_FLATMEM_ENABLE
1580	def_bool y
1581	depends on !NUMA
1582
1583source "mm/Kconfig"
1584
1585config SMP
1586	bool "Multi-Processing support"
1587	depends on CPU_RM9000 || ((SIBYTE_BCM1x80 || SIBYTE_BCM1x55 || SIBYTE_SB1250) && !SIBYTE_STANDALONE) || SGI_IP27 || MIPS_MT_SMP
1588	---help---
1589	  This enables support for systems with more than one CPU. If you have
1590	  a system with only one CPU, like most personal computers, say N. If
1591	  you have a system with more than one CPU, say Y.
1592
1593	  If you say N here, the kernel will run on single and multiprocessor
1594	  machines, but will use only one CPU of a multiprocessor machine. If
1595	  you say Y here, the kernel will run on many, but not all,
1596	  singleprocessor machines. On a singleprocessor machine, the kernel
1597	  will run faster if you say N here.
1598
1599	  People using multiprocessor machines who say Y here should also say
1600	  Y to "Enhanced Real Time Clock Support", below.
1601
1602	  See also the <file:Documentation/smp.txt> and the SMP-HOWTO
1603	  available at <http://www.tldp.org/docs.html#howto>.
1604
1605	  If you don't know what to do here, say N.
1606
1607config NR_CPUS
1608	int "Maximum number of CPUs (2-64)"
1609	range 2 64
1610	depends on SMP
1611	default "64" if SGI_IP27
1612	default "2"
1613	help
1614	  This allows you to specify the maximum number of CPUs which this
1615	  kernel will support.  The maximum supported value is 32 for 32-bit
1616	  kernel and 64 for 64-bit kernels; the minimum value which makes
1617	  sense is 2.
1618
1619	  This is purely to save memory - each supported CPU adds
1620	  approximately eight kilobytes to the kernel image.
1621
1622source "kernel/Kconfig.preempt"
1623
1624config RTC_DS1742
1625	bool "DS1742 BRAM/RTC support"
1626	depends on TOSHIBA_JMR3927 || TOSHIBA_RBTX4927
1627
1628config MIPS_INSANE_LARGE
1629	bool "Support for large 64-bit configurations"
1630	depends on CPU_R10000 && 64BIT
1631	help
1632	  MIPS R10000 does support a 44 bit / 16TB address space as opposed to
1633	  previous 64-bit processors which only supported 40 bit / 1TB. If you
1634	  need processes of more than 1TB virtual address space, say Y here.
1635	  This will result in additional memory usage, so it is not
1636	  recommended for normal users.
1637
1638endmenu
1639
1640config RWSEM_GENERIC_SPINLOCK
1641	bool
1642	default y
1643
1644source "init/Kconfig"
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