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