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