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