xref: /linux/arch/mips/Kconfig (revision de2fe5e07d58424bc286fff3fd3c1b0bf933cd58)
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
11choice
12	prompt "System type"
13	default SGI_IP22
14
15config MIPS_MTX1
16	bool "Support for 4G Systems MTX-1 board"
17	select DMA_NONCOHERENT
18	select HW_HAS_PCI
19	select SOC_AU1500
20	select SYS_HAS_CPU_MIPS32_R1
21	select SYS_SUPPORTS_LITTLE_ENDIAN
22
23config MIPS_BOSPORUS
24	bool "AMD Alchemy Bosporus board"
25	select SOC_AU1500
26	select DMA_NONCOHERENT
27	select SYS_HAS_CPU_MIPS32_R1
28	select SYS_SUPPORTS_LITTLE_ENDIAN
29
30config MIPS_PB1000
31	bool "AMD Alchemy PB1000 board"
32	select SOC_AU1000
33	select DMA_NONCOHERENT
34	select HW_HAS_PCI
35	select SWAP_IO_SPACE
36	select SYS_HAS_CPU_MIPS32_R1
37	select SYS_SUPPORTS_LITTLE_ENDIAN
38
39config MIPS_PB1100
40	bool "AMD Alchemy PB1100 board"
41	select SOC_AU1100
42	select DMA_NONCOHERENT
43	select HW_HAS_PCI
44	select SWAP_IO_SPACE
45	select SYS_HAS_CPU_MIPS32_R1
46	select SYS_SUPPORTS_LITTLE_ENDIAN
47
48config MIPS_PB1500
49	bool "AMD Alchemy PB1500 board"
50	select SOC_AU1500
51	select DMA_NONCOHERENT
52	select HW_HAS_PCI
53	select SYS_HAS_CPU_MIPS32_R1
54	select SYS_SUPPORTS_LITTLE_ENDIAN
55
56config MIPS_PB1550
57	bool "AMD Alchemy PB1550 board"
58	select SOC_AU1550
59	select DMA_NONCOHERENT
60	select HW_HAS_PCI
61	select MIPS_DISABLE_OBSOLETE_IDE
62	select SYS_HAS_CPU_MIPS32_R1
63	select SYS_SUPPORTS_LITTLE_ENDIAN
64
65config MIPS_PB1200
66	bool "AMD Alchemy PB1200 board"
67	select SOC_AU1200
68	select DMA_NONCOHERENT
69	select MIPS_DISABLE_OBSOLETE_IDE
70	select SYS_HAS_CPU_MIPS32_R1
71	select SYS_SUPPORTS_LITTLE_ENDIAN
72
73config MIPS_DB1000
74	bool "AMD Alchemy DB1000 board"
75	select SOC_AU1000
76	select DMA_NONCOHERENT
77	select HW_HAS_PCI
78	select SYS_HAS_CPU_MIPS32_R1
79	select SYS_SUPPORTS_LITTLE_ENDIAN
80
81config MIPS_DB1100
82	bool "AMD Alchemy DB1100 board"
83	select SOC_AU1100
84	select DMA_NONCOHERENT
85	select SYS_HAS_CPU_MIPS32_R1
86	select SYS_SUPPORTS_LITTLE_ENDIAN
87
88config MIPS_DB1500
89	bool "AMD Alchemy DB1500 board"
90	select SOC_AU1500
91	select DMA_NONCOHERENT
92	select HW_HAS_PCI
93	select MIPS_DISABLE_OBSOLETE_IDE
94	select SYS_HAS_CPU_MIPS32_R1
95	select SYS_SUPPORTS_BIG_ENDIAN
96	select SYS_SUPPORTS_LITTLE_ENDIAN
97
98config MIPS_DB1550
99	bool "AMD Alchemy DB1550 board"
100	select SOC_AU1550
101	select HW_HAS_PCI
102	select DMA_NONCOHERENT
103	select MIPS_DISABLE_OBSOLETE_IDE
104	select SYS_HAS_CPU_MIPS32_R1
105	select SYS_SUPPORTS_LITTLE_ENDIAN
106
107config MIPS_DB1200
108	bool "AMD Alchemy DB1200 board"
109	select SOC_AU1200
110	select DMA_COHERENT
111	select MIPS_DISABLE_OBSOLETE_IDE
112	select SYS_HAS_CPU_MIPS32_R1
113	select SYS_SUPPORTS_LITTLE_ENDIAN
114
115config MIPS_MIRAGE
116	bool "AMD Alchemy Mirage board"
117	select DMA_NONCOHERENT
118	select SOC_AU1500
119	select SYS_HAS_CPU_MIPS32_R1
120	select SYS_SUPPORTS_LITTLE_ENDIAN
121
122config MIPS_COBALT
123	bool "Support for Cobalt Server"
124	select DMA_NONCOHERENT
125	select HW_HAS_PCI
126	select I8259
127	select IRQ_CPU
128	select MIPS_GT64111
129	select SYS_HAS_CPU_NEVADA
130	select SYS_SUPPORTS_32BIT_KERNEL
131	select SYS_SUPPORTS_64BIT_KERNEL if EXPERIMENTAL
132	select SYS_SUPPORTS_LITTLE_ENDIAN
133
134config MACH_DECSTATION
135	bool "Support for DECstations"
136	select BOOT_ELF32
137	select DMA_NONCOHERENT
138	select EARLY_PRINTK
139	select IRQ_CPU
140	select SYS_HAS_CPU_R3000
141	select SYS_HAS_CPU_R4X00
142	select SYS_SUPPORTS_32BIT_KERNEL
143	select SYS_SUPPORTS_64BIT_KERNEL if EXPERIMENTAL
144	select SYS_SUPPORTS_LITTLE_ENDIAN
145	help
146	  This enables support for DEC's MIPS based workstations.  For details
147	  see the Linux/MIPS FAQ on <http://www.linux-mips.org/> and the
148	  DECstation porting pages on <http://decstation.unix-ag.org/>.
149
150	  If you have one of the following DECstation Models you definitely
151	  want to choose R4xx0 for the CPU Type:
152
153	  	DECstation 5000/50
154	  	DECstation 5000/150
155	  	DECstation 5000/260
156	  	DECsystem 5900/260
157
158	  otherwise choose R3000.
159
160config MIPS_EV64120
161	bool "Support for Galileo EV64120 Evaluation board (EXPERIMENTAL)"
162	depends on EXPERIMENTAL
163	select DMA_NONCOHERENT
164	select HW_HAS_PCI
165	select MIPS_GT64120
166	select SYS_HAS_CPU_R5000
167	select SYS_SUPPORTS_32BIT_KERNEL
168	select SYS_SUPPORTS_64BIT_KERNEL
169	select SYS_SUPPORTS_BIG_ENDIAN
170	help
171	  This is an evaluation board based on the Galileo GT-64120
172	  single-chip system controller that contains a MIPS R5000 compatible
173	  core running at 75/100MHz.  Their website is located at
174	  <http://www.marvell.com/>.  Say Y here if you wish to build a
175	  kernel for this platform.
176
177config MIPS_EV96100
178	bool "Support for Galileo EV96100 Evaluation board (EXPERIMENTAL)"
179	depends on EXPERIMENTAL
180	select DMA_NONCOHERENT
181	select HW_HAS_PCI
182	select IRQ_CPU
183	select MIPS_GT96100
184	select RM7000_CPU_SCACHE
185	select SWAP_IO_SPACE
186	select SYS_HAS_CPU_R5000
187	select SYS_HAS_CPU_RM7000
188	select SYS_SUPPORTS_32BIT_KERNEL
189	select SYS_SUPPORTS_64BIT_KERNEL if EXPERIMENTAL
190	select SYS_SUPPORTS_BIG_ENDIAN
191	help
192	  This is an evaluation board based on the Galileo GT-96100 LAN/WAN
193	  communications controllers containing a MIPS R5000 compatible core
194	  running at 83MHz. Their website is <http://www.marvell.com/>. Say Y
195	  here if you wish to build a kernel for this platform.
196
197config MIPS_IVR
198	bool "Support for Globespan IVR board"
199	select DMA_NONCOHERENT
200	select HW_HAS_PCI
201	select ITE_BOARD_GEN
202	select SYS_HAS_CPU_NEVADA
203	select SYS_SUPPORTS_32BIT_KERNEL
204	select SYS_SUPPORTS_64BIT_KERNEL if EXPERIMENTAL
205	select SYS_SUPPORTS_LITTLE_ENDIAN
206	help
207	  This is an evaluation board built by Globespan to showcase thir
208	  iVR (Internet Video Recorder) design. It utilizes a QED RM5231
209	  R5000 MIPS core. More information can be found out their website
210	  located at <http://www.globespan.net/>. Say Y here if you wish to
211	  build a kernel for this platform.
212
213config MIPS_ITE8172
214	bool "Support for ITE 8172G board"
215	select DMA_NONCOHERENT
216	select HW_HAS_PCI
217	select ITE_BOARD_GEN
218	select SYS_HAS_CPU_R5432
219	select SYS_HAS_CPU_NEVADA
220	select SYS_SUPPORTS_32BIT_KERNEL
221	select SYS_SUPPORTS_64BIT_KERNEL if EXPERIMENTAL
222	select SYS_SUPPORTS_LITTLE_ENDIAN
223	help
224	  Ths is an evaluation board made by ITE <http://www.ite.com.tw/>
225	  with ATX form factor that utilizes a MIPS R5000 to work with its
226	  ITE8172G companion internet appliance chip. The MIPS core can be
227	  either a NEC Vr5432 or QED RM5231. Say Y here if you wish to build
228	  a kernel for this platform.
229
230config MACH_JAZZ
231	bool "Support for the Jazz family of machines"
232	select ARC
233	select ARC32
234	select ARCH_MAY_HAVE_PC_FDC
235	select GENERIC_ISA_DMA
236	select I8259
237	select ISA
238	select SYS_HAS_CPU_R4X00
239	select SYS_SUPPORTS_32BIT_KERNEL
240	select SYS_SUPPORTS_64BIT_KERNEL if EXPERIMENTAL
241	help
242	 This a family of machines based on the MIPS R4030 chipset which was
243	 used by several vendors to build RISC/os and Windows NT workstations.
244	 Members include the Acer PICA, MIPS Magnum 4000, MIPS Millenium and
245	 Olivetti M700-10 workstations.
246
247config LASAT
248	bool "Support for LASAT Networks platforms"
249	select DMA_NONCOHERENT
250	select HW_HAS_PCI
251	select MIPS_GT64120
252	select MIPS_NILE4
253	select R5000_CPU_SCACHE
254	select SYS_HAS_CPU_R5000
255	select SYS_SUPPORTS_32BIT_KERNEL
256	select SYS_SUPPORTS_64BIT_KERNEL if EXPERIMENTAL
257	select SYS_SUPPORTS_LITTLE_ENDIAN
258
259config MIPS_ATLAS
260	bool "Support for MIPS Atlas board"
261	select BOOT_ELF32
262	select DMA_NONCOHERENT
263	select IRQ_CPU
264	select HW_HAS_PCI
265	select MIPS_BOARDS_GEN
266	select MIPS_BONITO64
267	select MIPS_GT64120
268	select MIPS_MSC
269	select RM7000_CPU_SCACHE
270	select SWAP_IO_SPACE
271	select SYS_HAS_CPU_MIPS32_R1
272	select SYS_HAS_CPU_MIPS32_R2
273	select SYS_HAS_CPU_MIPS64_R1
274	select SYS_HAS_CPU_NEVADA
275	select SYS_HAS_CPU_RM7000
276	select SYS_SUPPORTS_32BIT_KERNEL
277	select SYS_SUPPORTS_64BIT_KERNEL
278	select SYS_SUPPORTS_BIG_ENDIAN
279	select SYS_SUPPORTS_LITTLE_ENDIAN
280	help
281	  This enables support for the MIPS Technologies Atlas evaluation
282	  board.
283
284config MIPS_MALTA
285	bool "Support for MIPS Malta board"
286	select ARCH_MAY_HAVE_PC_FDC
287	select BOOT_ELF32
288	select HAVE_STD_PC_SERIAL_PORT
289	select DMA_NONCOHERENT
290	select IRQ_CPU
291	select GENERIC_ISA_DMA
292	select HW_HAS_PCI
293	select I8259
294	select MIPS_BOARDS_GEN
295	select MIPS_BONITO64
296	select MIPS_GT64120
297	select MIPS_MSC
298	select SWAP_IO_SPACE
299	select SYS_HAS_CPU_MIPS32_R1
300	select SYS_HAS_CPU_MIPS32_R2
301	select SYS_HAS_CPU_MIPS64_R1
302	select SYS_HAS_CPU_NEVADA
303	select SYS_HAS_CPU_RM7000
304	select SYS_SUPPORTS_32BIT_KERNEL
305	select SYS_SUPPORTS_64BIT_KERNEL
306	select SYS_SUPPORTS_BIG_ENDIAN
307	select SYS_SUPPORTS_LITTLE_ENDIAN
308	help
309	  This enables support for the MIPS Technologies Malta evaluation
310	  board.
311
312config MIPS_SEAD
313	bool "Support for MIPS SEAD board (EXPERIMENTAL)"
314	depends on EXPERIMENTAL
315	select IRQ_CPU
316	select DMA_NONCOHERENT
317	select MIPS_BOARDS_GEN
318	select SYS_HAS_CPU_MIPS32_R1
319	select SYS_HAS_CPU_MIPS32_R2
320	select SYS_HAS_CPU_MIPS64_R1
321	select SYS_SUPPORTS_32BIT_KERNEL
322	select SYS_SUPPORTS_64BIT_KERNEL if EXPERIMENTAL
323	select SYS_SUPPORTS_BIG_ENDIAN
324	select SYS_SUPPORTS_LITTLE_ENDIAN
325	help
326	  This enables support for the MIPS Technologies SEAD evaluation
327	  board.
328
329config MIPS_SIM
330	bool 'Support for MIPS simulator (MIPSsim)'
331	select DMA_NONCOHERENT
332	select IRQ_CPU
333	select SYS_HAS_CPU_MIPS32_R1
334	select SYS_HAS_CPU_MIPS32_R2
335	select SYS_SUPPORTS_32BIT_KERNEL
336	select SYS_SUPPORTS_BIG_ENDIAN
337	select SYS_SUPPORTS_LITTLE_ENDIAN
338	help
339	  This option enables support for MIPS Technologies MIPSsim software
340	  emulator.
341
342config MOMENCO_JAGUAR_ATX
343	bool "Support for Momentum Jaguar board"
344	select BOOT_ELF32
345	select DMA_NONCOHERENT
346	select HW_HAS_PCI
347	select IRQ_CPU
348	select IRQ_CPU_RM7K
349	select IRQ_MV64340
350	select LIMITED_DMA
351	select PCI_MARVELL
352	select RM7000_CPU_SCACHE
353	select SWAP_IO_SPACE
354	select SYS_HAS_CPU_RM9000
355	select SYS_SUPPORTS_32BIT_KERNEL
356	select SYS_SUPPORTS_64BIT_KERNEL
357	select SYS_SUPPORTS_BIG_ENDIAN
358	help
359	  The Jaguar ATX is a MIPS-based Single Board Computer (SBC) made by
360	  Momentum Computer <http://www.momenco.com/>.
361
362config MOMENCO_OCELOT
363	bool "Support for Momentum Ocelot board"
364	select DMA_NONCOHERENT
365	select HW_HAS_PCI
366	select IRQ_CPU
367	select IRQ_CPU_RM7K
368	select MIPS_GT64120
369	select RM7000_CPU_SCACHE
370	select SWAP_IO_SPACE
371	select SYS_HAS_CPU_RM7000
372	select SYS_SUPPORTS_32BIT_KERNEL
373	select SYS_SUPPORTS_64BIT_KERNEL
374	select SYS_SUPPORTS_BIG_ENDIAN
375	help
376	  The Ocelot is a MIPS-based Single Board Computer (SBC) made by
377	  Momentum Computer <http://www.momenco.com/>.
378
379config MOMENCO_OCELOT_3
380	bool "Support for Momentum Ocelot-3 board"
381	select BOOT_ELF32
382	select DMA_NONCOHERENT
383	select HW_HAS_PCI
384	select IRQ_CPU
385	select IRQ_CPU_RM7K
386	select IRQ_MV64340
387	select PCI_MARVELL
388	select RM7000_CPU_SCACHE
389	select SWAP_IO_SPACE
390	select SYS_HAS_CPU_RM9000
391	select SYS_SUPPORTS_32BIT_KERNEL
392	select SYS_SUPPORTS_64BIT_KERNEL
393	select SYS_SUPPORTS_BIG_ENDIAN
394	help
395	  The Ocelot-3 is based off Discovery III System Controller and
396	  PMC-Sierra Rm79000 core.
397
398config MOMENCO_OCELOT_C
399	bool "Support for Momentum Ocelot-C board"
400	select DMA_NONCOHERENT
401	select HW_HAS_PCI
402	select IRQ_CPU
403	select IRQ_MV64340
404	select PCI_MARVELL
405	select RM7000_CPU_SCACHE
406	select SWAP_IO_SPACE
407	select SYS_HAS_CPU_RM7000
408	select SYS_SUPPORTS_32BIT_KERNEL
409	select SYS_SUPPORTS_64BIT_KERNEL
410	select SYS_SUPPORTS_BIG_ENDIAN
411	help
412	  The Ocelot is a MIPS-based Single Board Computer (SBC) made by
413	  Momentum Computer <http://www.momenco.com/>.
414
415config MOMENCO_OCELOT_G
416	bool "Support for Momentum Ocelot-G board"
417	select DMA_NONCOHERENT
418	select HW_HAS_PCI
419	select IRQ_CPU
420	select IRQ_CPU_RM7K
421	select PCI_MARVELL
422	select RM7000_CPU_SCACHE
423	select SWAP_IO_SPACE
424	select SYS_HAS_CPU_RM7000
425	select SYS_SUPPORTS_32BIT_KERNEL
426	select SYS_SUPPORTS_64BIT_KERNEL
427	select SYS_SUPPORTS_BIG_ENDIAN
428	help
429	  The Ocelot is a MIPS-based Single Board Computer (SBC) made by
430	  Momentum Computer <http://www.momenco.com/>.
431
432config MIPS_XXS1500
433	bool "Support for MyCable XXS1500 board"
434	select DMA_NONCOHERENT
435	select SOC_AU1500
436	select SYS_SUPPORTS_LITTLE_ENDIAN
437
438config PNX8550_V2PCI
439	bool "Support for Philips PNX8550 based Viper2-PCI board"
440	select PNX8550
441	select SYS_SUPPORTS_LITTLE_ENDIAN
442
443config PNX8550_JBS
444	bool "Support for Philips PNX8550 based JBS board"
445	select PNX8550
446	select SYS_SUPPORTS_LITTLE_ENDIAN
447
448config DDB5074
449	bool "Support for NEC DDB Vrc-5074 (EXPERIMENTAL)"
450	depends on EXPERIMENTAL
451	select DDB5XXX_COMMON
452	select DMA_NONCOHERENT
453	select HAVE_STD_PC_SERIAL_PORT
454	select HW_HAS_PCI
455	select IRQ_CPU
456	select I8259
457	select ISA
458	select SYS_HAS_CPU_R5000
459	select SYS_SUPPORTS_32BIT_KERNEL
460	select SYS_SUPPORTS_64BIT_KERNEL if EXPERIMENTAL
461	select SYS_SUPPORTS_LITTLE_ENDIAN
462	help
463	  This enables support for the VR5000-based NEC DDB Vrc-5074
464	  evaluation board.
465
466config DDB5476
467	bool "Support for NEC DDB Vrc-5476"
468	select DDB5XXX_COMMON
469	select DMA_NONCOHERENT
470	select HAVE_STD_PC_SERIAL_PORT
471	select HW_HAS_PCI
472	select IRQ_CPU
473	select I8259
474	select ISA
475	select SYS_HAS_CPU_R5432
476	select SYS_SUPPORTS_32BIT_KERNEL
477	select SYS_SUPPORTS_64BIT_KERNEL if EXPERIMENTAL
478	select SYS_SUPPORTS_LITTLE_ENDIAN
479	help
480	  This enables support for the R5432-based NEC DDB Vrc-5476
481	  evaluation board.
482
483	  Features : kernel debugging, serial terminal, NFS root fs, on-board
484	  ether port USB, AC97, PCI, PCI VGA card & framebuffer console,
485	  IDE controller, PS2 keyboard, PS2 mouse, etc.
486
487config DDB5477
488	bool "Support for 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_LITTLE_ENDIAN
498	help
499	  This enables support for the R5432-based NEC DDB Vrc-5477,
500	  or Rockhopper/SolutionGear boards with R5432/R5500 CPUs.
501
502	  Features : kernel debugging, serial terminal, NFS root fs, on-board
503	  ether port USB, AC97, PCI, etc.
504
505config MACH_VR41XX
506	bool "Support for NEC VR4100 series based machines"
507	select SYS_HAS_CPU_VR41XX
508	select SYS_SUPPORTS_32BIT_KERNEL
509	select SYS_SUPPORTS_64BIT_KERNEL if EXPERIMENTAL
510
511config PMC_YOSEMITE
512	bool "Support for PMC-Sierra Yosemite eval board"
513	select DMA_COHERENT
514	select HW_HAS_PCI
515	select IRQ_CPU
516	select IRQ_CPU_RM7K
517	select IRQ_CPU_RM9K
518	select SWAP_IO_SPACE
519	select SYS_HAS_CPU_RM9000
520	select SYS_SUPPORTS_32BIT_KERNEL
521	select SYS_SUPPORTS_64BIT_KERNEL
522	select SYS_SUPPORTS_BIG_ENDIAN
523	select SYS_SUPPORTS_HIGHMEM
524	help
525	  Yosemite is an evaluation board for the RM9000x2 processor
526	  manufactured by PMC-Sierra.
527
528config QEMU
529	bool "Support for Qemu"
530	select DMA_COHERENT
531	select GENERIC_ISA_DMA
532	select HAVE_STD_PC_SERIAL_PORT
533	select I8259
534	select ISA
535	select SWAP_IO_SPACE
536	select SYS_HAS_CPU_MIPS32_R1
537	select SYS_SUPPORTS_32BIT_KERNEL
538	select SYS_SUPPORTS_BIG_ENDIAN
539	help
540	  Qemu is a software emulator which among other architectures also
541	  can simulate a MIPS32 4Kc system.  This patch adds support for the
542	  system architecture that currently is being simulated by Qemu.  It
543	  will eventually be removed again when Qemu has the capability to
544	  simulate actual MIPS hardware platforms.  More information on Qemu
545	  can be found at http://www.linux-mips.org/wiki/Qemu.
546
547config SGI_IP22
548	bool "Support for SGI IP22 (Indy/Indigo2)"
549	select ARC
550	select ARC32
551	select BOOT_ELF32
552	select DMA_NONCOHERENT
553	select HW_HAS_EISA
554	select IP22_CPU_SCACHE
555	select IRQ_CPU
556	select SWAP_IO_SPACE
557	select SYS_HAS_CPU_R4X00
558	select SYS_HAS_CPU_R5000
559	select SYS_SUPPORTS_32BIT_KERNEL
560	select SYS_SUPPORTS_64BIT_KERNEL
561	select SYS_SUPPORTS_BIG_ENDIAN
562	help
563	  This are the SGI Indy, Challenge S and Indigo2, as well as certain
564	  OEM variants like the Tandem CMN B006S. To compile a Linux kernel
565	  that runs on these, say Y here.
566
567config SGI_IP27
568	bool "Support for SGI IP27 (Origin200/2000)"
569	select ARC
570	select ARC64
571	select BOOT_ELF64
572	select DMA_IP27
573	select HW_HAS_PCI
574	select PCI_DOMAINS
575	select SYS_HAS_CPU_R10000
576	select SYS_SUPPORTS_64BIT_KERNEL
577	select SYS_SUPPORTS_BIG_ENDIAN
578	help
579	  This are the SGI Origin 200, Origin 2000 and Onyx 2 Graphics
580	  workstations.  To compile a Linux kernel that runs on these, say Y
581	  here.
582
583config SGI_IP32
584	bool "Support for SGI IP32 (O2) (EXPERIMENTAL)"
585	depends on EXPERIMENTAL
586	select ARC
587	select ARC32
588	select BOOT_ELF32
589	select OWN_DMA
590	select DMA_IP32
591	select DMA_NONCOHERENT
592	select HW_HAS_PCI
593	select R5000_CPU_SCACHE
594	select RM7000_CPU_SCACHE
595	select SYS_HAS_CPU_R5000
596	select SYS_HAS_CPU_R10000 if BROKEN
597	select SYS_HAS_CPU_RM7000
598	select SYS_HAS_CPU_NEVADA
599	select SYS_SUPPORTS_64BIT_KERNEL
600	select SYS_SUPPORTS_BIG_ENDIAN
601	help
602	  If you want this kernel to run on SGI O2 workstation, say Y here.
603
604config SIBYTE_BIGSUR
605	bool "Support for Sibyte BCM91480B-BigSur"
606	select BOOT_ELF32
607	select DMA_COHERENT
608	select PCI_DOMAINS
609	select SIBYTE_BCM1x80
610	select SWAP_IO_SPACE
611	select SYS_HAS_CPU_SB1
612	select SYS_SUPPORTS_BIG_ENDIAN
613	select SYS_SUPPORTS_LITTLE_ENDIAN
614
615config SIBYTE_SWARM
616	bool "Support for Sibyte BCM91250A-SWARM"
617	select BOOT_ELF32
618	select DMA_COHERENT
619	select SIBYTE_SB1250
620	select SWAP_IO_SPACE
621	select SYS_HAS_CPU_SB1
622	select SYS_SUPPORTS_BIG_ENDIAN
623	select SYS_SUPPORTS_HIGHMEM
624	select SYS_SUPPORTS_LITTLE_ENDIAN
625
626config SIBYTE_SENTOSA
627	bool "Support for Sibyte BCM91250E-Sentosa"
628	depends on EXPERIMENTAL
629	select BOOT_ELF32
630	select DMA_COHERENT
631	select SIBYTE_SB1250
632	select SWAP_IO_SPACE
633	select SYS_HAS_CPU_SB1
634	select SYS_SUPPORTS_BIG_ENDIAN
635	select SYS_SUPPORTS_LITTLE_ENDIAN
636
637config SIBYTE_RHONE
638	bool "Support for Sibyte BCM91125E-Rhone"
639	depends on EXPERIMENTAL
640	select BOOT_ELF32
641	select DMA_COHERENT
642	select SIBYTE_BCM1125H
643	select SWAP_IO_SPACE
644	select SYS_HAS_CPU_SB1
645	select SYS_SUPPORTS_BIG_ENDIAN
646	select SYS_SUPPORTS_LITTLE_ENDIAN
647
648config SIBYTE_CARMEL
649	bool "Support for Sibyte BCM91120x-Carmel"
650	depends on EXPERIMENTAL
651	select BOOT_ELF32
652	select DMA_COHERENT
653	select SIBYTE_BCM1120
654	select SWAP_IO_SPACE
655	select SYS_HAS_CPU_SB1
656	select SYS_SUPPORTS_BIG_ENDIAN
657	select SYS_SUPPORTS_LITTLE_ENDIAN
658
659config SIBYTE_PTSWARM
660	bool "Support for Sibyte BCM91250PT-PTSWARM"
661	depends on EXPERIMENTAL
662	select BOOT_ELF32
663	select DMA_COHERENT
664	select SIBYTE_SB1250
665	select SWAP_IO_SPACE
666	select SYS_HAS_CPU_SB1
667	select SYS_SUPPORTS_BIG_ENDIAN
668	select SYS_SUPPORTS_HIGHMEM
669	select SYS_SUPPORTS_LITTLE_ENDIAN
670
671config SIBYTE_LITTLESUR
672	bool "Support for Sibyte BCM91250C2-LittleSur"
673	depends on EXPERIMENTAL
674	select BOOT_ELF32
675	select DMA_COHERENT
676	select SIBYTE_SB1250
677	select SWAP_IO_SPACE
678	select SYS_HAS_CPU_SB1
679	select SYS_SUPPORTS_BIG_ENDIAN
680	select SYS_SUPPORTS_HIGHMEM
681	select SYS_SUPPORTS_LITTLE_ENDIAN
682
683config SIBYTE_CRHINE
684	bool "Support for Sibyte BCM91120C-CRhine"
685	depends on EXPERIMENTAL
686	select BOOT_ELF32
687	select DMA_COHERENT
688	select SIBYTE_BCM1120
689	select SWAP_IO_SPACE
690	select SYS_HAS_CPU_SB1
691	select SYS_SUPPORTS_BIG_ENDIAN
692	select SYS_SUPPORTS_LITTLE_ENDIAN
693
694config SIBYTE_CRHONE
695	bool "Support for Sibyte BCM91125C-CRhone"
696	depends on EXPERIMENTAL
697	select BOOT_ELF32
698	select DMA_COHERENT
699	select SIBYTE_BCM1125
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 SNI_RM200_PCI
707	bool "Support for SNI RM200 PCI"
708	select ARC
709	select ARC32
710	select ARCH_MAY_HAVE_PC_FDC
711	select BOOT_ELF32
712	select DMA_NONCOHERENT
713	select GENERIC_ISA_DMA
714	select HAVE_STD_PC_SERIAL_PORT
715	select HW_HAS_EISA
716	select HW_HAS_PCI
717	select I8259
718	select ISA
719	select SYS_HAS_CPU_R4X00
720	select SYS_SUPPORTS_32BIT_KERNEL
721	select SYS_SUPPORTS_64BIT_KERNEL if EXPERIMENTAL
722	select SYS_SUPPORTS_BIG_ENDIAN if EXPERIMENTAL
723	select SYS_SUPPORTS_HIGHMEM
724	select SYS_SUPPORTS_LITTLE_ENDIAN
725	help
726	  The SNI RM200 PCI was a MIPS-based platform manufactured by Siemens
727	  Nixdorf Informationssysteme (SNI), parent company of Pyramid
728	  Technology and now in turn merged with Fujitsu.  Say Y here to
729	  support this machine type.
730
731config TOSHIBA_JMR3927
732	bool "Support for Toshiba JMR-TX3927 board"
733	select DMA_NONCOHERENT
734	select HW_HAS_PCI
735	select MIPS_TX3927
736	select SWAP_IO_SPACE
737	select SYS_HAS_CPU_TX39XX
738	select SYS_SUPPORTS_32BIT_KERNEL
739	select SYS_SUPPORTS_BIG_ENDIAN
740	select TOSHIBA_BOARDS
741
742config TOSHIBA_RBTX4927
743	bool "Support for Toshiba TBTX49[23]7 board"
744	select DMA_NONCOHERENT
745	select HAS_TXX9_SERIAL
746	select HW_HAS_PCI
747	select I8259
748	select ISA
749	select SWAP_IO_SPACE
750	select SYS_HAS_CPU_TX49XX
751	select SYS_SUPPORTS_32BIT_KERNEL
752	select SYS_SUPPORTS_64BIT_KERNEL
753	select SYS_SUPPORTS_BIG_ENDIAN
754	select TOSHIBA_BOARDS
755	help
756	  This Toshiba board is based on the TX4927 processor. Say Y here to
757	  support this machine type
758
759config TOSHIBA_RBTX4938
760	bool "Support for Toshiba RBTX4938 board"
761	select HAVE_STD_PC_SERIAL_PORT
762	select DMA_NONCOHERENT
763	select GENERIC_ISA_DMA
764	select HAS_TXX9_SERIAL
765	select HW_HAS_PCI
766	select I8259
767	select ISA
768	select SWAP_IO_SPACE
769	select SYS_HAS_CPU_TX49XX
770	select SYS_SUPPORTS_32BIT_KERNEL
771	select SYS_SUPPORTS_LITTLE_ENDIAN
772	select SYS_SUPPORTS_BIG_ENDIAN
773	select TOSHIBA_BOARDS
774	help
775	  This Toshiba board is based on the TX4938 processor. Say Y here to
776	  support this machine type
777
778endchoice
779
780source "arch/mips/ddb5xxx/Kconfig"
781source "arch/mips/gt64120/ev64120/Kconfig"
782source "arch/mips/jazz/Kconfig"
783source "arch/mips/ite-boards/Kconfig"
784source "arch/mips/lasat/Kconfig"
785source "arch/mips/momentum/Kconfig"
786source "arch/mips/pmc-sierra/Kconfig"
787source "arch/mips/sgi-ip27/Kconfig"
788source "arch/mips/sibyte/Kconfig"
789source "arch/mips/tx4927/Kconfig"
790source "arch/mips/tx4938/Kconfig"
791source "arch/mips/vr41xx/Kconfig"
792source "arch/mips/philips/pnx8550/common/Kconfig"
793source "arch/mips/cobalt/Kconfig"
794
795endmenu
796
797config RWSEM_GENERIC_SPINLOCK
798	bool
799	default y
800
801config RWSEM_XCHGADD_ALGORITHM
802	bool
803
804config GENERIC_FIND_NEXT_BIT
805	bool
806	default y
807
808config GENERIC_HWEIGHT
809	bool
810	default y
811
812config GENERIC_CALIBRATE_DELAY
813	bool
814	default y
815
816#
817# Select some configuration options automatically based on user selections.
818#
819config ARC
820	bool
821
822config ARCH_MAY_HAVE_PC_FDC
823	bool
824
825config DMA_COHERENT
826	bool
827
828config DMA_IP27
829	bool
830
831config DMA_IP32
832	bool
833	select DMA_NEED_PCI_MAP_STATE
834
835config DMA_NONCOHERENT
836	bool
837	select DMA_NEED_PCI_MAP_STATE
838
839config DMA_NEED_PCI_MAP_STATE
840	bool
841
842config OWN_DMA
843	bool
844
845config EARLY_PRINTK
846	bool
847
848config GENERIC_ISA_DMA
849	bool
850
851config I8259
852	bool
853
854config LIMITED_DMA
855	bool
856	select HIGHMEM
857	select SYS_SUPPORTS_HIGHMEM
858
859config MIPS_BONITO64
860	bool
861
862config MIPS_MSC
863	bool
864
865config MIPS_NILE4
866	bool
867
868config MIPS_DISABLE_OBSOLETE_IDE
869	bool
870
871#
872# Endianess selection.  Suffiently obscure so many users don't know what to
873# answer,so we try hard to limit the available choices.  Also the use of a
874# choice statement should be more obvious to the user.
875#
876choice
877	prompt "Endianess selection"
878	help
879	  Some MIPS machines can be configured for either little or big endian
880	  byte order. These modes require different kernels and a different
881	  Linux distribution.  In general there is one prefered byteorder for a
882	  particular system but some systems are just as commonly used in the
883	  one or the other endianess.
884
885config CPU_BIG_ENDIAN
886	bool "Big endian"
887	depends on SYS_SUPPORTS_BIG_ENDIAN
888
889config CPU_LITTLE_ENDIAN
890	bool "Little endian"
891	depends on SYS_SUPPORTS_LITTLE_ENDIAN
892	help
893
894endchoice
895
896config SYS_SUPPORTS_BIG_ENDIAN
897	bool
898
899config SYS_SUPPORTS_LITTLE_ENDIAN
900	bool
901
902config IRQ_CPU
903	bool
904
905config IRQ_CPU_RM7K
906	bool
907
908config IRQ_CPU_RM9K
909	bool
910
911config IRQ_MV64340
912	bool
913
914config DDB5XXX_COMMON
915	bool
916
917config MIPS_BOARDS_GEN
918	bool
919
920config MIPS_GT64111
921	bool
922
923config MIPS_GT64120
924	bool
925
926config MIPS_TX3927
927	bool
928	select HAS_TXX9_SERIAL
929
930config PCI_MARVELL
931	bool
932
933config ITE_BOARD_GEN
934	bool
935
936config SOC_AU1000
937	bool
938	select SOC_AU1X00
939
940config SOC_AU1100
941	bool
942	select SOC_AU1X00
943
944config SOC_AU1500
945	bool
946	select SOC_AU1X00
947
948config SOC_AU1550
949	bool
950	select SOC_AU1X00
951
952config SOC_AU1200
953	bool
954	select SOC_AU1X00
955
956config SOC_AU1X00
957	bool
958	select SYS_HAS_CPU_MIPS32_R1
959	select SYS_SUPPORTS_32BIT_KERNEL
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_SUPPORTS_32BIT_KERNEL
971
972config SWAP_IO_SPACE
973	bool
974
975#
976# Unfortunately not all GT64120 systems run the chip at the same clock.
977# As the user for the clock rate and try to minimize the available options.
978#
979choice
980	prompt "Galileo Chip Clock"
981	#default SYSCLK_83 if MIPS_EV64120
982	depends on MIPS_EV64120 || MOMENCO_OCELOT || MOMENCO_OCELOT_G
983	default SYSCLK_83 if MIPS_EV64120
984	default SYSCLK_100 if MOMENCO_OCELOT || MOMENCO_OCELOT_G
985
986config SYSCLK_75
987	bool "75" if MIPS_EV64120
988
989config SYSCLK_83
990	bool "83.3" if MIPS_EV64120
991
992config SYSCLK_100
993	bool "100" if MIPS_EV64120 || MOMENCO_OCELOT || MOMENCO_OCELOT_G
994
995endchoice
996
997config ARC32
998	bool
999
1000config AU1X00_USB_DEVICE
1001	bool
1002	depends on MIPS_PB1500 || MIPS_PB1100 || MIPS_PB1000
1003	default n
1004
1005config MIPS_GT96100
1006	bool
1007	select MIPS_GT64120
1008
1009config IT8172_CIR
1010	bool
1011	depends on MIPS_ITE8172 || MIPS_IVR
1012	default y
1013
1014config IT8712
1015	bool
1016	depends on MIPS_ITE8172
1017	default y
1018
1019config BOOT_ELF32
1020	bool
1021
1022config MIPS_L1_CACHE_SHIFT
1023	int
1024	default "4" if MACH_DECSTATION
1025	default "7" if SGI_IP27
1026	default "5"
1027
1028config HAVE_STD_PC_SERIAL_PORT
1029	bool
1030
1031config ARC_CONSOLE
1032	bool "ARC console support"
1033	depends on SGI_IP22 || SNI_RM200_PCI
1034
1035config ARC_MEMORY
1036	bool
1037	depends on MACH_JAZZ || SNI_RM200_PCI || SGI_IP32
1038	default y
1039
1040config ARC_PROMLIB
1041	bool
1042	depends on MACH_JAZZ || SNI_RM200_PCI || SGI_IP22 || SGI_IP32
1043	default y
1044
1045config ARC64
1046	bool
1047
1048config BOOT_ELF64
1049	bool
1050
1051config TOSHIBA_BOARDS
1052	bool
1053
1054menu "CPU selection"
1055
1056choice
1057	prompt "CPU type"
1058	default CPU_R4X00
1059
1060config CPU_MIPS32_R1
1061	bool "MIPS32 Release 1"
1062	depends on SYS_HAS_CPU_MIPS32_R1
1063	select CPU_HAS_PREFETCH
1064	select CPU_SUPPORTS_32BIT_KERNEL
1065	select CPU_SUPPORTS_HIGHMEM
1066	help
1067	  Choose this option to build a kernel for release 1 or later of the
1068	  MIPS32 architecture.  Most modern embedded systems with a 32-bit
1069	  MIPS processor are based on a MIPS32 processor.  If you know the
1070	  specific type of processor in your system, choose those that one
1071	  otherwise CPU_MIPS32_R1 is a safe bet for any MIPS32 system.
1072	  Release 2 of the MIPS32 architecture is available since several
1073	  years so chances are you even have a MIPS32 Release 2 processor
1074	  in which case you should choose CPU_MIPS32_R2 instead for better
1075	  performance.
1076
1077config CPU_MIPS32_R2
1078	bool "MIPS32 Release 2"
1079	depends on SYS_HAS_CPU_MIPS32_R2
1080	select CPU_HAS_PREFETCH
1081	select CPU_SUPPORTS_32BIT_KERNEL
1082	select CPU_SUPPORTS_HIGHMEM
1083	help
1084	  Choose this option to build a kernel for release 2 or later of the
1085	  MIPS32 architecture.  Most modern embedded systems with a 32-bit
1086	  MIPS processor are based on a MIPS32 processor.  If you know the
1087	  specific type of processor in your system, choose those that one
1088	  otherwise CPU_MIPS32_R1 is a safe bet for any MIPS32 system.
1089
1090config CPU_MIPS64_R1
1091	bool "MIPS64 Release 1"
1092	depends on SYS_HAS_CPU_MIPS64_R1
1093	select CPU_HAS_PREFETCH
1094	select CPU_SUPPORTS_32BIT_KERNEL
1095	select CPU_SUPPORTS_64BIT_KERNEL
1096	select CPU_SUPPORTS_HIGHMEM
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_PREFETCH
1112	select CPU_SUPPORTS_32BIT_KERNEL
1113	select CPU_SUPPORTS_64BIT_KERNEL
1114	select CPU_SUPPORTS_HIGHMEM
1115	help
1116	  Choose this option to build a kernel for release 2 or later of the
1117	  MIPS64 architecture.  Many modern embedded systems with a 64-bit
1118	  MIPS processor are based on a MIPS64 processor.  If you know the
1119	  specific type of processor in your system, choose those that one
1120	  otherwise CPU_MIPS64_R1 is a safe bet for any MIPS64 system.
1121
1122config CPU_R3000
1123	bool "R3000"
1124	depends on SYS_HAS_CPU_R3000
1125	select CPU_SUPPORTS_32BIT_KERNEL
1126	select CPU_SUPPORTS_HIGHMEM
1127	help
1128	  Please make sure to pick the right CPU type. Linux/MIPS is not
1129	  designed to be generic, i.e. Kernels compiled for R3000 CPUs will
1130	  *not* work on R4000 machines and vice versa.  However, since most
1131	  of the supported machines have an R4000 (or similar) CPU, R4x00
1132	  might be a safe bet.  If the resulting kernel does not work,
1133	  try to recompile with R3000.
1134
1135config CPU_TX39XX
1136	bool "R39XX"
1137	depends on SYS_HAS_CPU_TX39XX
1138	select CPU_SUPPORTS_32BIT_KERNEL
1139
1140config CPU_VR41XX
1141	bool "R41xx"
1142	depends on SYS_HAS_CPU_VR41XX
1143	select CPU_SUPPORTS_32BIT_KERNEL
1144	select CPU_SUPPORTS_64BIT_KERNEL
1145	help
1146	  The options selects support for the NEC VR4100 series of processors.
1147	  Only choose this option if you have one of these processors as a
1148	  kernel built with this option will not run on any other type of
1149	  processor or vice versa.
1150
1151config CPU_R4300
1152	bool "R4300"
1153	depends on SYS_HAS_CPU_R4300
1154	select CPU_SUPPORTS_32BIT_KERNEL
1155	select CPU_SUPPORTS_64BIT_KERNEL
1156	help
1157	  MIPS Technologies R4300-series processors.
1158
1159config CPU_R4X00
1160	bool "R4x00"
1161	depends on SYS_HAS_CPU_R4X00
1162	select CPU_SUPPORTS_32BIT_KERNEL
1163	select CPU_SUPPORTS_64BIT_KERNEL
1164	help
1165	  MIPS Technologies R4000-series processors other than 4300, including
1166	  the R4000, R4400, R4600, and 4700.
1167
1168config CPU_TX49XX
1169	bool "R49XX"
1170	depends on SYS_HAS_CPU_TX49XX
1171	select CPU_HAS_PREFETCH
1172	select CPU_SUPPORTS_32BIT_KERNEL
1173	select CPU_SUPPORTS_64BIT_KERNEL
1174
1175config CPU_R5000
1176	bool "R5000"
1177	depends on SYS_HAS_CPU_R5000
1178	select CPU_SUPPORTS_32BIT_KERNEL
1179	select CPU_SUPPORTS_64BIT_KERNEL
1180	help
1181	  MIPS Technologies R5000-series processors other than the Nevada.
1182
1183config CPU_R5432
1184	bool "R5432"
1185	depends on SYS_HAS_CPU_R5432
1186	select CPU_SUPPORTS_32BIT_KERNEL
1187	select CPU_SUPPORTS_64BIT_KERNEL
1188
1189config CPU_R6000
1190	bool "R6000"
1191	depends on EXPERIMENTAL
1192	depends on SYS_HAS_CPU_R6000
1193	select CPU_SUPPORTS_32BIT_KERNEL
1194	help
1195	  MIPS Technologies R6000 and R6000A series processors.  Note these
1196	  processors are extremly rare and the support for them is incomplete.
1197
1198config CPU_NEVADA
1199	bool "RM52xx"
1200	depends on SYS_HAS_CPU_NEVADA
1201	select CPU_SUPPORTS_32BIT_KERNEL
1202	select CPU_SUPPORTS_64BIT_KERNEL
1203	help
1204	  QED / PMC-Sierra RM52xx-series ("Nevada") processors.
1205
1206config CPU_R8000
1207	bool "R8000"
1208	depends on EXPERIMENTAL
1209	depends on SYS_HAS_CPU_R8000
1210	select CPU_HAS_PREFETCH
1211	select CPU_SUPPORTS_64BIT_KERNEL
1212	help
1213	  MIPS Technologies R8000 processors.  Note these processors are
1214	  uncommon and the support for them is incomplete.
1215
1216config CPU_R10000
1217	bool "R10000"
1218	depends on SYS_HAS_CPU_R10000
1219	select CPU_HAS_PREFETCH
1220	select CPU_SUPPORTS_32BIT_KERNEL
1221	select CPU_SUPPORTS_64BIT_KERNEL
1222	select CPU_SUPPORTS_HIGHMEM
1223	help
1224	  MIPS Technologies R10000-series processors.
1225
1226config CPU_RM7000
1227	bool "RM7000"
1228	depends on SYS_HAS_CPU_RM7000
1229	select CPU_HAS_PREFETCH
1230	select CPU_SUPPORTS_32BIT_KERNEL
1231	select CPU_SUPPORTS_64BIT_KERNEL
1232	select CPU_SUPPORTS_HIGHMEM
1233
1234config CPU_RM9000
1235	bool "RM9000"
1236	depends on SYS_HAS_CPU_RM9000
1237	select CPU_HAS_PREFETCH
1238	select CPU_SUPPORTS_32BIT_KERNEL
1239	select CPU_SUPPORTS_64BIT_KERNEL
1240	select CPU_SUPPORTS_HIGHMEM
1241
1242config CPU_SB1
1243	bool "SB1"
1244	depends on SYS_HAS_CPU_SB1
1245	select CPU_SUPPORTS_32BIT_KERNEL
1246	select CPU_SUPPORTS_64BIT_KERNEL
1247	select CPU_SUPPORTS_HIGHMEM
1248
1249endchoice
1250
1251config SYS_HAS_CPU_MIPS32_R1
1252	bool
1253
1254config SYS_HAS_CPU_MIPS32_R2
1255	bool
1256
1257config SYS_HAS_CPU_MIPS64_R1
1258	bool
1259
1260config SYS_HAS_CPU_MIPS64_R2
1261	bool
1262
1263config SYS_HAS_CPU_R3000
1264	bool
1265
1266config SYS_HAS_CPU_TX39XX
1267	bool
1268
1269config SYS_HAS_CPU_VR41XX
1270	bool
1271
1272config SYS_HAS_CPU_R4300
1273	bool
1274
1275config SYS_HAS_CPU_R4X00
1276	bool
1277
1278config SYS_HAS_CPU_TX49XX
1279	bool
1280
1281config SYS_HAS_CPU_R5000
1282	bool
1283
1284config SYS_HAS_CPU_R5432
1285	bool
1286
1287config SYS_HAS_CPU_R6000
1288	bool
1289
1290config SYS_HAS_CPU_NEVADA
1291	bool
1292
1293config SYS_HAS_CPU_R8000
1294	bool
1295
1296config SYS_HAS_CPU_R10000
1297	bool
1298
1299config SYS_HAS_CPU_RM7000
1300	bool
1301
1302config SYS_HAS_CPU_RM9000
1303	bool
1304
1305config SYS_HAS_CPU_SB1
1306	bool
1307
1308endmenu
1309
1310#
1311# These two indicate any levelof the MIPS32 and MIPS64 architecture
1312#
1313config CPU_MIPS32
1314	bool
1315	default y if CPU_MIPS32_R1 || CPU_MIPS32_R2
1316
1317config CPU_MIPS64
1318	bool
1319	default y if CPU_MIPS64_R1 || CPU_MIPS64_R2
1320
1321#
1322# These two indicate the revision of the architecture, either 32 bot 64 bit.
1323#
1324config CPU_MIPSR1
1325	bool
1326	default y if CPU_MIPS32_R1 || CPU_MIPS64_R1
1327
1328config CPU_MIPSR2
1329	bool
1330	default y if CPU_MIPS32_R2 || CPU_MIPS64_R2
1331
1332config SYS_SUPPORTS_32BIT_KERNEL
1333	bool
1334config SYS_SUPPORTS_64BIT_KERNEL
1335	bool
1336config CPU_SUPPORTS_32BIT_KERNEL
1337	bool
1338config CPU_SUPPORTS_64BIT_KERNEL
1339	bool
1340
1341menu "Kernel type"
1342
1343choice
1344
1345	prompt "Kernel code model"
1346	help
1347	  You should only select this option if you have a workload that
1348	  actually benefits from 64-bit processing or if your machine has
1349	  large memory.  You will only be presented a single option in this
1350	  menu if your system does not support both 32-bit and 64-bit kernels.
1351
1352config 32BIT
1353	bool "32-bit kernel"
1354	depends on CPU_SUPPORTS_32BIT_KERNEL && SYS_SUPPORTS_32BIT_KERNEL
1355	select TRAD_SIGNALS
1356	help
1357	  Select this option if you want to build a 32-bit kernel.
1358config 64BIT
1359	bool "64-bit kernel"
1360	depends on CPU_SUPPORTS_64BIT_KERNEL && SYS_SUPPORTS_64BIT_KERNEL
1361	help
1362	  Select this option if you want to build a 64-bit kernel.
1363
1364endchoice
1365
1366choice
1367	prompt "Kernel page size"
1368	default PAGE_SIZE_4KB
1369
1370config PAGE_SIZE_4KB
1371	bool "4kB"
1372	help
1373	 This option select the standard 4kB Linux page size.  On some
1374	 R3000-family processors this is the only available page size.  Using
1375	 4kB page size will minimize memory consumption and is therefore
1376	 recommended for low memory systems.
1377
1378config PAGE_SIZE_8KB
1379	bool "8kB"
1380	depends on EXPERIMENTAL && CPU_R8000
1381	help
1382	  Using 8kB page size will result in higher performance kernel at
1383	  the price of higher memory consumption.  This option is available
1384	  only on the R8000 processor.  Not that at the time of this writing
1385	  this option is still high experimental; there are also issues with
1386	  compatibility of user applications.
1387
1388config PAGE_SIZE_16KB
1389	bool "16kB"
1390	depends on EXPERIMENTAL && !CPU_R3000 && !CPU_TX39XX
1391	help
1392	  Using 16kB page size will result in higher performance kernel at
1393	  the price of higher memory consumption.  This option is available on
1394	  all non-R3000 family processor.  Not that at the time of this
1395	  writing this option is still high experimental; there are also
1396	  issues with compatibility of user applications.
1397
1398config PAGE_SIZE_64KB
1399	bool "64kB"
1400	depends on EXPERIMENTAL && !CPU_R3000 && !CPU_TX39XX
1401	help
1402	  Using 64kB page size will result in higher performance kernel at
1403	  the price of higher memory consumption.  This option is available on
1404	  all non-R3000 family processor.  Not that at the time of this
1405	  writing this option is still high experimental; there are also
1406	  issues with compatibility of user applications.
1407
1408endchoice
1409
1410config BOARD_SCACHE
1411	bool
1412
1413config IP22_CPU_SCACHE
1414	bool
1415	select BOARD_SCACHE
1416
1417config R5000_CPU_SCACHE
1418	bool
1419	select BOARD_SCACHE
1420
1421config RM7000_CPU_SCACHE
1422	bool
1423	select BOARD_SCACHE
1424
1425config SIBYTE_DMA_PAGEOPS
1426	bool "Use DMA to clear/copy pages"
1427	depends on CPU_SB1
1428	help
1429	  Instead of using the CPU to zero and copy pages, use a Data Mover
1430	  channel.  These DMA channels are otherwise unused by the standard
1431	  SiByte Linux port.  Seems to give a small performance benefit.
1432
1433config CPU_HAS_PREFETCH
1434	bool
1435
1436config MIPS_MT
1437	bool "Enable MIPS MT"
1438
1439choice
1440	prompt "MIPS MT options"
1441	depends on MIPS_MT
1442
1443config MIPS_MT_SMP
1444	bool "Use 1 TC on each available VPE for SMP"
1445	select SMP
1446
1447config MIPS_VPE_LOADER
1448	bool "VPE loader support."
1449	depends on MIPS_MT
1450	help
1451	  Includes a loader for loading an elf relocatable object
1452	  onto another VPE and running it.
1453
1454endchoice
1455
1456config MIPS_VPE_LOADER_TOM
1457	bool "Load VPE program into memory hidden from linux"
1458	depends on MIPS_VPE_LOADER
1459	default y
1460	help
1461	  The loader can use memory that is present but has been hidden from
1462	  Linux using the kernel command line option "mem=xxMB". It's up to
1463	  you to ensure the amount you put in the option and the space your
1464	  program requires is less or equal to the amount physically present.
1465
1466# this should possibly be in drivers/char, but it is rather cpu related. Hmmm
1467config MIPS_VPE_APSP_API
1468	bool "Enable support for AP/SP API (RTLX)"
1469	depends on MIPS_VPE_LOADER
1470	help
1471
1472config SB1_PASS_1_WORKAROUNDS
1473	bool
1474	depends on CPU_SB1_PASS_1
1475	default y
1476
1477config SB1_PASS_2_WORKAROUNDS
1478	bool
1479	depends on CPU_SB1 && (CPU_SB1_PASS_2_2 || CPU_SB1_PASS_2)
1480	default y
1481
1482config SB1_PASS_2_1_WORKAROUNDS
1483	bool
1484	depends on CPU_SB1 && CPU_SB1_PASS_2
1485	default y
1486
1487config 64BIT_PHYS_ADDR
1488	bool "Support for 64-bit physical address space"
1489	depends on (CPU_R4X00 || CPU_R5000 || CPU_RM7000 || CPU_RM9000 || CPU_R10000 || CPU_SB1 || CPU_MIPS32 || CPU_MIPS64) && 32BIT
1490
1491config CPU_ADVANCED
1492	bool "Override CPU Options"
1493	depends on 32BIT
1494	help
1495	  Saying yes here allows you to select support for various features
1496	  your CPU may or may not have.  Most people should say N here.
1497
1498config CPU_HAS_LLSC
1499	bool "ll/sc Instructions available" if CPU_ADVANCED
1500	default y if !CPU_ADVANCED && !CPU_R3000 && !CPU_VR41XX && !CPU_TX39XX
1501	help
1502	  MIPS R4000 series and later provide the Load Linked (ll)
1503	  and Store Conditional (sc) instructions. More information is
1504	  available at <http://www.go-ecs.com/mips/miptek1.htm>.
1505
1506	  Say Y here if your CPU has the ll and sc instructions.  Say Y here
1507	  for better performance, N if you don't know.  You must say Y here
1508	  for multiprocessor machines.
1509
1510config CPU_HAS_WB
1511	bool "Writeback Buffer available" if CPU_ADVANCED
1512	default y if !CPU_ADVANCED && CPU_R3000 && MACH_DECSTATION
1513	help
1514	  Say N here for slightly better performance.  You must say Y here for
1515	  machines which require flushing of write buffers in software.  Saying
1516	  Y is the safe option; N may result in kernel malfunction and crashes.
1517
1518menu "MIPSR2 Interrupt handling"
1519	depends on CPU_MIPSR2 && CPU_ADVANCED
1520
1521config CPU_MIPSR2_IRQ_VI
1522	bool "Vectored interrupt mode"
1523	help
1524	   Vectored interrupt mode allowing faster dispatching of interrupts.
1525	   The board support code needs to be written to take advantage of this
1526	   mode.  Compatibility code is included to allow the kernel to run on
1527	   a CPU that does not support vectored interrupts.  It's safe to
1528	   say Y here.
1529
1530config CPU_MIPSR2_IRQ_EI
1531	bool "External interrupt controller mode"
1532	help
1533	   Extended interrupt mode takes advantage of an external interrupt
1534	   controller to allow fast dispatching from many possible interrupt
1535	   sources. Say N unless you know that external interrupt support is
1536	   required.
1537
1538config CPU_MIPSR2_SRS
1539	bool "Make shadow set registers available for interrupt handlers"
1540	depends on CPU_MIPSR2_IRQ_VI || CPU_MIPSR2_IRQ_EI
1541	help
1542	   Allow the kernel to use shadow register sets for fast interrupts.
1543	   Interrupt handlers must be specially written to use shadow sets.
1544	   Say N unless you know that shadow register set upport is needed.
1545endmenu
1546
1547config CPU_HAS_SYNC
1548	bool
1549	depends on !CPU_R3000
1550	default y
1551
1552#
1553# Use the generic interrupt handling code in kernel/irq/:
1554#
1555config GENERIC_HARDIRQS
1556	bool
1557	default y
1558
1559config GENERIC_IRQ_PROBE
1560	bool
1561	default y
1562
1563#
1564# - Highmem only makes sense for the 32-bit kernel.
1565# - The current highmem code will only work properly on physically indexed
1566#   caches such as R3000, SB1, R7000 or those that look like they're virtually
1567#   indexed such as R4000/R4400 SC and MC versions or R10000.  So for the
1568#   moment we protect the user and offer the highmem option only on machines
1569#   where it's known to be safe.  This will not offer highmem on a few systems
1570#   such as MIPS32 and MIPS64 CPUs which may have virtual and physically
1571#   indexed CPUs but we're playing safe.
1572# - We use SYS_SUPPORTS_HIGHMEM to offer highmem only for systems where we
1573#   know they might have memory configurations that could make use of highmem
1574#   support.
1575#
1576config HIGHMEM
1577	bool "High Memory Support"
1578	depends on 32BIT && CPU_SUPPORTS_HIGHMEM && SYS_SUPPORTS_HIGHMEM
1579
1580config CPU_SUPPORTS_HIGHMEM
1581	bool
1582
1583config SYS_SUPPORTS_HIGHMEM
1584	bool
1585
1586config ARCH_FLATMEM_ENABLE
1587	def_bool y
1588	depends on !NUMA
1589
1590source "mm/Kconfig"
1591
1592config SMP
1593	bool "Multi-Processing support"
1594	depends on CPU_RM9000 || ((SIBYTE_BCM1x80 || SIBYTE_BCM1x55 || SIBYTE_SB1250 || QEMU) && !SIBYTE_STANDALONE) || SGI_IP27 || MIPS_MT_SMP
1595	---help---
1596	  This enables support for systems with more than one CPU. If you have
1597	  a system with only one CPU, like most personal computers, say N. If
1598	  you have a system with more than one CPU, say Y.
1599
1600	  If you say N here, the kernel will run on single and multiprocessor
1601	  machines, but will use only one CPU of a multiprocessor machine. If
1602	  you say Y here, the kernel will run on many, but not all,
1603	  singleprocessor machines. On a singleprocessor machine, the kernel
1604	  will run faster if you say N here.
1605
1606	  People using multiprocessor machines who say Y here should also say
1607	  Y to "Enhanced Real Time Clock Support", below.
1608
1609	  See also the <file:Documentation/smp.txt> and the SMP-HOWTO
1610	  available at <http://www.tldp.org/docs.html#howto>.
1611
1612	  If you don't know what to do here, say N.
1613
1614config NR_CPUS
1615	int "Maximum number of CPUs (2-64)"
1616	range 2 64
1617	depends on SMP
1618	default "64" if SGI_IP27
1619	default "2"
1620	help
1621	  This allows you to specify the maximum number of CPUs which this
1622	  kernel will support.  The maximum supported value is 32 for 32-bit
1623	  kernel and 64 for 64-bit kernels; the minimum value which makes
1624	  sense is 2.
1625
1626	  This is purely to save memory - each supported CPU adds
1627	  approximately eight kilobytes to the kernel image.
1628
1629source "kernel/Kconfig.preempt"
1630
1631config RTC_DS1742
1632	bool "DS1742 BRAM/RTC support"
1633	depends on TOSHIBA_JMR3927 || TOSHIBA_RBTX4927
1634
1635config MIPS_INSANE_LARGE
1636	bool "Support for large 64-bit configurations"
1637	depends on CPU_R10000 && 64BIT
1638	help
1639	  MIPS R10000 does support a 44 bit / 16TB address space as opposed to
1640	  previous 64-bit processors which only supported 40 bit / 1TB. If you
1641	  need processes of more than 1TB virtual address space, say Y here.
1642	  This will result in additional memory usage, so it is not
1643	  recommended for normal users.
1644
1645endmenu
1646
1647config RWSEM_GENERIC_SPINLOCK
1648	bool
1649	default y
1650
1651source "init/Kconfig"
1652
1653menu "Bus options (PCI, PCMCIA, EISA, ISA, TC)"
1654
1655config HW_HAS_EISA
1656	bool
1657config HW_HAS_PCI
1658	bool
1659
1660config PCI
1661	bool "Support for PCI controller"
1662	depends on HW_HAS_PCI
1663	help
1664	  Find out whether you have a PCI motherboard. PCI is the name of a
1665	  bus system, i.e. the way the CPU talks to the other stuff inside
1666	  your box. Other bus systems are ISA, EISA, or VESA. If you have PCI,
1667	  say Y, otherwise N.
1668
1669	  The PCI-HOWTO, available from
1670	  <http://www.tldp.org/docs.html#howto>, contains valuable
1671	  information about which PCI hardware does work under Linux and which
1672	  doesn't.
1673
1674config PCI_DOMAINS
1675	bool
1676	depends on PCI
1677
1678source "drivers/pci/Kconfig"
1679
1680#
1681# ISA support is now enabled via select.  Too many systems still have the one
1682# or other ISA chip on the board that users don't know about so don't expect
1683# users to choose the right thing ...
1684#
1685config ISA
1686	bool
1687
1688config EISA
1689	bool "EISA support"
1690	depends on HW_HAS_EISA
1691	select ISA
1692	---help---
1693	  The Extended Industry Standard Architecture (EISA) bus was
1694	  developed as an open alternative to the IBM MicroChannel bus.
1695
1696	  The EISA bus provided some of the features of the IBM MicroChannel
1697	  bus while maintaining backward compatibility with cards made for
1698	  the older ISA bus.  The EISA bus saw limited use between 1988 and
1699	  1995 when it was made obsolete by the PCI bus.
1700
1701	  Say Y here if you are building a kernel for an EISA-based machine.
1702
1703	  Otherwise, say N.
1704
1705source "drivers/eisa/Kconfig"
1706
1707config TC
1708	bool "TURBOchannel support"
1709	depends on MACH_DECSTATION
1710	help
1711	  TurboChannel is a DEC (now Compaq (now HP)) bus for Alpha and MIPS
1712	  processors.  Documentation on writing device drivers for TurboChannel
1713	  is available at:
1714	  <http://www.cs.arizona.edu/computer.help/policy/DIGITAL_unix/AA-PS3HD-TET1_html/TITLE.html>.
1715
1716#config ACCESSBUS
1717#	bool "Access.Bus support"
1718#	depends on TC
1719
1720config MMU
1721	bool
1722	default y
1723
1724source "drivers/pcmcia/Kconfig"
1725
1726source "drivers/pci/hotplug/Kconfig"
1727
1728endmenu
1729
1730menu "Executable file formats"
1731
1732source "fs/Kconfig.binfmt"
1733
1734config TRAD_SIGNALS
1735	bool
1736
1737config BUILD_ELF64
1738	bool "Use 64-bit ELF format for building"
1739	depends on 64BIT
1740	help
1741	  A 64-bit kernel is usually built using the 64-bit ELF binary object
1742	  format as it's one that allows arbitrary 64-bit constructs.  For
1743	  kernels that are loaded within the KSEG compatibility segments the
1744	  32-bit ELF format can optionally be used resulting in a somewhat
1745	  smaller binary, but this option is not explicitly supported by the
1746	  toolchain and since binutils 2.14 it does not even work at all.
1747
1748	  Say Y to use the 64-bit format or N to use the 32-bit one.
1749
1750	  If unsure say Y.
1751
1752config BINFMT_IRIX
1753	bool "Include IRIX binary compatibility"
1754	depends on CPU_BIG_ENDIAN && 32BIT && BROKEN
1755
1756config MIPS32_COMPAT
1757	bool "Kernel support for Linux/MIPS 32-bit binary compatibility"
1758	depends on 64BIT
1759	help
1760	  Select this option if you want Linux/MIPS 32-bit binary
1761	  compatibility. Since all software available for Linux/MIPS is
1762	  currently 32-bit you should say Y here.
1763
1764config COMPAT
1765	bool
1766	depends on MIPS32_COMPAT
1767	default y
1768
1769config MIPS32_O32
1770	bool "Kernel support for o32 binaries"
1771	depends on MIPS32_COMPAT
1772	help
1773	  Select this option if you want to run o32 binaries.  These are pure
1774	  32-bit binaries as used by the 32-bit Linux/MIPS port.  Most of
1775	  existing binaries are in this format.
1776
1777	  If unsure, say Y.
1778
1779config MIPS32_N32
1780	bool "Kernel support for n32 binaries"
1781	depends on MIPS32_COMPAT
1782	help
1783	  Select this option if you want to run n32 binaries.  These are
1784	  64-bit binaries using 32-bit quantities for addressing and certain
1785	  data that would normally be 64-bit.  They are used in special
1786	  cases.
1787
1788	  If unsure, say N.
1789
1790config BINFMT_ELF32
1791	bool
1792	default y if MIPS32_O32 || MIPS32_N32
1793
1794config SECCOMP
1795	bool "Enable seccomp to safely compute untrusted bytecode"
1796	depends on PROC_FS && BROKEN
1797	default y
1798	help
1799	  This kernel feature is useful for number crunching applications
1800	  that may need to compute untrusted bytecode during their
1801	  execution. By using pipes or other transports made available to
1802	  the process as file descriptors supporting the read/write
1803	  syscalls, it's possible to isolate those applications in
1804	  their own address space using seccomp. Once seccomp is
1805	  enabled via /proc/<pid>/seccomp, it cannot be disabled
1806	  and the task is only allowed to execute a few safe syscalls
1807	  defined by each seccomp mode.
1808
1809	  If unsure, say Y. Only embedded should say N here.
1810
1811config PM
1812	bool "Power Management support (EXPERIMENTAL)"
1813	depends on EXPERIMENTAL && SOC_AU1X00
1814
1815endmenu
1816
1817source "net/Kconfig"
1818
1819source "drivers/Kconfig"
1820
1821source "fs/Kconfig"
1822
1823source "arch/mips/oprofile/Kconfig"
1824
1825source "arch/mips/Kconfig.debug"
1826
1827source "security/Kconfig"
1828
1829source "crypto/Kconfig"
1830
1831source "lib/Kconfig"
1832