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