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