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