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