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