xref: /openbmc/linux/arch/mips/Kconfig (revision a09d2831)
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
1315config SYS_SUPPORTS_ZBOOT_UART16550
1316	bool
1317	select SYS_SUPPORTS_ZBOOT
1318
1319config CPU_LOONGSON2
1320	bool
1321	select CPU_SUPPORTS_32BIT_KERNEL
1322	select CPU_SUPPORTS_64BIT_KERNEL
1323	select CPU_SUPPORTS_HIGHMEM
1324
1325config SYS_HAS_CPU_LOONGSON2E
1326	bool
1327
1328config SYS_HAS_CPU_LOONGSON2F
1329	bool
1330	select CPU_SUPPORTS_CPUFREQ
1331	select CPU_SUPPORTS_ADDRWINCFG if 64BIT
1332	select CPU_SUPPORTS_UNCACHED_ACCELERATED
1333
1334config SYS_HAS_CPU_MIPS32_R1
1335	bool
1336
1337config SYS_HAS_CPU_MIPS32_R2
1338	bool
1339
1340config SYS_HAS_CPU_MIPS64_R1
1341	bool
1342
1343config SYS_HAS_CPU_MIPS64_R2
1344	bool
1345
1346config SYS_HAS_CPU_R3000
1347	bool
1348
1349config SYS_HAS_CPU_TX39XX
1350	bool
1351
1352config SYS_HAS_CPU_VR41XX
1353	bool
1354
1355config SYS_HAS_CPU_R4300
1356	bool
1357
1358config SYS_HAS_CPU_R4X00
1359	bool
1360
1361config SYS_HAS_CPU_TX49XX
1362	bool
1363
1364config SYS_HAS_CPU_R5000
1365	bool
1366
1367config SYS_HAS_CPU_R5432
1368	bool
1369
1370config SYS_HAS_CPU_R5500
1371	bool
1372
1373config SYS_HAS_CPU_R6000
1374	bool
1375
1376config SYS_HAS_CPU_NEVADA
1377	bool
1378
1379config SYS_HAS_CPU_R8000
1380	bool
1381
1382config SYS_HAS_CPU_R10000
1383	bool
1384
1385config SYS_HAS_CPU_RM7000
1386	bool
1387
1388config SYS_HAS_CPU_RM9000
1389	bool
1390
1391config SYS_HAS_CPU_SB1
1392	bool
1393
1394config SYS_HAS_CPU_CAVIUM_OCTEON
1395	bool
1396
1397#
1398# CPU may reorder R->R, R->W, W->R, W->W
1399# Reordering beyond LL and SC is handled in WEAK_REORDERING_BEYOND_LLSC
1400#
1401config WEAK_ORDERING
1402	bool
1403
1404#
1405# CPU may reorder reads and writes beyond LL/SC
1406# CPU may reorder R->LL, R->LL, W->LL, W->LL, R->SC, R->SC, W->SC, W->SC
1407#
1408config WEAK_REORDERING_BEYOND_LLSC
1409	bool
1410endmenu
1411
1412#
1413# These two indicate any level of the MIPS32 and MIPS64 architecture
1414#
1415config CPU_MIPS32
1416	bool
1417	default y if CPU_MIPS32_R1 || CPU_MIPS32_R2
1418
1419config CPU_MIPS64
1420	bool
1421	default y if CPU_MIPS64_R1 || CPU_MIPS64_R2
1422
1423#
1424# These two indicate the revision of the architecture, either Release 1 or Release 2
1425#
1426config CPU_MIPSR1
1427	bool
1428	default y if CPU_MIPS32_R1 || CPU_MIPS64_R1
1429
1430config CPU_MIPSR2
1431	bool
1432	default y if CPU_MIPS32_R2 || CPU_MIPS64_R2 || CPU_CAVIUM_OCTEON
1433
1434config SYS_SUPPORTS_32BIT_KERNEL
1435	bool
1436config SYS_SUPPORTS_64BIT_KERNEL
1437	bool
1438config CPU_SUPPORTS_32BIT_KERNEL
1439	bool
1440config CPU_SUPPORTS_64BIT_KERNEL
1441	bool
1442config CPU_SUPPORTS_CPUFREQ
1443	bool
1444config CPU_SUPPORTS_ADDRWINCFG
1445	bool
1446config CPU_SUPPORTS_HUGEPAGES
1447	bool
1448config CPU_SUPPORTS_UNCACHED_ACCELERATED
1449	bool
1450config MIPS_PGD_C0_CONTEXT
1451	bool
1452	default y if 64BIT && CPU_MIPSR2
1453
1454#
1455# Set to y for ptrace access to watch registers.
1456#
1457config HARDWARE_WATCHPOINTS
1458       bool
1459       default y if CPU_MIPSR1 || CPU_MIPSR2
1460
1461menu "Kernel type"
1462
1463choice
1464
1465	prompt "Kernel code model"
1466	help
1467	  You should only select this option if you have a workload that
1468	  actually benefits from 64-bit processing or if your machine has
1469	  large memory.  You will only be presented a single option in this
1470	  menu if your system does not support both 32-bit and 64-bit kernels.
1471
1472config 32BIT
1473	bool "32-bit kernel"
1474	depends on CPU_SUPPORTS_32BIT_KERNEL && SYS_SUPPORTS_32BIT_KERNEL
1475	select TRAD_SIGNALS
1476	help
1477	  Select this option if you want to build a 32-bit kernel.
1478config 64BIT
1479	bool "64-bit kernel"
1480	depends on CPU_SUPPORTS_64BIT_KERNEL && SYS_SUPPORTS_64BIT_KERNEL
1481	select HAVE_SYSCALL_WRAPPERS
1482	help
1483	  Select this option if you want to build a 64-bit kernel.
1484
1485endchoice
1486
1487choice
1488	prompt "Kernel page size"
1489	default PAGE_SIZE_4KB
1490
1491config PAGE_SIZE_4KB
1492	bool "4kB"
1493	depends on !CPU_LOONGSON2
1494	help
1495	 This option select the standard 4kB Linux page size.  On some
1496	 R3000-family processors this is the only available page size.  Using
1497	 4kB page size will minimize memory consumption and is therefore
1498	 recommended for low memory systems.
1499
1500config PAGE_SIZE_8KB
1501	bool "8kB"
1502	depends on (EXPERIMENTAL && CPU_R8000) || CPU_CAVIUM_OCTEON
1503	help
1504	  Using 8kB page size will result in higher performance kernel at
1505	  the price of higher memory consumption.  This option is available
1506	  only on R8000 and cnMIPS processors.  Note that you will need a
1507	  suitable Linux distribution to support this.
1508
1509config PAGE_SIZE_16KB
1510	bool "16kB"
1511	depends on !CPU_R3000 && !CPU_TX39XX
1512	help
1513	  Using 16kB page size will result in higher performance kernel at
1514	  the price of higher memory consumption.  This option is available on
1515	  all non-R3000 family processors.  Note that you will need a suitable
1516	  Linux distribution to support this.
1517
1518config PAGE_SIZE_32KB
1519	bool "32kB"
1520	depends on CPU_CAVIUM_OCTEON
1521	help
1522	  Using 32kB page size will result in higher performance kernel at
1523	  the price of higher memory consumption.  This option is available
1524	  only on cnMIPS cores.  Note that you will need a suitable Linux
1525	  distribution to support this.
1526
1527config PAGE_SIZE_64KB
1528	bool "64kB"
1529	depends on EXPERIMENTAL && !CPU_R3000 && !CPU_TX39XX
1530	help
1531	  Using 64kB page size will result in higher performance kernel at
1532	  the price of higher memory consumption.  This option is available on
1533	  all non-R3000 family processor.  Not that at the time of this
1534	  writing this option is still high experimental.
1535
1536endchoice
1537
1538config BOARD_SCACHE
1539	bool
1540
1541config IP22_CPU_SCACHE
1542	bool
1543	select BOARD_SCACHE
1544
1545#
1546# Support for a MIPS32 / MIPS64 style S-caches
1547#
1548config MIPS_CPU_SCACHE
1549	bool
1550	select BOARD_SCACHE
1551
1552config R5000_CPU_SCACHE
1553	bool
1554	select BOARD_SCACHE
1555
1556config RM7000_CPU_SCACHE
1557	bool
1558	select BOARD_SCACHE
1559
1560config SIBYTE_DMA_PAGEOPS
1561	bool "Use DMA to clear/copy pages"
1562	depends on CPU_SB1
1563	help
1564	  Instead of using the CPU to zero and copy pages, use a Data Mover
1565	  channel.  These DMA channels are otherwise unused by the standard
1566	  SiByte Linux port.  Seems to give a small performance benefit.
1567
1568config CPU_HAS_PREFETCH
1569	bool
1570
1571choice
1572	prompt "MIPS MT options"
1573
1574config MIPS_MT_DISABLED
1575	bool "Disable multithreading support."
1576	help
1577	  Use this option if your workload can't take advantage of
1578	  MIPS hardware multithreading support.  On systems that don't have
1579	  the option of an MT-enabled processor this option will be the only
1580	  option in this menu.
1581
1582config MIPS_MT_SMP
1583	bool "Use 1 TC on each available VPE for SMP"
1584	depends on SYS_SUPPORTS_MULTITHREADING
1585	select CPU_MIPSR2_IRQ_VI
1586	select CPU_MIPSR2_IRQ_EI
1587	select MIPS_MT
1588	select NR_CPUS_DEFAULT_2
1589	select SMP
1590	select SYS_SUPPORTS_SCHED_SMT if SMP
1591	select SYS_SUPPORTS_SMP
1592	select SMP_UP
1593	help
1594	  This is a kernel model which is also known a VSMP or lately
1595	  has been marketesed into SMVP.
1596
1597config MIPS_MT_SMTC
1598	bool "SMTC: Use all TCs on all VPEs for SMP"
1599	depends on CPU_MIPS32_R2
1600	#depends on CPU_MIPS64_R2		# once there is hardware ...
1601	depends on SYS_SUPPORTS_MULTITHREADING
1602	select CPU_MIPSR2_IRQ_VI
1603	select CPU_MIPSR2_IRQ_EI
1604	select MIPS_MT
1605	select NR_CPUS_DEFAULT_8
1606	select SMP
1607	select SYS_SUPPORTS_SMP
1608	select SMP_UP
1609	help
1610	  This is a kernel model which is known a SMTC or lately has been
1611	  marketesed into SMVP.
1612
1613endchoice
1614
1615config MIPS_MT
1616	bool
1617
1618config SCHED_SMT
1619	bool "SMT (multithreading) scheduler support"
1620	depends on SYS_SUPPORTS_SCHED_SMT
1621	default n
1622	help
1623	  SMT scheduler support improves the CPU scheduler's decision making
1624	  when dealing with MIPS MT enabled cores at a cost of slightly
1625	  increased overhead in some places. If unsure say N here.
1626
1627config SYS_SUPPORTS_SCHED_SMT
1628	bool
1629
1630
1631config SYS_SUPPORTS_MULTITHREADING
1632	bool
1633
1634config MIPS_MT_FPAFF
1635	bool "Dynamic FPU affinity for FP-intensive threads"
1636	default y
1637	depends on MIPS_MT_SMP || MIPS_MT_SMTC
1638
1639config MIPS_VPE_LOADER
1640	bool "VPE loader support."
1641	depends on SYS_SUPPORTS_MULTITHREADING
1642	select CPU_MIPSR2_IRQ_VI
1643	select CPU_MIPSR2_IRQ_EI
1644	select MIPS_MT
1645	help
1646	  Includes a loader for loading an elf relocatable object
1647	  onto another VPE and running it.
1648
1649config MIPS_MT_SMTC_IM_BACKSTOP
1650	bool "Use per-TC register bits as backstop for inhibited IM bits"
1651	depends on MIPS_MT_SMTC
1652	default n
1653	help
1654	  To support multiple TC microthreads acting as "CPUs" within
1655	  a VPE, VPE-wide interrupt mask bits must be specially manipulated
1656	  during interrupt handling. To support legacy drivers and interrupt
1657	  controller management code, SMTC has a "backstop" to track and
1658	  if necessary restore the interrupt mask. This has some performance
1659	  impact on interrupt service overhead.
1660
1661config MIPS_MT_SMTC_IRQAFF
1662	bool "Support IRQ affinity API"
1663	depends on MIPS_MT_SMTC
1664	default n
1665	help
1666	  Enables SMP IRQ affinity API (/proc/irq/*/smp_affinity, etc.)
1667	  for SMTC Linux kernel. Requires platform support, of which
1668	  an example can be found in the MIPS kernel i8259 and Malta
1669	  platform code.  Adds some overhead to interrupt dispatch, and
1670	  should be used only if you know what you are doing.
1671
1672config MIPS_VPE_LOADER_TOM
1673	bool "Load VPE program into memory hidden from linux"
1674	depends on MIPS_VPE_LOADER
1675	default y
1676	help
1677	  The loader can use memory that is present but has been hidden from
1678	  Linux using the kernel command line option "mem=xxMB". It's up to
1679	  you to ensure the amount you put in the option and the space your
1680	  program requires is less or equal to the amount physically present.
1681
1682# this should possibly be in drivers/char, but it is rather cpu related. Hmmm
1683config MIPS_VPE_APSP_API
1684	bool "Enable support for AP/SP API (RTLX)"
1685	depends on MIPS_VPE_LOADER
1686	help
1687
1688config MIPS_APSP_KSPD
1689	bool "Enable KSPD"
1690	depends on MIPS_VPE_APSP_API
1691	default y
1692	help
1693	  KSPD is a kernel daemon that accepts syscall requests from the SP
1694	  side, actions them and returns the results. It also handles the
1695	  "exit" syscall notifying other kernel modules the SP program is
1696	  exiting.  You probably want to say yes here.
1697
1698config MIPS_CMP
1699	bool "MIPS CMP framework support"
1700	depends on SYS_SUPPORTS_MIPS_CMP
1701	select SYNC_R4K
1702	select SYS_SUPPORTS_SMP
1703	select SYS_SUPPORTS_SCHED_SMT if SMP
1704	select WEAK_ORDERING
1705	default n
1706	help
1707	  This is a placeholder option for the GCMP work. It will need to
1708	  be handled differently...
1709
1710config SB1_PASS_1_WORKAROUNDS
1711	bool
1712	depends on CPU_SB1_PASS_1
1713	default y
1714
1715config SB1_PASS_2_WORKAROUNDS
1716	bool
1717	depends on CPU_SB1 && (CPU_SB1_PASS_2_2 || CPU_SB1_PASS_2)
1718	default y
1719
1720config SB1_PASS_2_1_WORKAROUNDS
1721	bool
1722	depends on CPU_SB1 && CPU_SB1_PASS_2
1723	default y
1724
1725config 64BIT_PHYS_ADDR
1726	bool
1727
1728config CPU_HAS_SMARTMIPS
1729	depends on SYS_SUPPORTS_SMARTMIPS
1730	bool "Support for the SmartMIPS ASE"
1731	help
1732	  SmartMIPS is a extension of the MIPS32 architecture aimed at
1733	  increased security at both hardware and software level for
1734	  smartcards.  Enabling this option will allow proper use of the
1735	  SmartMIPS instructions by Linux applications.  However a kernel with
1736	  this option will not work on a MIPS core without SmartMIPS core.  If
1737	  you don't know you probably don't have SmartMIPS and should say N
1738	  here.
1739
1740config CPU_HAS_WB
1741	bool
1742
1743#
1744# Vectored interrupt mode is an R2 feature
1745#
1746config CPU_MIPSR2_IRQ_VI
1747	bool
1748
1749#
1750# Extended interrupt mode is an R2 feature
1751#
1752config CPU_MIPSR2_IRQ_EI
1753	bool
1754
1755config CPU_HAS_SYNC
1756	bool
1757	depends on !CPU_R3000
1758	default y
1759
1760config GENERIC_CLOCKEVENTS_BROADCAST
1761	bool
1762
1763#
1764# CPU non-features
1765#
1766config CPU_DADDI_WORKAROUNDS
1767	bool
1768
1769config CPU_R4000_WORKAROUNDS
1770	bool
1771	select CPU_R4400_WORKAROUNDS
1772
1773config CPU_R4400_WORKAROUNDS
1774	bool
1775
1776#
1777# Use the generic interrupt handling code in kernel/irq/:
1778#
1779config GENERIC_HARDIRQS
1780	bool
1781	default y
1782
1783config GENERIC_IRQ_PROBE
1784	bool
1785	default y
1786
1787config IRQ_PER_CPU
1788	bool
1789
1790#
1791# - Highmem only makes sense for the 32-bit kernel.
1792# - The current highmem code will only work properly on physically indexed
1793#   caches such as R3000, SB1, R7000 or those that look like they're virtually
1794#   indexed such as R4000/R4400 SC and MC versions or R10000.  So for the
1795#   moment we protect the user and offer the highmem option only on machines
1796#   where it's known to be safe.  This will not offer highmem on a few systems
1797#   such as MIPS32 and MIPS64 CPUs which may have virtual and physically
1798#   indexed CPUs but we're playing safe.
1799# - We use SYS_SUPPORTS_HIGHMEM to offer highmem only for systems where we
1800#   know they might have memory configurations that could make use of highmem
1801#   support.
1802#
1803config HIGHMEM
1804	bool "High Memory Support"
1805	depends on 32BIT && CPU_SUPPORTS_HIGHMEM && SYS_SUPPORTS_HIGHMEM
1806
1807config CPU_SUPPORTS_HIGHMEM
1808	bool
1809
1810config SYS_SUPPORTS_HIGHMEM
1811	bool
1812
1813config SYS_SUPPORTS_SMARTMIPS
1814	bool
1815
1816config ARCH_FLATMEM_ENABLE
1817	def_bool y
1818	depends on !NUMA && !CPU_LOONGSON2
1819
1820config ARCH_DISCONTIGMEM_ENABLE
1821	bool
1822	default y if SGI_IP27
1823	help
1824	  Say Y to support efficient handling of discontiguous physical memory,
1825	  for architectures which are either NUMA (Non-Uniform Memory Access)
1826	  or have huge holes in the physical address space for other reasons.
1827	  See <file:Documentation/vm/numa> for more.
1828
1829config ARCH_POPULATES_NODE_MAP
1830	def_bool y
1831
1832config ARCH_SPARSEMEM_ENABLE
1833	bool
1834	select SPARSEMEM_STATIC
1835
1836config NUMA
1837	bool "NUMA Support"
1838	depends on SYS_SUPPORTS_NUMA
1839	help
1840	  Say Y to compile the kernel to support NUMA (Non-Uniform Memory
1841	  Access).  This option improves performance on systems with more
1842	  than two nodes; on two node systems it is generally better to
1843	  leave it disabled; on single node systems disable this option
1844	  disabled.
1845
1846config SYS_SUPPORTS_NUMA
1847	bool
1848
1849config NODES_SHIFT
1850	int
1851	default "6"
1852	depends on NEED_MULTIPLE_NODES
1853
1854source "mm/Kconfig"
1855
1856config SMP
1857	bool "Multi-Processing support"
1858	depends on SYS_SUPPORTS_SMP
1859	select IRQ_PER_CPU
1860	select USE_GENERIC_SMP_HELPERS
1861	help
1862	  This enables support for systems with more than one CPU. If you have
1863	  a system with only one CPU, like most personal computers, say N. If
1864	  you have a system with more than one CPU, say Y.
1865
1866	  If you say N here, the kernel will run on single and multiprocessor
1867	  machines, but will use only one CPU of a multiprocessor machine. If
1868	  you say Y here, the kernel will run on many, but not all,
1869	  singleprocessor machines. On a singleprocessor machine, the kernel
1870	  will run faster if you say N here.
1871
1872	  People using multiprocessor machines who say Y here should also say
1873	  Y to "Enhanced Real Time Clock Support", below.
1874
1875	  See also the SMP-HOWTO available at
1876	  <http://www.tldp.org/docs.html#howto>.
1877
1878	  If you don't know what to do here, say N.
1879
1880config SMP_UP
1881	bool
1882
1883config SYS_SUPPORTS_MIPS_CMP
1884	bool
1885
1886config SYS_SUPPORTS_SMP
1887	bool
1888
1889config NR_CPUS_DEFAULT_1
1890	bool
1891
1892config NR_CPUS_DEFAULT_2
1893	bool
1894
1895config NR_CPUS_DEFAULT_4
1896	bool
1897
1898config NR_CPUS_DEFAULT_8
1899	bool
1900
1901config NR_CPUS_DEFAULT_16
1902	bool
1903
1904config NR_CPUS_DEFAULT_32
1905	bool
1906
1907config NR_CPUS_DEFAULT_64
1908	bool
1909
1910config NR_CPUS
1911	int "Maximum number of CPUs (2-64)"
1912	range 1 64 if NR_CPUS_DEFAULT_1
1913	depends on SMP
1914	default "1" if NR_CPUS_DEFAULT_1
1915	default "2" if NR_CPUS_DEFAULT_2
1916	default "4" if NR_CPUS_DEFAULT_4
1917	default "8" if NR_CPUS_DEFAULT_8
1918	default "16" if NR_CPUS_DEFAULT_16
1919	default "32" if NR_CPUS_DEFAULT_32
1920	default "64" if NR_CPUS_DEFAULT_64
1921	help
1922	  This allows you to specify the maximum number of CPUs which this
1923	  kernel will support.  The maximum supported value is 32 for 32-bit
1924	  kernel and 64 for 64-bit kernels; the minimum value which makes
1925	  sense is 1 for Qemu (useful only for kernel debugging purposes)
1926	  and 2 for all others.
1927
1928	  This is purely to save memory - each supported CPU adds
1929	  approximately eight kilobytes to the kernel image.  For best
1930	  performance should round up your number of processors to the next
1931	  power of two.
1932
1933source "kernel/time/Kconfig"
1934
1935#
1936# Timer Interrupt Frequency Configuration
1937#
1938
1939choice
1940	prompt "Timer frequency"
1941	default HZ_250
1942	help
1943	 Allows the configuration of the timer frequency.
1944
1945	config HZ_48
1946		bool "48 HZ" if SYS_SUPPORTS_48HZ || SYS_SUPPORTS_ARBIT_HZ
1947
1948	config HZ_100
1949		bool "100 HZ" if SYS_SUPPORTS_100HZ || SYS_SUPPORTS_ARBIT_HZ
1950
1951	config HZ_128
1952		bool "128 HZ" if SYS_SUPPORTS_128HZ || SYS_SUPPORTS_ARBIT_HZ
1953
1954	config HZ_250
1955		bool "250 HZ" if SYS_SUPPORTS_250HZ || SYS_SUPPORTS_ARBIT_HZ
1956
1957	config HZ_256
1958		bool "256 HZ" if SYS_SUPPORTS_256HZ || SYS_SUPPORTS_ARBIT_HZ
1959
1960	config HZ_1000
1961		bool "1000 HZ" if SYS_SUPPORTS_1000HZ || SYS_SUPPORTS_ARBIT_HZ
1962
1963	config HZ_1024
1964		bool "1024 HZ" if SYS_SUPPORTS_1024HZ || SYS_SUPPORTS_ARBIT_HZ
1965
1966endchoice
1967
1968config SYS_SUPPORTS_48HZ
1969	bool
1970
1971config SYS_SUPPORTS_100HZ
1972	bool
1973
1974config SYS_SUPPORTS_128HZ
1975	bool
1976
1977config SYS_SUPPORTS_250HZ
1978	bool
1979
1980config SYS_SUPPORTS_256HZ
1981	bool
1982
1983config SYS_SUPPORTS_1000HZ
1984	bool
1985
1986config SYS_SUPPORTS_1024HZ
1987	bool
1988
1989config SYS_SUPPORTS_ARBIT_HZ
1990	bool
1991	default y if !SYS_SUPPORTS_48HZ && !SYS_SUPPORTS_100HZ && \
1992		     !SYS_SUPPORTS_128HZ && !SYS_SUPPORTS_250HZ && \
1993		     !SYS_SUPPORTS_256HZ && !SYS_SUPPORTS_1000HZ && \
1994		     !SYS_SUPPORTS_1024HZ
1995
1996config HZ
1997	int
1998	default 48 if HZ_48
1999	default 100 if HZ_100
2000	default 128 if HZ_128
2001	default 250 if HZ_250
2002	default 256 if HZ_256
2003	default 1000 if HZ_1000
2004	default 1024 if HZ_1024
2005
2006source "kernel/Kconfig.preempt"
2007
2008config MIPS_INSANE_LARGE
2009	bool "Support for large 64-bit configurations"
2010	depends on CPU_R10000 && 64BIT
2011	help
2012	  MIPS R10000 does support a 44 bit / 16TB address space as opposed to
2013	  previous 64-bit processors which only supported 40 bit / 1TB. If you
2014	  need processes of more than 1TB virtual address space, say Y here.
2015	  This will result in additional memory usage, so it is not
2016	  recommended for normal users.
2017
2018config KEXEC
2019	bool "Kexec system call (EXPERIMENTAL)"
2020	depends on EXPERIMENTAL
2021	help
2022	  kexec is a system call that implements the ability to shutdown your
2023	  current kernel, and to start another kernel.  It is like a reboot
2024	  but it is independent of the system firmware.   And like a reboot
2025	  you can start any kernel with it, not just Linux.
2026
2027	  The name comes from the similarity to the exec system call.
2028
2029	  It is an ongoing process to be certain the hardware in a machine
2030	  is properly shutdown, so do not be surprised if this code does not
2031	  initially work for you.  It may help to enable device hotplugging
2032	  support.  As of this writing the exact hardware interface is
2033	  strongly in flux, so no good recommendation can be made.
2034
2035config SECCOMP
2036	bool "Enable seccomp to safely compute untrusted bytecode"
2037	depends on PROC_FS
2038	default y
2039	help
2040	  This kernel feature is useful for number crunching applications
2041	  that may need to compute untrusted bytecode during their
2042	  execution. By using pipes or other transports made available to
2043	  the process as file descriptors supporting the read/write
2044	  syscalls, it's possible to isolate those applications in
2045	  their own address space using seccomp. Once seccomp is
2046	  enabled via /proc/<pid>/seccomp, it cannot be disabled
2047	  and the task is only allowed to execute a few safe syscalls
2048	  defined by each seccomp mode.
2049
2050	  If unsure, say Y. Only embedded should say N here.
2051
2052endmenu
2053
2054config LOCKDEP_SUPPORT
2055	bool
2056	default y
2057
2058config STACKTRACE_SUPPORT
2059	bool
2060	default y
2061
2062source "init/Kconfig"
2063
2064source "kernel/Kconfig.freezer"
2065
2066menu "Bus options (PCI, PCMCIA, EISA, ISA, TC)"
2067
2068config HW_HAS_EISA
2069	bool
2070config HW_HAS_PCI
2071	bool
2072
2073config PCI
2074	bool "Support for PCI controller"
2075	depends on HW_HAS_PCI
2076	select PCI_DOMAINS
2077	help
2078	  Find out whether you have a PCI motherboard. PCI is the name of a
2079	  bus system, i.e. the way the CPU talks to the other stuff inside
2080	  your box. Other bus systems are ISA, EISA, or VESA. If you have PCI,
2081	  say Y, otherwise N.
2082
2083config PCI_DOMAINS
2084	bool
2085
2086source "drivers/pci/Kconfig"
2087
2088#
2089# ISA support is now enabled via select.  Too many systems still have the one
2090# or other ISA chip on the board that users don't know about so don't expect
2091# users to choose the right thing ...
2092#
2093config ISA
2094	bool
2095
2096config EISA
2097	bool "EISA support"
2098	depends on HW_HAS_EISA
2099	select ISA
2100	select GENERIC_ISA_DMA
2101	---help---
2102	  The Extended Industry Standard Architecture (EISA) bus was
2103	  developed as an open alternative to the IBM MicroChannel bus.
2104
2105	  The EISA bus provided some of the features of the IBM MicroChannel
2106	  bus while maintaining backward compatibility with cards made for
2107	  the older ISA bus.  The EISA bus saw limited use between 1988 and
2108	  1995 when it was made obsolete by the PCI bus.
2109
2110	  Say Y here if you are building a kernel for an EISA-based machine.
2111
2112	  Otherwise, say N.
2113
2114source "drivers/eisa/Kconfig"
2115
2116config TC
2117	bool "TURBOchannel support"
2118	depends on MACH_DECSTATION
2119	help
2120	  TurboChannel is a DEC (now Compaq (now HP)) bus for Alpha and MIPS
2121	  processors.  Documentation on writing device drivers for TurboChannel
2122	  is available at:
2123	  <http://www.cs.arizona.edu/computer.help/policy/DIGITAL_unix/AA-PS3HD-TET1_html/TITLE.html>.
2124
2125#config ACCESSBUS
2126#	bool "Access.Bus support"
2127#	depends on TC
2128
2129config MMU
2130	bool
2131	default y
2132
2133config I8253
2134	bool
2135	select MIPS_EXTERNAL_TIMER
2136
2137config ZONE_DMA32
2138	bool
2139
2140source "drivers/pcmcia/Kconfig"
2141
2142source "drivers/pci/hotplug/Kconfig"
2143
2144endmenu
2145
2146menu "Executable file formats"
2147
2148source "fs/Kconfig.binfmt"
2149
2150config TRAD_SIGNALS
2151	bool
2152
2153config MIPS32_COMPAT
2154	bool "Kernel support for Linux/MIPS 32-bit binary compatibility"
2155	depends on 64BIT
2156	help
2157	  Select this option if you want Linux/MIPS 32-bit binary
2158	  compatibility. Since all software available for Linux/MIPS is
2159	  currently 32-bit you should say Y here.
2160
2161config COMPAT
2162	bool
2163	depends on MIPS32_COMPAT
2164	default y
2165
2166config SYSVIPC_COMPAT
2167	bool
2168	depends on COMPAT && SYSVIPC
2169	default y
2170
2171config MIPS32_O32
2172	bool "Kernel support for o32 binaries"
2173	depends on MIPS32_COMPAT
2174	help
2175	  Select this option if you want to run o32 binaries.  These are pure
2176	  32-bit binaries as used by the 32-bit Linux/MIPS port.  Most of
2177	  existing binaries are in this format.
2178
2179	  If unsure, say Y.
2180
2181config MIPS32_N32
2182	bool "Kernel support for n32 binaries"
2183	depends on MIPS32_COMPAT
2184	help
2185	  Select this option if you want to run n32 binaries.  These are
2186	  64-bit binaries using 32-bit quantities for addressing and certain
2187	  data that would normally be 64-bit.  They are used in special
2188	  cases.
2189
2190	  If unsure, say N.
2191
2192config BINFMT_ELF32
2193	bool
2194	default y if MIPS32_O32 || MIPS32_N32
2195
2196endmenu
2197
2198menu "Power management options"
2199
2200config ARCH_HIBERNATION_POSSIBLE
2201	def_bool y
2202	depends on SYS_SUPPORTS_HOTPLUG_CPU || !SMP
2203
2204config ARCH_SUSPEND_POSSIBLE
2205	def_bool y
2206	depends on SYS_SUPPORTS_HOTPLUG_CPU || !SMP
2207
2208source "kernel/power/Kconfig"
2209
2210endmenu
2211
2212source "arch/mips/kernel/cpufreq/Kconfig"
2213
2214source "net/Kconfig"
2215
2216source "drivers/Kconfig"
2217
2218source "fs/Kconfig"
2219
2220source "arch/mips/Kconfig.debug"
2221
2222source "security/Kconfig"
2223
2224source "crypto/Kconfig"
2225
2226source "lib/Kconfig"
2227