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