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