blob: 6648f9b914e7f51335bd36b452a84e327c2c4959 [file] [log] [blame]
Linus Torvalds1da177e2005-04-16 15:20:36 -07001config MIPS
2 bool
3 default y
4 # Horrible source of confusion. Die, die, die ...
5 select EMBEDDED
6
Linus Torvalds1da177e2005-04-16 15:20:36 -07007mainmenu "Linux/MIPS Kernel Configuration"
8
Linus Torvalds1da177e2005-04-16 15:20:36 -07009menu "Machine selection"
10
Christoph Lameter5ac6da62007-02-10 01:43:14 -080011config ZONE_DMA
12 bool
Christoph Lameter5ac6da62007-02-10 01:43:14 -080013
Ralf Baechle5e83d432005-10-29 19:32:41 +010014choice
15 prompt "System type"
16 default SGI_IP22
Linus Torvalds1da177e2005-04-16 15:20:36 -070017
Yoichi Yuasac3543e22007-05-11 20:44:30 +090018config MACH_ALCHEMY
19 bool "Alchemy processor based machines"
Linus Torvalds1da177e2005-04-16 15:20:36 -070020
Ralf Baechle35189fa2006-06-18 16:39:46 +010021config BASLER_EXCITE
Thomas Koellerbe915892007-02-23 01:40:34 +010022 bool "Basler eXcite smart camera"
Ralf Baechle35189fa2006-06-18 16:39:46 +010023 select DMA_COHERENT
24 select HW_HAS_PCI
25 select IRQ_CPU
26 select IRQ_CPU_RM7K
27 select IRQ_CPU_RM9K
thomas@koeller.dyndns.org663c3d92006-08-27 13:51:48 +020028 select MIPS_RM9122
Ralf Baechle35189fa2006-06-18 16:39:46 +010029 select SYS_HAS_CPU_RM9000
30 select SYS_SUPPORTS_32BIT_KERNEL
Ralf Baechle35189fa2006-06-18 16:39:46 +010031 select SYS_SUPPORTS_BIG_ENDIAN
Ralf Baechlecc801072007-02-17 02:58:39 +000032 select SYS_SUPPORTS_KGDB
Ralf Baechle35189fa2006-06-18 16:39:46 +010033 help
34 The eXcite is a smart camera platform manufactured by
Thomas Koellerbe915892007-02-23 01:40:34 +010035 Basler Vision Technologies AG.
Ralf Baechle35189fa2006-06-18 16:39:46 +010036
37config BASLER_EXCITE_PROTOTYPE
38 bool "Support for pre-release units"
39 depends on BASLER_EXCITE
40 default n
41 help
42 Pre-series (prototype) units are different from later ones in
43 some ways. Select this option if you have one of these. Please
44 note that a kernel built with this option selected will not be
45 able to run on normal units.
46
Aurelien Jarno1c0c13e2007-09-25 15:40:12 +020047config BCM47XX
48 bool "BCM47XX based boards"
49 select DMA_NONCOHERENT
50 select HW_HAS_PCI
51 select IRQ_CPU
52 select SYS_HAS_CPU_MIPS32_R1
53 select SYS_SUPPORTS_32BIT_KERNEL
54 select SYS_SUPPORTS_LITTLE_ENDIAN
55 select SSB
56 select SSB_DRIVER_MIPS
57 select GENERIC_GPIO
58 help
59 Support for BCM47XX based boards
60
Linus Torvalds1da177e2005-04-16 15:20:36 -070061config MIPS_COBALT
Martin Michlmayr3fa986f2006-05-09 23:34:53 +020062 bool "Cobalt Server"
Linus Torvalds1da177e2005-04-16 15:20:36 -070063 select DMA_NONCOHERENT
64 select HW_HAS_PCI
65 select I8259
66 select IRQ_CPU
Yoichi Yuasa252161e2007-03-14 21:51:26 +090067 select PCI_GT64XXX_PCI0
Ralf Baechle7cf80532005-10-20 22:33:09 +010068 select SYS_HAS_CPU_NEVADA
Yoichi Yuasa0a22e0d2007-03-02 12:42:33 +090069 select SYS_HAS_EARLY_PRINTK
Yoichi Yuasaed5ba2f2005-09-03 15:56:21 -070070 select SYS_SUPPORTS_32BIT_KERNEL
71 select SYS_SUPPORTS_64BIT_KERNEL if EXPERIMENTAL
Ralf Baechle5e83d432005-10-29 19:32:41 +010072 select SYS_SUPPORTS_LITTLE_ENDIAN
Atsushi Nemoto9fd32cf2006-12-08 01:55:07 +090073 select GENERIC_HARDIRQS_NO__DO_IRQ
Linus Torvalds1da177e2005-04-16 15:20:36 -070074
75config MACH_DECSTATION
Martin Michlmayr3fa986f2006-05-09 23:34:53 +020076 bool "DECstations"
Linus Torvalds1da177e2005-04-16 15:20:36 -070077 select BOOT_ELF32
78 select DMA_NONCOHERENT
Maciej W. Rozyckid388d682007-05-29 15:08:07 +010079 select NO_IOPORT
Linus Torvalds1da177e2005-04-16 15:20:36 -070080 select IRQ_CPU
Ralf Baechle7cf80532005-10-20 22:33:09 +010081 select SYS_HAS_CPU_R3000
82 select SYS_HAS_CPU_R4X00
Yoichi Yuasaed5ba2f2005-09-03 15:56:21 -070083 select SYS_SUPPORTS_32BIT_KERNEL
84 select SYS_SUPPORTS_64BIT_KERNEL if EXPERIMENTAL
Ralf Baechle5e83d432005-10-29 19:32:41 +010085 select SYS_SUPPORTS_LITTLE_ENDIAN
Atsushi Nemoto1723b4a2006-06-20 00:19:13 +090086 select SYS_SUPPORTS_128HZ
87 select SYS_SUPPORTS_256HZ
88 select SYS_SUPPORTS_1024HZ
Ralf Baechle5e83d432005-10-29 19:32:41 +010089 help
Linus Torvalds1da177e2005-04-16 15:20:36 -070090 This enables support for DEC's MIPS based workstations. For details
91 see the Linux/MIPS FAQ on <http://www.linux-mips.org/> and the
92 DECstation porting pages on <http://decstation.unix-ag.org/>.
93
94 If you have one of the following DECstation Models you definitely
95 want to choose R4xx0 for the CPU Type:
96
Ralf Baechle93088162007-08-29 14:21:45 +010097 DECstation 5000/50
98 DECstation 5000/150
99 DECstation 5000/260
100 DECsystem 5900/260
Linus Torvalds1da177e2005-04-16 15:20:36 -0700101
102 otherwise choose R3000.
103
Ralf Baechle5e83d432005-10-29 19:32:41 +0100104config MACH_JAZZ
Martin Michlmayr3fa986f2006-05-09 23:34:53 +0200105 bool "Jazz family of machines"
Ralf Baechle5e83d432005-10-29 19:32:41 +0100106 select ARC
107 select ARC32
108 select ARCH_MAY_HAVE_PC_FDC
109 select GENERIC_ISA_DMA
Thomas Bogendoerferea202c62007-08-25 11:01:50 +0200110 select IRQ_CPU
Ralf Baechle5e83d432005-10-29 19:32:41 +0100111 select I8259
112 select ISA
Ralf Baechlede61b542007-07-12 17:41:23 +0100113 select PCSPEAKER
Ralf Baechle7cf80532005-10-20 22:33:09 +0100114 select SYS_HAS_CPU_R4X00
Ralf Baechle5e83d432005-10-29 19:32:41 +0100115 select SYS_SUPPORTS_32BIT_KERNEL
116 select SYS_SUPPORTS_64BIT_KERNEL if EXPERIMENTAL
Atsushi Nemoto1723b4a2006-06-20 00:19:13 +0900117 select SYS_SUPPORTS_100HZ
Atsushi Nemoto9fd32cf2006-12-08 01:55:07 +0900118 select GENERIC_HARDIRQS_NO__DO_IRQ
Linus Torvalds1da177e2005-04-16 15:20:36 -0700119 help
Ralf Baechle5e83d432005-10-29 19:32:41 +0100120 This a family of machines based on the MIPS R4030 chipset which was
121 used by several vendors to build RISC/os and Windows NT workstations.
122 Members include the Acer PICA, MIPS Magnum 4000, MIPS Millenium and
123 Olivetti M700-10 workstations.
124
Brian Murphy1f21d2b2007-08-21 22:34:16 +0200125config LASAT
126 bool "LASAT Networks platforms"
127 select DMA_NONCOHERENT
128 select SYS_HAS_EARLY_PRINTK
129 select HW_HAS_PCI
130 select PCI_GT64XXX_PCI0
131 select MIPS_NILE4
132 select R5000_CPU_SCACHE
133 select SYS_HAS_CPU_R5000
134 select SYS_SUPPORTS_32BIT_KERNEL
135 select SYS_SUPPORTS_64BIT_KERNEL if BROKEN
136 select SYS_SUPPORTS_LITTLE_ENDIAN
137 select GENERIC_HARDIRQS_NO__DO_IRQ
138
Yoichi Yuasaade299d2007-07-27 15:25:43 +0900139config LEMOTE_FULONG
140 bool "Lemote Fulong mini-PC"
141 select ARCH_SPARSEMEM_ENABLE
142 select SYS_HAS_CPU_LOONGSON2
143 select DMA_NONCOHERENT
144 select BOOT_ELF32
145 select BOARD_SCACHE
146 select HAVE_STD_PC_SERIAL_PORT
147 select HW_HAS_PCI
148 select I8259
149 select ISA
150 select IRQ_CPU
151 select SYS_SUPPORTS_32BIT_KERNEL
152 select SYS_SUPPORTS_64BIT_KERNEL
153 select SYS_SUPPORTS_LITTLE_ENDIAN
154 select SYS_SUPPORTS_HIGHMEM
155 select SYS_HAS_EARLY_PRINTK
156 select GENERIC_HARDIRQS_NO__DO_IRQ
Ralf Baechle23dd6d32007-08-24 16:49:23 +0100157 select GENERIC_ISA_DMA_SUPPORT_BROKEN
Yoichi Yuasaade299d2007-07-27 15:25:43 +0900158 select CPU_HAS_WB
159 help
160 Lemote Fulong mini-PC board based on the Chinese Loongson-2E CPU and
161 an FPGA northbridge
162
Linus Torvalds1da177e2005-04-16 15:20:36 -0700163config MIPS_ATLAS
Martin Michlmayr3fa986f2006-05-09 23:34:53 +0200164 bool "MIPS Atlas board"
Linus Torvalds1da177e2005-04-16 15:20:36 -0700165 select BOOT_ELF32
166 select DMA_NONCOHERENT
Ralf Baechle36a88532007-03-01 11:56:43 +0000167 select SYS_HAS_EARLY_PRINTK
Ralf Baechle5e83d432005-10-29 19:32:41 +0100168 select IRQ_CPU
Linus Torvalds1da177e2005-04-16 15:20:36 -0700169 select HW_HAS_PCI
Ralf Baechle5e83d432005-10-29 19:32:41 +0100170 select MIPS_BOARDS_GEN
171 select MIPS_BONITO64
Yoichi Yuasa252161e2007-03-14 21:51:26 +0900172 select PCI_GT64XXX_PCI0
Ralf Baechle5e83d432005-10-29 19:32:41 +0100173 select MIPS_MSC
Maciej W. Rozyckif4b7cdb2005-02-12 04:31:49 +0000174 select RM7000_CPU_SCACHE
Linus Torvalds1da177e2005-04-16 15:20:36 -0700175 select SWAP_IO_SPACE
Ralf Baechle7cf80532005-10-20 22:33:09 +0100176 select SYS_HAS_CPU_MIPS32_R1
177 select SYS_HAS_CPU_MIPS32_R2
178 select SYS_HAS_CPU_MIPS64_R1
179 select SYS_HAS_CPU_NEVADA
180 select SYS_HAS_CPU_RM7000
Yoichi Yuasaed5ba2f2005-09-03 15:56:21 -0700181 select SYS_SUPPORTS_32BIT_KERNEL
182 select SYS_SUPPORTS_64BIT_KERNEL
Ralf Baechle5e83d432005-10-29 19:32:41 +0100183 select SYS_SUPPORTS_BIG_ENDIAN
184 select SYS_SUPPORTS_LITTLE_ENDIAN
Ralf Baechlef41ae0b2006-06-05 17:24:46 +0100185 select SYS_SUPPORTS_MULTITHREADING if EXPERIMENTAL
Franck Bui-Huu9693a852007-02-02 17:41:47 +0100186 select SYS_SUPPORTS_SMARTMIPS
Franck Bui-Huue77c2322006-12-01 18:22:27 +0100187 select GENERIC_HARDIRQS_NO__DO_IRQ
Linus Torvalds1da177e2005-04-16 15:20:36 -0700188 help
Maciej W. Rozyckif638d192005-02-02 22:23:46 +0000189 This enables support for the MIPS Technologies Atlas evaluation
Linus Torvalds1da177e2005-04-16 15:20:36 -0700190 board.
191
192config MIPS_MALTA
Martin Michlmayr3fa986f2006-05-09 23:34:53 +0200193 bool "MIPS Malta board"
Ralf Baechle61ed2422005-09-15 08:52:34 +0000194 select ARCH_MAY_HAVE_PC_FDC
Linus Torvalds1da177e2005-04-16 15:20:36 -0700195 select BOOT_ELF32
Linus Torvalds1da177e2005-04-16 15:20:36 -0700196 select DMA_NONCOHERENT
197 select GENERIC_ISA_DMA
Ralf Baechleaa414df2006-11-30 01:14:51 +0000198 select IRQ_CPU
Linus Torvalds1da177e2005-04-16 15:20:36 -0700199 select HW_HAS_PCI
200 select I8259
Ralf Baechle5e83d432005-10-29 19:32:41 +0100201 select MIPS_BOARDS_GEN
202 select MIPS_BONITO64
Chris Dearman9318c512006-06-20 17:15:20 +0100203 select MIPS_CPU_SCACHE
Yoichi Yuasa252161e2007-03-14 21:51:26 +0900204 select PCI_GT64XXX_PCI0
Ralf Baechle5e83d432005-10-29 19:32:41 +0100205 select MIPS_MSC
Linus Torvalds1da177e2005-04-16 15:20:36 -0700206 select SWAP_IO_SPACE
Ralf Baechle7cf80532005-10-20 22:33:09 +0100207 select SYS_HAS_CPU_MIPS32_R1
208 select SYS_HAS_CPU_MIPS32_R2
209 select SYS_HAS_CPU_MIPS64_R1
210 select SYS_HAS_CPU_NEVADA
211 select SYS_HAS_CPU_RM7000
Ralf Baechle36a88532007-03-01 11:56:43 +0000212 select SYS_HAS_EARLY_PRINTK
Yoichi Yuasaed5ba2f2005-09-03 15:56:21 -0700213 select SYS_SUPPORTS_32BIT_KERNEL
214 select SYS_SUPPORTS_64BIT_KERNEL
Ralf Baechle5e83d432005-10-29 19:32:41 +0100215 select SYS_SUPPORTS_BIG_ENDIAN
216 select SYS_SUPPORTS_LITTLE_ENDIAN
Ralf Baechlef41ae0b2006-06-05 17:24:46 +0100217 select SYS_SUPPORTS_MULTITHREADING
Franck Bui-Huu9693a852007-02-02 17:41:47 +0100218 select SYS_SUPPORTS_SMARTMIPS
Linus Torvalds1da177e2005-04-16 15:20:36 -0700219 help
Maciej W. Rozyckif638d192005-02-02 22:23:46 +0000220 This enables support for the MIPS Technologies Malta evaluation
Linus Torvalds1da177e2005-04-16 15:20:36 -0700221 board.
222
223config MIPS_SEAD
Ralf Baechled98cc842007-08-06 10:02:07 +0100224 bool "MIPS SEAD board"
Linus Torvalds1da177e2005-04-16 15:20:36 -0700225 select IRQ_CPU
226 select DMA_NONCOHERENT
Ralf Baechle36a88532007-03-01 11:56:43 +0000227 select SYS_HAS_EARLY_PRINTK
Ralf Baechle5e83d432005-10-29 19:32:41 +0100228 select MIPS_BOARDS_GEN
Ralf Baechle7cf80532005-10-20 22:33:09 +0100229 select SYS_HAS_CPU_MIPS32_R1
230 select SYS_HAS_CPU_MIPS32_R2
231 select SYS_HAS_CPU_MIPS64_R1
Yoichi Yuasaed5ba2f2005-09-03 15:56:21 -0700232 select SYS_SUPPORTS_32BIT_KERNEL
Ralf Baechle5e83d432005-10-29 19:32:41 +0100233 select SYS_SUPPORTS_64BIT_KERNEL if EXPERIMENTAL
234 select SYS_SUPPORTS_BIG_ENDIAN
235 select SYS_SUPPORTS_LITTLE_ENDIAN
Franck Bui-Huu9693a852007-02-02 17:41:47 +0100236 select SYS_SUPPORTS_SMARTMIPS
Maciej W. Rozyckif638d192005-02-02 22:23:46 +0000237 help
238 This enables support for the MIPS Technologies SEAD evaluation
239 board.
Linus Torvalds1da177e2005-04-16 15:20:36 -0700240
Ralf Baechlec78cbf42005-09-30 13:59:37 +0100241config MIPS_SIM
Martin Michlmayr3fa986f2006-05-09 23:34:53 +0200242 bool 'MIPS simulator (MIPSsim)'
Ralf Baechlec78cbf42005-09-30 13:59:37 +0100243 select DMA_NONCOHERENT
Ralf Baechle36a88532007-03-01 11:56:43 +0000244 select SYS_HAS_EARLY_PRINTK
Ralf Baechlec78cbf42005-09-30 13:59:37 +0100245 select IRQ_CPU
Marc St-Jean9267a302007-06-14 15:55:31 -0600246 select BOOT_RAW
Ralf Baechle7cf80532005-10-20 22:33:09 +0100247 select SYS_HAS_CPU_MIPS32_R1
248 select SYS_HAS_CPU_MIPS32_R2
Ralf Baechle36a88532007-03-01 11:56:43 +0000249 select SYS_HAS_EARLY_PRINTK
Ralf Baechlec78cbf42005-09-30 13:59:37 +0100250 select SYS_SUPPORTS_32BIT_KERNEL
251 select SYS_SUPPORTS_BIG_ENDIAN
Ralf Baechlef6e23732007-07-10 17:32:56 +0100252 select SYS_SUPPORTS_MULTITHREADING
Ralf Baechlec78cbf42005-09-30 13:59:37 +0100253 select SYS_SUPPORTS_LITTLE_ENDIAN
254 help
255 This option enables support for MIPS Technologies MIPSsim software
256 emulator.
257
Yoichi Yuasaade299d2007-07-27 15:25:43 +0900258config MARKEINS
259 bool "NEC EMMA2RH Mark-eins"
260 select DMA_NONCOHERENT
261 select HW_HAS_PCI
262 select IRQ_CPU
263 select SWAP_IO_SPACE
264 select SYS_SUPPORTS_32BIT_KERNEL
265 select SYS_SUPPORTS_BIG_ENDIAN
266 select SYS_SUPPORTS_LITTLE_ENDIAN
267 select SYS_HAS_CPU_R5000
268 help
269 This enables support for the R5432-based NEC Mark-eins
270 boards with R5500 CPU.
271
Ralf Baechle5e83d432005-10-29 19:32:41 +0100272config MACH_VR41XX
Yoichi Yuasa74142d62007-04-26 19:45:09 +0900273 bool "NEC VR4100 series based machines"
Ralf Baechle7cf80532005-10-20 22:33:09 +0100274 select SYS_HAS_CPU_VR41XX
Atsushi Nemoto9fd32cf2006-12-08 01:55:07 +0900275 select GENERIC_HARDIRQS_NO__DO_IRQ
Ralf Baechle5e83d432005-10-29 19:32:41 +0100276
Yoichi Yuasaade299d2007-07-27 15:25:43 +0900277config PNX8550_JBS
278 bool "Philips PNX8550 based JBS board"
279 select PNX8550
280 select SYS_SUPPORTS_LITTLE_ENDIAN
281
282config PNX8550_STB810
283 bool "Philips PNX8550 based STB810 board"
284 select PNX8550
285 select SYS_SUPPORTS_LITTLE_ENDIAN
286
Marc St-Jean9267a302007-06-14 15:55:31 -0600287config PMC_MSP
288 bool "PMC-Sierra MSP chipsets"
289 depends on EXPERIMENTAL
290 select DMA_NONCOHERENT
291 select SWAP_IO_SPACE
292 select NO_EXCEPT_FILL
293 select BOOT_RAW
294 select SYS_HAS_CPU_MIPS32_R1
295 select SYS_HAS_CPU_MIPS32_R2
296 select SYS_SUPPORTS_32BIT_KERNEL
297 select SYS_SUPPORTS_BIG_ENDIAN
298 select SYS_SUPPORTS_KGDB
299 select IRQ_CPU
300 select SERIAL_8250
301 select SERIAL_8250_CONSOLE
302 help
303 This adds support for the PMC-Sierra family of Multi-Service
304 Processor System-On-A-Chips. These parts include a number
305 of integrated peripherals, interfaces and DSPs in addition to
306 a variety of MIPS cores.
307
Ralf Baechle5e83d432005-10-29 19:32:41 +0100308config PMC_YOSEMITE
Martin Michlmayr3fa986f2006-05-09 23:34:53 +0200309 bool "PMC-Sierra Yosemite eval board"
Ralf Baechle5e83d432005-10-29 19:32:41 +0100310 select DMA_COHERENT
311 select HW_HAS_PCI
312 select IRQ_CPU
313 select IRQ_CPU_RM7K
314 select IRQ_CPU_RM9K
315 select SWAP_IO_SPACE
Ralf Baechle7cf80532005-10-20 22:33:09 +0100316 select SYS_HAS_CPU_RM9000
Ralf Baechle36a88532007-03-01 11:56:43 +0000317 select SYS_HAS_EARLY_PRINTK
Ralf Baechle5e83d432005-10-29 19:32:41 +0100318 select SYS_SUPPORTS_32BIT_KERNEL
319 select SYS_SUPPORTS_64BIT_KERNEL
320 select SYS_SUPPORTS_BIG_ENDIAN
321 select SYS_SUPPORTS_HIGHMEM
Ralf Baechlecc801072007-02-17 02:58:39 +0000322 select SYS_SUPPORTS_KGDB
Ralf Baechlee73ea272006-06-04 11:51:46 +0100323 select SYS_SUPPORTS_SMP
Ralf Baechle5e83d432005-10-29 19:32:41 +0100324 help
325 Yosemite is an evaluation board for the RM9000x2 processor
326 manufactured by PMC-Sierra.
Linus Torvalds1da177e2005-04-16 15:20:36 -0700327
Ralf Baechle07119622005-09-03 15:56:11 -0700328config QEMU
Martin Michlmayr3fa986f2006-05-09 23:34:53 +0200329 bool "Qemu"
Ralf Baechle07119622005-09-03 15:56:11 -0700330 select DMA_COHERENT
331 select GENERIC_ISA_DMA
332 select HAVE_STD_PC_SERIAL_PORT
333 select I8259
334 select ISA
Ralf Baechlede61b542007-07-12 17:41:23 +0100335 select PCSPEAKER
Ralf Baechle07119622005-09-03 15:56:11 -0700336 select SWAP_IO_SPACE
Ralf Baechle7cf80532005-10-20 22:33:09 +0100337 select SYS_HAS_CPU_MIPS32_R1
Ralf Baechle07119622005-09-03 15:56:11 -0700338 select SYS_SUPPORTS_32BIT_KERNEL
339 select SYS_SUPPORTS_BIG_ENDIAN
Aurelien Jarnoc8cc9612006-09-27 23:07:25 +0200340 select SYS_SUPPORTS_LITTLE_ENDIAN
Atsushi Nemotob1c6cd42006-07-03 00:09:47 +0900341 select ARCH_SPARSEMEM_ENABLE
Atsushi Nemoto9fd32cf2006-12-08 01:55:07 +0900342 select GENERIC_HARDIRQS_NO__DO_IRQ
Atsushi Nemoto72ede9b2007-03-18 01:01:39 +0900343 select NR_CPUS_DEFAULT_1
344 select SYS_SUPPORTS_SMP
Ralf Baechle07119622005-09-03 15:56:11 -0700345 help
Ralf Baechle5e83d432005-10-29 19:32:41 +0100346 Qemu is a software emulator which among other architectures also
347 can simulate a MIPS32 4Kc system. This patch adds support for the
348 system architecture that currently is being simulated by Qemu. It
349 will eventually be removed again when Qemu has the capability to
350 simulate actual MIPS hardware platforms. More information on Qemu
351 can be found at http://www.linux-mips.org/wiki/Qemu.
Ralf Baechle07119622005-09-03 15:56:11 -0700352
Linus Torvalds1da177e2005-04-16 15:20:36 -0700353config SGI_IP22
Martin Michlmayr3fa986f2006-05-09 23:34:53 +0200354 bool "SGI IP22 (Indy/Indigo2)"
Linus Torvalds1da177e2005-04-16 15:20:36 -0700355 select ARC
356 select ARC32
357 select BOOT_ELF32
358 select DMA_NONCOHERENT
Ralf Baechle5e83d432005-10-29 19:32:41 +0100359 select HW_HAS_EISA
Linus Torvalds1da177e2005-04-16 15:20:36 -0700360 select IP22_CPU_SCACHE
361 select IRQ_CPU
Ralf Baechleaa414df2006-11-30 01:14:51 +0000362 select GENERIC_ISA_DMA_SUPPORT_BROKEN
Linus Torvalds1da177e2005-04-16 15:20:36 -0700363 select SWAP_IO_SPACE
Ralf Baechle7cf80532005-10-20 22:33:09 +0100364 select SYS_HAS_CPU_R4X00
365 select SYS_HAS_CPU_R5000
Ralf Baechle36a88532007-03-01 11:56:43 +0000366 select SYS_HAS_EARLY_PRINTK
Yoichi Yuasaed5ba2f2005-09-03 15:56:21 -0700367 select SYS_SUPPORTS_32BIT_KERNEL
368 select SYS_SUPPORTS_64BIT_KERNEL
Ralf Baechle5e83d432005-10-29 19:32:41 +0100369 select SYS_SUPPORTS_BIG_ENDIAN
Linus Torvalds1da177e2005-04-16 15:20:36 -0700370 help
371 This are the SGI Indy, Challenge S and Indigo2, as well as certain
372 OEM variants like the Tandem CMN B006S. To compile a Linux kernel
373 that runs on these, say Y here.
374
375config SGI_IP27
Martin Michlmayr3fa986f2006-05-09 23:34:53 +0200376 bool "SGI IP27 (Origin200/2000)"
Linus Torvalds1da177e2005-04-16 15:20:36 -0700377 select ARC
378 select ARC64
Ralf Baechle5e83d432005-10-29 19:32:41 +0100379 select BOOT_ELF64
Linus Torvalds1da177e2005-04-16 15:20:36 -0700380 select DMA_IP27
Ralf Baechle36a88532007-03-01 11:56:43 +0000381 select SYS_HAS_EARLY_PRINTK
Linus Torvalds1da177e2005-04-16 15:20:36 -0700382 select HW_HAS_PCI
Ralf Baechle130e2fb2007-02-06 16:53:15 +0000383 select NR_CPUS_DEFAULT_64
Linus Torvalds1da177e2005-04-16 15:20:36 -0700384 select PCI_DOMAINS
Ralf Baechle7cf80532005-10-20 22:33:09 +0100385 select SYS_HAS_CPU_R10000
Yoichi Yuasaed5ba2f2005-09-03 15:56:21 -0700386 select SYS_SUPPORTS_64BIT_KERNEL
Ralf Baechle5e83d432005-10-29 19:32:41 +0100387 select SYS_SUPPORTS_BIG_ENDIAN
Ralf Baechlecc801072007-02-17 02:58:39 +0000388 select SYS_SUPPORTS_KGDB
Ralf Baechled8cb4e12006-06-11 23:03:08 +0100389 select SYS_SUPPORTS_NUMA
Ralf Baechle1a5c5de2006-11-02 17:23:33 +0000390 select SYS_SUPPORTS_SMP
Franck Bui-Huue77c2322006-12-01 18:22:27 +0100391 select GENERIC_HARDIRQS_NO__DO_IRQ
Linus Torvalds1da177e2005-04-16 15:20:36 -0700392 help
393 This are the SGI Origin 200, Origin 2000 and Onyx 2 Graphics
394 workstations. To compile a Linux kernel that runs on these, say Y
395 here.
396
Linus Torvalds1da177e2005-04-16 15:20:36 -0700397config SGI_IP32
Ralf Baechlecfd2afc2007-07-10 17:33:00 +0100398 bool "SGI IP32 (O2)"
Linus Torvalds1da177e2005-04-16 15:20:36 -0700399 select ARC
400 select ARC32
401 select BOOT_ELF32
Linus Torvalds1da177e2005-04-16 15:20:36 -0700402 select DMA_NONCOHERENT
403 select HW_HAS_PCI
404 select R5000_CPU_SCACHE
405 select RM7000_CPU_SCACHE
Ralf Baechle7cf80532005-10-20 22:33:09 +0100406 select SYS_HAS_CPU_R5000
407 select SYS_HAS_CPU_R10000 if BROKEN
408 select SYS_HAS_CPU_RM7000
Ralf Baechledd2f18f2006-01-19 14:55:42 +0000409 select SYS_HAS_CPU_NEVADA
Yoichi Yuasaed5ba2f2005-09-03 15:56:21 -0700410 select SYS_SUPPORTS_64BIT_KERNEL
Ralf Baechle5e83d432005-10-29 19:32:41 +0100411 select SYS_SUPPORTS_BIG_ENDIAN
Linus Torvalds1da177e2005-04-16 15:20:36 -0700412 help
413 If you want this kernel to run on SGI O2 workstation, say Y here.
414
Yoichi Yuasaade299d2007-07-27 15:25:43 +0900415config SIBYTE_CRHINE
416 bool "Sibyte BCM91120C-CRhine"
Ralf Baechle5e83d432005-10-29 19:32:41 +0100417 depends on EXPERIMENTAL
418 select BOOT_ELF32
419 select DMA_COHERENT
420 select SIBYTE_BCM1120
421 select SWAP_IO_SPACE
Ralf Baechle7cf80532005-10-20 22:33:09 +0100422 select SYS_HAS_CPU_SB1
Ralf Baechle5e83d432005-10-29 19:32:41 +0100423 select SYS_SUPPORTS_BIG_ENDIAN
424 select SYS_SUPPORTS_LITTLE_ENDIAN
425
Yoichi Yuasaade299d2007-07-27 15:25:43 +0900426config SIBYTE_CARMEL
427 bool "Sibyte BCM91120x-Carmel"
Ralf Baechle5e83d432005-10-29 19:32:41 +0100428 depends on EXPERIMENTAL
429 select BOOT_ELF32
430 select DMA_COHERENT
431 select SIBYTE_BCM1120
432 select SWAP_IO_SPACE
Ralf Baechle7cf80532005-10-20 22:33:09 +0100433 select SYS_HAS_CPU_SB1
Ralf Baechle5e83d432005-10-29 19:32:41 +0100434 select SYS_SUPPORTS_BIG_ENDIAN
435 select SYS_SUPPORTS_LITTLE_ENDIAN
436
437config SIBYTE_CRHONE
Martin Michlmayr3fa986f2006-05-09 23:34:53 +0200438 bool "Sibyte BCM91125C-CRhone"
Ralf Baechle5e83d432005-10-29 19:32:41 +0100439 depends on EXPERIMENTAL
440 select BOOT_ELF32
441 select DMA_COHERENT
442 select SIBYTE_BCM1125
443 select SWAP_IO_SPACE
Ralf Baechle7cf80532005-10-20 22:33:09 +0100444 select SYS_HAS_CPU_SB1
Ralf Baechle5e83d432005-10-29 19:32:41 +0100445 select SYS_SUPPORTS_BIG_ENDIAN
446 select SYS_SUPPORTS_HIGHMEM
447 select SYS_SUPPORTS_LITTLE_ENDIAN
448
Yoichi Yuasaade299d2007-07-27 15:25:43 +0900449config SIBYTE_RHONE
450 bool "Sibyte BCM91125E-Rhone"
451 depends on EXPERIMENTAL
452 select BOOT_ELF32
453 select DMA_COHERENT
454 select SIBYTE_BCM1125H
455 select SWAP_IO_SPACE
456 select SYS_HAS_CPU_SB1
457 select SYS_SUPPORTS_BIG_ENDIAN
458 select SYS_SUPPORTS_LITTLE_ENDIAN
459
460config SIBYTE_SWARM
461 bool "Sibyte BCM91250A-SWARM"
462 select BOOT_ELF32
463 select DMA_COHERENT
464 select NR_CPUS_DEFAULT_2
465 select SIBYTE_SB1250
466 select SWAP_IO_SPACE
467 select SYS_HAS_CPU_SB1
468 select SYS_SUPPORTS_BIG_ENDIAN
469 select SYS_SUPPORTS_HIGHMEM
470 select SYS_SUPPORTS_KGDB
471 select SYS_SUPPORTS_LITTLE_ENDIAN
472
473config SIBYTE_LITTLESUR
474 bool "Sibyte BCM91250C2-LittleSur"
475 depends on EXPERIMENTAL
476 select BOOT_ELF32
477 select DMA_COHERENT
478 select NR_CPUS_DEFAULT_2
479 select SIBYTE_SB1250
480 select SWAP_IO_SPACE
481 select SYS_HAS_CPU_SB1
482 select SYS_SUPPORTS_BIG_ENDIAN
483 select SYS_SUPPORTS_HIGHMEM
484 select SYS_SUPPORTS_LITTLE_ENDIAN
485
486config SIBYTE_SENTOSA
487 bool "Sibyte BCM91250E-Sentosa"
488 depends on EXPERIMENTAL
489 select BOOT_ELF32
490 select DMA_COHERENT
491 select NR_CPUS_DEFAULT_2
492 select SIBYTE_SB1250
493 select SWAP_IO_SPACE
494 select SYS_HAS_CPU_SB1
495 select SYS_SUPPORTS_BIG_ENDIAN
496 select SYS_SUPPORTS_LITTLE_ENDIAN
497
498config SIBYTE_PTSWARM
499 bool "Sibyte BCM91250PT-PTSWARM"
500 depends on EXPERIMENTAL
501 select BOOT_ELF32
502 select DMA_COHERENT
503 select NR_CPUS_DEFAULT_2
504 select SIBYTE_SB1250
505 select SWAP_IO_SPACE
506 select SYS_HAS_CPU_SB1
507 select SYS_SUPPORTS_BIG_ENDIAN
508 select SYS_SUPPORTS_HIGHMEM
509 select SYS_SUPPORTS_LITTLE_ENDIAN
510
511config SIBYTE_BIGSUR
512 bool "Sibyte BCM91480B-BigSur"
513 select BOOT_ELF32
514 select DMA_COHERENT
515 select NR_CPUS_DEFAULT_4
516 select PCI_DOMAINS
517 select SIBYTE_BCM1x80
518 select SWAP_IO_SPACE
519 select SYS_HAS_CPU_SB1
520 select SYS_SUPPORTS_BIG_ENDIAN
521 select SYS_SUPPORTS_LITTLE_ENDIAN
522
Thomas Bogendoerfer14b36af2006-12-05 17:05:44 +0100523config SNI_RM
524 bool "SNI RM200/300/400"
Thomas Bogendoerfer4a0312f2006-06-13 13:59:01 +0200525 select ARC if CPU_LITTLE_ENDIAN
526 select ARC32 if CPU_LITTLE_ENDIAN
Ralf Baechle5e83d432005-10-29 19:32:41 +0100527 select ARCH_MAY_HAVE_PC_FDC
528 select BOOT_ELF32
529 select DMA_NONCOHERENT
530 select GENERIC_ISA_DMA
Ralf Baechle5e83d432005-10-29 19:32:41 +0100531 select HW_HAS_EISA
532 select HW_HAS_PCI
Thomas Bogendoerferc066a322006-12-28 18:22:32 +0100533 select IRQ_CPU
Ralf Baechle5e83d432005-10-29 19:32:41 +0100534 select I8259
535 select ISA
Ralf Baechlede61b542007-07-12 17:41:23 +0100536 select PCSPEAKER
Thomas Bogendoerfer4a0312f2006-06-13 13:59:01 +0200537 select SWAP_IO_SPACE if CPU_BIG_ENDIAN
Ralf Baechle7cf80532005-10-20 22:33:09 +0100538 select SYS_HAS_CPU_R4X00
Thomas Bogendoerfer4a0312f2006-06-13 13:59:01 +0200539 select SYS_HAS_CPU_R5000
Thomas Bogendoerferc066a322006-12-28 18:22:32 +0100540 select SYS_HAS_CPU_R10000
Thomas Bogendoerfer4a0312f2006-06-13 13:59:01 +0200541 select R5000_CPU_SCACHE
Ralf Baechle36a88532007-03-01 11:56:43 +0000542 select SYS_HAS_EARLY_PRINTK
Yoichi Yuasaed5ba2f2005-09-03 15:56:21 -0700543 select SYS_SUPPORTS_32BIT_KERNEL
Ralf Baechle5e83d432005-10-29 19:32:41 +0100544 select SYS_SUPPORTS_64BIT_KERNEL if EXPERIMENTAL
Thomas Bogendoerfer4a0312f2006-06-13 13:59:01 +0200545 select SYS_SUPPORTS_BIG_ENDIAN
Ralf Baechle5e83d432005-10-29 19:32:41 +0100546 select SYS_SUPPORTS_HIGHMEM
547 select SYS_SUPPORTS_LITTLE_ENDIAN
Linus Torvalds1da177e2005-04-16 15:20:36 -0700548 help
Thomas Bogendoerfer14b36af2006-12-05 17:05:44 +0100549 The SNI RM200/300/400 are MIPS-based machines manufactured by
550 Siemens Nixdorf Informationssysteme (SNI), parent company of Pyramid
Ralf Baechle5e83d432005-10-29 19:32:41 +0100551 Technology and now in turn merged with Fujitsu. Say Y here to
552 support this machine type.
Linus Torvalds1da177e2005-04-16 15:20:36 -0700553
Ralf Baechle5e83d432005-10-29 19:32:41 +0100554config TOSHIBA_JMR3927
Martin Michlmayr3fa986f2006-05-09 23:34:53 +0200555 bool "Toshiba JMR-TX3927 board"
Ralf Baechle5e83d432005-10-29 19:32:41 +0100556 select DMA_NONCOHERENT
557 select HW_HAS_PCI
558 select MIPS_TX3927
Atsushi Nemotoc87abd72007-08-02 23:36:02 +0900559 select IRQ_TXX9
Ralf Baechle5e83d432005-10-29 19:32:41 +0100560 select SWAP_IO_SPACE
Ralf Baechle7cf80532005-10-20 22:33:09 +0100561 select SYS_HAS_CPU_TX39XX
Ralf Baechle5e83d432005-10-29 19:32:41 +0100562 select SYS_SUPPORTS_32BIT_KERNEL
Sergei Shtylyov6a2603a2007-02-07 20:39:05 +0300563 select SYS_SUPPORTS_LITTLE_ENDIAN
Ralf Baechle5e83d432005-10-29 19:32:41 +0100564 select SYS_SUPPORTS_BIG_ENDIAN
Atsushi Nemoto21274352007-03-15 00:58:28 +0900565 select GENERIC_HARDIRQS_NO__DO_IRQ
Ralf Baechle5e83d432005-10-29 19:32:41 +0100566
567config TOSHIBA_RBTX4927
Yoichi Yuasa08a91282007-07-27 15:20:24 +0900568 bool "Toshiba RBTX49[23]7 board"
Ralf Baechle5e83d432005-10-29 19:32:41 +0100569 select DMA_NONCOHERENT
570 select HAS_TXX9_SERIAL
571 select HW_HAS_PCI
Atsushi Nemotoc87abd72007-08-02 23:36:02 +0900572 select IRQ_CPU
573 select IRQ_TXX9
574 select I8259 if TOSHIBA_FPCIB0
Ralf Baechle5e83d432005-10-29 19:32:41 +0100575 select SWAP_IO_SPACE
Ralf Baechle7cf80532005-10-20 22:33:09 +0100576 select SYS_HAS_CPU_TX49XX
Ralf Baechle5e83d432005-10-29 19:32:41 +0100577 select SYS_SUPPORTS_32BIT_KERNEL
578 select SYS_SUPPORTS_64BIT_KERNEL
Sergei Shtylyov6a2603a2007-02-07 20:39:05 +0300579 select SYS_SUPPORTS_LITTLE_ENDIAN
Ralf Baechle5e83d432005-10-29 19:32:41 +0100580 select SYS_SUPPORTS_BIG_ENDIAN
Ralf Baechlecc801072007-02-17 02:58:39 +0000581 select SYS_SUPPORTS_KGDB
Atsushi Nemoto9fd32cf2006-12-08 01:55:07 +0900582 select GENERIC_HARDIRQS_NO__DO_IRQ
Ralf Baechle5e83d432005-10-29 19:32:41 +0100583 help
584 This Toshiba board is based on the TX4927 processor. Say Y here to
585 support this machine type
Linus Torvalds1da177e2005-04-16 15:20:36 -0700586
Ralf Baechle23fbee92005-07-25 22:45:45 +0000587config TOSHIBA_RBTX4938
Martin Michlmayr3fa986f2006-05-09 23:34:53 +0200588 bool "Toshiba RBTX4938 board"
Ralf Baechle23fbee92005-07-25 22:45:45 +0000589 select DMA_NONCOHERENT
Ralf Baechle23fbee92005-07-25 22:45:45 +0000590 select HAS_TXX9_SERIAL
591 select HW_HAS_PCI
Atsushi Nemotoc87abd72007-08-02 23:36:02 +0900592 select IRQ_CPU
593 select IRQ_TXX9
Ralf Baechle23fbee92005-07-25 22:45:45 +0000594 select SWAP_IO_SPACE
Ralf Baechle7cf80532005-10-20 22:33:09 +0100595 select SYS_HAS_CPU_TX49XX
Ralf Baechle23fbee92005-07-25 22:45:45 +0000596 select SYS_SUPPORTS_32BIT_KERNEL
597 select SYS_SUPPORTS_LITTLE_ENDIAN
598 select SYS_SUPPORTS_BIG_ENDIAN
Ralf Baechlecc801072007-02-17 02:58:39 +0000599 select SYS_SUPPORTS_KGDB
Atsushi Nemoto9fd32cf2006-12-08 01:55:07 +0900600 select GENERIC_HARDIRQS_NO__DO_IRQ
Atsushi Nemoto3896b052007-06-22 23:21:55 +0900601 select GENERIC_GPIO
Ralf Baechle23fbee92005-07-25 22:45:45 +0000602 help
603 This Toshiba board is based on the TX4938 processor. Say Y here to
604 support this machine type
605
Yoichi Yuasaade299d2007-07-27 15:25:43 +0900606config WR_PPMC
607 bool "Wind River PPMC board"
608 select IRQ_CPU
609 select BOOT_ELF32
610 select DMA_NONCOHERENT
611 select HW_HAS_PCI
612 select PCI_GT64XXX_PCI0
613 select SWAP_IO_SPACE
614 select SYS_HAS_CPU_MIPS32_R1
615 select SYS_HAS_CPU_MIPS32_R2
616 select SYS_HAS_CPU_MIPS64_R1
617 select SYS_HAS_CPU_NEVADA
618 select SYS_HAS_CPU_RM7000
619 select SYS_SUPPORTS_32BIT_KERNEL
620 select SYS_SUPPORTS_64BIT_KERNEL
621 select SYS_SUPPORTS_BIG_ENDIAN
622 select SYS_SUPPORTS_LITTLE_ENDIAN
623 help
624 This enables support for the Wind River MIPS32 4KC PPMC evaluation
625 board, which is based on GT64120 bridge chip.
626
Linus Torvalds1da177e2005-04-16 15:20:36 -0700627endchoice
628
Yoichi Yuasac3543e22007-05-11 20:44:30 +0900629source "arch/mips/au1000/Kconfig"
Ralf Baechle5e83d432005-10-29 19:32:41 +0100630source "arch/mips/jazz/Kconfig"
Brian Murphy1f21d2b2007-08-21 22:34:16 +0200631source "arch/mips/lasat/Kconfig"
Ralf Baechle5e83d432005-10-29 19:32:41 +0100632source "arch/mips/pmc-sierra/Kconfig"
Ralf Baechle29c48692005-02-07 01:27:14 +0000633source "arch/mips/sgi-ip27/Kconfig"
Ralf Baechle38b18f72005-02-03 14:28:23 +0000634source "arch/mips/sibyte/Kconfig"
Ralf Baechle5e83d432005-10-29 19:32:41 +0100635source "arch/mips/tx4927/Kconfig"
Ralf Baechle23fbee92005-07-25 22:45:45 +0000636source "arch/mips/tx4938/Kconfig"
Ralf Baechle5e83d432005-10-29 19:32:41 +0100637source "arch/mips/vr41xx/Kconfig"
Ralf Baechle38b18f72005-02-03 14:28:23 +0000638
Ralf Baechle5e83d432005-10-29 19:32:41 +0100639endmenu
640
Linus Torvalds1da177e2005-04-16 15:20:36 -0700641config RWSEM_GENERIC_SPINLOCK
642 bool
643 default y
644
645config RWSEM_XCHGADD_ALGORITHM
646 bool
647
David Howellsf0d1b0b2006-12-08 02:37:49 -0800648config ARCH_HAS_ILOG2_U32
649 bool
650 default n
651
652config ARCH_HAS_ILOG2_U64
653 bool
654 default n
655
Akinobu Mita3c9ee7e2006-03-26 01:39:30 -0800656config GENERIC_FIND_NEXT_BIT
657 bool
658 default y
659
660config GENERIC_HWEIGHT
661 bool
662 default y
663
Linus Torvalds1da177e2005-04-16 15:20:36 -0700664config GENERIC_CALIBRATE_DELAY
665 bool
666 default y
667
Ralf Baechle8db02012006-10-02 16:54:48 +0100668config GENERIC_TIME
669 bool
670 default y
671
Atsushi Nemoto1cc89032006-04-04 13:11:45 +0900672config SCHED_NO_NO_OMIT_FRAME_POINTER
673 bool
674 default y
675
Franck Bui-Huue77c2322006-12-01 18:22:27 +0100676config GENERIC_HARDIRQS_NO__DO_IRQ
677 bool
678 default n
679
Linus Torvalds1da177e2005-04-16 15:20:36 -0700680#
681# Select some configuration options automatically based on user selections.
682#
683config ARC
684 bool
Linus Torvalds1da177e2005-04-16 15:20:36 -0700685
Ralf Baechle61ed2422005-09-15 08:52:34 +0000686config ARCH_MAY_HAVE_PC_FDC
687 bool
688
Marc St-Jean9267a302007-06-14 15:55:31 -0600689config BOOT_RAW
690 bool
691
Ralf Baechle4ce588c2005-09-03 15:56:19 -0700692config DMA_COHERENT
Linus Torvalds1da177e2005-04-16 15:20:36 -0700693 bool
694
Ralf Baechle4ce588c2005-09-03 15:56:19 -0700695config DMA_IP27
Linus Torvalds1da177e2005-04-16 15:20:36 -0700696 bool
697
Ralf Baechle4ce588c2005-09-03 15:56:19 -0700698config DMA_IP32
699 bool
700 select DMA_NEED_PCI_MAP_STATE
701
702config DMA_NONCOHERENT
703 bool
704 select DMA_NEED_PCI_MAP_STATE
705
706config DMA_NEED_PCI_MAP_STATE
Linus Torvalds1da177e2005-04-16 15:20:36 -0700707 bool
708
709config EARLY_PRINTK
Ralf Baechle36a88532007-03-01 11:56:43 +0000710 bool "Early printk" if EMBEDDED && DEBUG_KERNEL
711 depends on SYS_HAS_EARLY_PRINTK
712 default y
713 help
714 This option enables special console drivers which allow the kernel
715 to print messages very early in the bootup process.
716
717 This is useful for kernel debugging when your machine crashes very
Robert P. J. Day490dcc42007-05-20 12:11:07 -0400718 early before the console code is initialized. For normal operation,
719 it is not recommended because it looks ugly on some machines and
720 doesn't cooperate with an X server. You should normally say N here,
Ralf Baechle36a88532007-03-01 11:56:43 +0000721 unless you want to debug such a crash.
722
723config SYS_HAS_EARLY_PRINTK
Linus Torvalds1da177e2005-04-16 15:20:36 -0700724 bool
Linus Torvalds1da177e2005-04-16 15:20:36 -0700725
Ralf Baechledbb74542007-08-07 14:52:17 +0100726config HOTPLUG_CPU
727 bool
728 default n
729
Linus Torvalds1da177e2005-04-16 15:20:36 -0700730config I8259
731 bool
Linus Torvalds1da177e2005-04-16 15:20:36 -0700732
Linus Torvalds1da177e2005-04-16 15:20:36 -0700733config MIPS_BONITO64
734 bool
Linus Torvalds1da177e2005-04-16 15:20:36 -0700735
736config MIPS_MSC
737 bool
Linus Torvalds1da177e2005-04-16 15:20:36 -0700738
Brian Murphy1f21d2b2007-08-21 22:34:16 +0200739config MIPS_NILE4
740 bool
741
Linus Torvalds1da177e2005-04-16 15:20:36 -0700742config MIPS_DISABLE_OBSOLETE_IDE
743 bool
744
Maciej W. Rozyckid388d682007-05-29 15:08:07 +0100745config NO_IOPORT
746 def_bool n
747
Ralf Baechle8313da32007-08-24 16:48:30 +0100748config GENERIC_ISA_DMA
749 bool
750 select ZONE_DMA if GENERIC_ISA_DMA_SUPPORT_BROKEN=n
751
Ralf Baechleaa414df2006-11-30 01:14:51 +0000752config GENERIC_ISA_DMA_SUPPORT_BROKEN
753 bool
Ralf Baechle8313da32007-08-24 16:48:30 +0100754 select GENERIC_ISA_DMA
Ralf Baechleaa414df2006-11-30 01:14:51 +0000755
Yoichi Yuasa09663332007-05-22 00:05:58 +0900756config GENERIC_GPIO
757 bool
758
Ralf Baechle5e83d432005-10-29 19:32:41 +0100759#
Matt LaPlante3cb2fcc2006-11-30 05:22:59 +0100760# Endianess selection. Sufficiently obscure so many users don't know what to
Ralf Baechle5e83d432005-10-29 19:32:41 +0100761# answer,so we try hard to limit the available choices. Also the use of a
762# choice statement should be more obvious to the user.
763#
764choice
765 prompt "Endianess selection"
Linus Torvalds1da177e2005-04-16 15:20:36 -0700766 help
767 Some MIPS machines can be configured for either little or big endian
Ralf Baechle5e83d432005-10-29 19:32:41 +0100768 byte order. These modes require different kernels and a different
Matt LaPlante3cb2fcc2006-11-30 05:22:59 +0100769 Linux distribution. In general there is one preferred byteorder for a
Ralf Baechle5e83d432005-10-29 19:32:41 +0100770 particular system but some systems are just as commonly used in the
David Sterba3dde6ad2007-05-09 07:12:20 +0200771 one or the other endianness.
Ralf Baechle5e83d432005-10-29 19:32:41 +0100772
773config CPU_BIG_ENDIAN
774 bool "Big endian"
775 depends on SYS_SUPPORTS_BIG_ENDIAN
776
777config CPU_LITTLE_ENDIAN
778 bool "Little endian"
779 depends on SYS_SUPPORTS_LITTLE_ENDIAN
780 help
781
782endchoice
783
Ralf Baechle21162452007-02-09 17:08:58 +0000784config SYS_SUPPORTS_APM_EMULATION
785 bool
786
Ralf Baechle5e83d432005-10-29 19:32:41 +0100787config SYS_SUPPORTS_BIG_ENDIAN
788 bool
789
790config SYS_SUPPORTS_LITTLE_ENDIAN
791 bool
Linus Torvalds1da177e2005-04-16 15:20:36 -0700792
793config IRQ_CPU
794 bool
795
796config IRQ_CPU_RM7K
797 bool
798
Ralf Baechle5e83d432005-10-29 19:32:41 +0100799config IRQ_CPU_RM9K
800 bool
801
Marc St-Jean9267a302007-06-14 15:55:31 -0600802config IRQ_MSP_SLP
803 bool
804
805config IRQ_MSP_CIC
806 bool
807
Atsushi Nemoto8420fd02007-08-02 23:35:53 +0900808config IRQ_TXX9
809 bool
810
Linus Torvalds1da177e2005-04-16 15:20:36 -0700811config MIPS_BOARDS_GEN
812 bool
Linus Torvalds1da177e2005-04-16 15:20:36 -0700813
Yoichi Yuasa252161e2007-03-14 21:51:26 +0900814config PCI_GT64XXX_PCI0
Linus Torvalds1da177e2005-04-16 15:20:36 -0700815 bool
Linus Torvalds1da177e2005-04-16 15:20:36 -0700816
Marc St-Jean9267a302007-06-14 15:55:31 -0600817config NO_EXCEPT_FILL
818 bool
819
Linus Torvalds1da177e2005-04-16 15:20:36 -0700820config MIPS_TX3927
821 bool
Linus Torvalds1da177e2005-04-16 15:20:36 -0700822 select HAS_TXX9_SERIAL
Linus Torvalds1da177e2005-04-16 15:20:36 -0700823
thomas@koeller.dyndns.org663c3d92006-08-27 13:51:48 +0200824config MIPS_RM9122
825 bool
826 select SERIAL_RM9000
thomas@koeller.dyndns.org663c3d92006-08-27 13:51:48 +0200827
Pete Popovbdf21b12005-07-14 17:47:57 +0000828config PNX8550
829 bool
830 select SOC_PNX8550
831
832config SOC_PNX8550
833 bool
Pete Popovbdf21b12005-07-14 17:47:57 +0000834 select DMA_NONCOHERENT
835 select HW_HAS_PCI
Ralf Baechleb8c2a772005-10-31 13:08:37 +0000836 select SYS_HAS_CPU_MIPS32_R1
Ralf Baechle36a88532007-03-01 11:56:43 +0000837 select SYS_HAS_EARLY_PRINTK
Ralf Baechle7cf80532005-10-20 22:33:09 +0100838 select SYS_SUPPORTS_32BIT_KERNEL
Franck Bui-Huue77c2322006-12-01 18:22:27 +0100839 select GENERIC_HARDIRQS_NO__DO_IRQ
Ralf Baechlecc801072007-02-17 02:58:39 +0000840 select SYS_SUPPORTS_KGDB
Florian Fainelli4ead1682007-05-22 21:44:42 +0200841 select GENERIC_GPIO
Pete Popovbdf21b12005-07-14 17:47:57 +0000842
Linus Torvalds1da177e2005-04-16 15:20:36 -0700843config SWAP_IO_SPACE
844 bool
845
dmitry pervushin355c4712006-05-21 14:53:06 +0400846config EMMA2RH
847 bool
848 depends on MARKEINS
849 default y
850
thomas@koeller.dyndns.org663c3d92006-08-27 13:51:48 +0200851config SERIAL_RM9000
852 bool
853
Ralf Baechle5e83d432005-10-29 19:32:41 +0100854config ARC32
855 bool
856
Linus Torvalds1da177e2005-04-16 15:20:36 -0700857config BOOT_ELF32
858 bool
Linus Torvalds1da177e2005-04-16 15:20:36 -0700859
860config MIPS_L1_CACHE_SHIFT
861 int
Thomas Bogendoerfer06cf5582007-06-20 23:36:47 +0200862 default "4" if MACH_DECSTATION
863 default "7" if SGI_IP27 || SNI_RM
Marc St-Jean9267a302007-06-14 15:55:31 -0600864 default "4" if PMC_MSP4200_EVAL
Linus Torvalds1da177e2005-04-16 15:20:36 -0700865 default "5"
866
Linus Torvalds1da177e2005-04-16 15:20:36 -0700867config HAVE_STD_PC_SERIAL_PORT
868 bool
869
Linus Torvalds1da177e2005-04-16 15:20:36 -0700870config ARC_CONSOLE
871 bool "ARC console support"
Ralf Baechle36a88532007-03-01 11:56:43 +0000872 depends on SGI_IP22 || (SNI_RM && CPU_LITTLE_ENDIAN)
Linus Torvalds1da177e2005-04-16 15:20:36 -0700873
874config ARC_MEMORY
875 bool
Thomas Bogendoerfer14b36af2006-12-05 17:05:44 +0100876 depends on MACH_JAZZ || SNI_RM || SGI_IP32
Linus Torvalds1da177e2005-04-16 15:20:36 -0700877 default y
878
879config ARC_PROMLIB
880 bool
Thomas Bogendoerfer14b36af2006-12-05 17:05:44 +0100881 depends on MACH_JAZZ || SNI_RM || SGI_IP22 || SGI_IP32
Linus Torvalds1da177e2005-04-16 15:20:36 -0700882 default y
883
884config ARC64
885 bool
Linus Torvalds1da177e2005-04-16 15:20:36 -0700886
887config BOOT_ELF64
888 bool
Linus Torvalds1da177e2005-04-16 15:20:36 -0700889
Linus Torvalds1da177e2005-04-16 15:20:36 -0700890menu "CPU selection"
891
892choice
893 prompt "CPU type"
894 default CPU_R4X00
895
Fuxin Zhang2a21c732007-06-06 14:52:43 +0800896config CPU_LOONGSON2
897 bool "Loongson 2"
898 depends on SYS_HAS_CPU_LOONGSON2
899 select CPU_SUPPORTS_32BIT_KERNEL
900 select CPU_SUPPORTS_64BIT_KERNEL
901 select CPU_SUPPORTS_HIGHMEM
902 help
903 The Loongson 2E processor implements the MIPS III instruction set
904 with many extensions.
905
Ralf Baechle6e760c82005-07-06 12:08:11 +0000906config CPU_MIPS32_R1
907 bool "MIPS32 Release 1"
Ralf Baechle7cf80532005-10-20 22:33:09 +0100908 depends on SYS_HAS_CPU_MIPS32_R1
Ralf Baechlef7062dd2006-04-24 14:58:53 +0100909 select CPU_HAS_LLSC
Ralf Baechle6e760c82005-07-06 12:08:11 +0000910 select CPU_HAS_PREFETCH
Ralf Baechle797798c2005-08-10 15:17:11 +0000911 select CPU_SUPPORTS_32BIT_KERNEL
Ralf Baechleec28f302006-03-05 00:45:33 +0000912 select CPU_SUPPORTS_HIGHMEM
Ralf Baechle6e760c82005-07-06 12:08:11 +0000913 help
Ralf Baechle5e83d432005-10-29 19:32:41 +0100914 Choose this option to build a kernel for release 1 or later of the
Ralf Baechle1e5f1ca2005-07-12 14:51:22 +0000915 MIPS32 architecture. Most modern embedded systems with a 32-bit
916 MIPS processor are based on a MIPS32 processor. If you know the
917 specific type of processor in your system, choose those that one
918 otherwise CPU_MIPS32_R1 is a safe bet for any MIPS32 system.
919 Release 2 of the MIPS32 architecture is available since several
920 years so chances are you even have a MIPS32 Release 2 processor
921 in which case you should choose CPU_MIPS32_R2 instead for better
922 performance.
923
924config CPU_MIPS32_R2
925 bool "MIPS32 Release 2"
Ralf Baechle7cf80532005-10-20 22:33:09 +0100926 depends on SYS_HAS_CPU_MIPS32_R2
Ralf Baechlef7062dd2006-04-24 14:58:53 +0100927 select CPU_HAS_LLSC
Ralf Baechle1e5f1ca2005-07-12 14:51:22 +0000928 select CPU_HAS_PREFETCH
Ralf Baechle797798c2005-08-10 15:17:11 +0000929 select CPU_SUPPORTS_32BIT_KERNEL
Ralf Baechleec28f302006-03-05 00:45:33 +0000930 select CPU_SUPPORTS_HIGHMEM
Ralf Baechle1e5f1ca2005-07-12 14:51:22 +0000931 help
Ralf Baechle5e83d432005-10-29 19:32:41 +0100932 Choose this option to build a kernel for release 2 or later of the
Ralf Baechle6e760c82005-07-06 12:08:11 +0000933 MIPS32 architecture. Most modern embedded systems with a 32-bit
934 MIPS processor are based on a MIPS32 processor. If you know the
935 specific type of processor in your system, choose those that one
936 otherwise CPU_MIPS32_R1 is a safe bet for any MIPS32 system.
Linus Torvalds1da177e2005-04-16 15:20:36 -0700937
Ralf Baechle6e760c82005-07-06 12:08:11 +0000938config CPU_MIPS64_R1
939 bool "MIPS64 Release 1"
Ralf Baechle7cf80532005-10-20 22:33:09 +0100940 depends on SYS_HAS_CPU_MIPS64_R1
Ralf Baechlef7062dd2006-04-24 14:58:53 +0100941 select CPU_HAS_LLSC
Ralf Baechle797798c2005-08-10 15:17:11 +0000942 select CPU_HAS_PREFETCH
Yoichi Yuasaed5ba2f2005-09-03 15:56:21 -0700943 select CPU_SUPPORTS_32BIT_KERNEL
944 select CPU_SUPPORTS_64BIT_KERNEL
Ralf Baechleec28f302006-03-05 00:45:33 +0000945 select CPU_SUPPORTS_HIGHMEM
Ralf Baechle6e760c82005-07-06 12:08:11 +0000946 help
947 Choose this option to build a kernel for release 1 or later of the
948 MIPS64 architecture. Many modern embedded systems with a 64-bit
949 MIPS processor are based on a MIPS64 processor. If you know the
950 specific type of processor in your system, choose those that one
951 otherwise CPU_MIPS64_R1 is a safe bet for any MIPS64 system.
Ralf Baechle1e5f1ca2005-07-12 14:51:22 +0000952 Release 2 of the MIPS64 architecture is available since several
953 years so chances are you even have a MIPS64 Release 2 processor
954 in which case you should choose CPU_MIPS64_R2 instead for better
955 performance.
956
957config CPU_MIPS64_R2
958 bool "MIPS64 Release 2"
Ralf Baechle7cf80532005-10-20 22:33:09 +0100959 depends on SYS_HAS_CPU_MIPS64_R2
Ralf Baechlef7062dd2006-04-24 14:58:53 +0100960 select CPU_HAS_LLSC
Ralf Baechle797798c2005-08-10 15:17:11 +0000961 select CPU_HAS_PREFETCH
Ralf Baechle1e5f1ca2005-07-12 14:51:22 +0000962 select CPU_SUPPORTS_32BIT_KERNEL
963 select CPU_SUPPORTS_64BIT_KERNEL
Ralf Baechleec28f302006-03-05 00:45:33 +0000964 select CPU_SUPPORTS_HIGHMEM
Ralf Baechle1e5f1ca2005-07-12 14:51:22 +0000965 help
966 Choose this option to build a kernel for release 2 or later of the
967 MIPS64 architecture. Many modern embedded systems with a 64-bit
968 MIPS processor are based on a MIPS64 processor. If you know the
969 specific type of processor in your system, choose those that one
970 otherwise CPU_MIPS64_R1 is a safe bet for any MIPS64 system.
Linus Torvalds1da177e2005-04-16 15:20:36 -0700971
972config CPU_R3000
973 bool "R3000"
Ralf Baechle7cf80532005-10-20 22:33:09 +0100974 depends on SYS_HAS_CPU_R3000
Ralf Baechlef7062dd2006-04-24 14:58:53 +0100975 select CPU_HAS_WB
Yoichi Yuasaed5ba2f2005-09-03 15:56:21 -0700976 select CPU_SUPPORTS_32BIT_KERNEL
Ralf Baechle797798c2005-08-10 15:17:11 +0000977 select CPU_SUPPORTS_HIGHMEM
Linus Torvalds1da177e2005-04-16 15:20:36 -0700978 help
979 Please make sure to pick the right CPU type. Linux/MIPS is not
980 designed to be generic, i.e. Kernels compiled for R3000 CPUs will
981 *not* work on R4000 machines and vice versa. However, since most
982 of the supported machines have an R4000 (or similar) CPU, R4x00
983 might be a safe bet. If the resulting kernel does not work,
984 try to recompile with R3000.
985
986config CPU_TX39XX
987 bool "R39XX"
Ralf Baechle7cf80532005-10-20 22:33:09 +0100988 depends on SYS_HAS_CPU_TX39XX
Yoichi Yuasaed5ba2f2005-09-03 15:56:21 -0700989 select CPU_SUPPORTS_32BIT_KERNEL
Linus Torvalds1da177e2005-04-16 15:20:36 -0700990
991config CPU_VR41XX
992 bool "R41xx"
Ralf Baechle7cf80532005-10-20 22:33:09 +0100993 depends on SYS_HAS_CPU_VR41XX
Yoichi Yuasaed5ba2f2005-09-03 15:56:21 -0700994 select CPU_SUPPORTS_32BIT_KERNEL
995 select CPU_SUPPORTS_64BIT_KERNEL
Linus Torvalds1da177e2005-04-16 15:20:36 -0700996 help
Ralf Baechle5e83d432005-10-29 19:32:41 +0100997 The options selects support for the NEC VR4100 series of processors.
Linus Torvalds1da177e2005-04-16 15:20:36 -0700998 Only choose this option if you have one of these processors as a
999 kernel built with this option will not run on any other type of
1000 processor or vice versa.
1001
1002config CPU_R4300
1003 bool "R4300"
Ralf Baechle7cf80532005-10-20 22:33:09 +01001004 depends on SYS_HAS_CPU_R4300
Ralf Baechlef7062dd2006-04-24 14:58:53 +01001005 select CPU_HAS_LLSC
Yoichi Yuasaed5ba2f2005-09-03 15:56:21 -07001006 select CPU_SUPPORTS_32BIT_KERNEL
1007 select CPU_SUPPORTS_64BIT_KERNEL
Linus Torvalds1da177e2005-04-16 15:20:36 -07001008 help
1009 MIPS Technologies R4300-series processors.
1010
1011config CPU_R4X00
1012 bool "R4x00"
Ralf Baechle7cf80532005-10-20 22:33:09 +01001013 depends on SYS_HAS_CPU_R4X00
Ralf Baechlef7062dd2006-04-24 14:58:53 +01001014 select CPU_HAS_LLSC
Yoichi Yuasaed5ba2f2005-09-03 15:56:21 -07001015 select CPU_SUPPORTS_32BIT_KERNEL
1016 select CPU_SUPPORTS_64BIT_KERNEL
Linus Torvalds1da177e2005-04-16 15:20:36 -07001017 help
1018 MIPS Technologies R4000-series processors other than 4300, including
1019 the R4000, R4400, R4600, and 4700.
1020
1021config CPU_TX49XX
1022 bool "R49XX"
Ralf Baechle7cf80532005-10-20 22:33:09 +01001023 depends on SYS_HAS_CPU_TX49XX
Ralf Baechlef7062dd2006-04-24 14:58:53 +01001024 select CPU_HAS_LLSC
Atsushi Nemotode862b42006-03-17 12:59:22 +09001025 select CPU_HAS_PREFETCH
Yoichi Yuasaed5ba2f2005-09-03 15:56:21 -07001026 select CPU_SUPPORTS_32BIT_KERNEL
1027 select CPU_SUPPORTS_64BIT_KERNEL
Linus Torvalds1da177e2005-04-16 15:20:36 -07001028
1029config CPU_R5000
1030 bool "R5000"
Ralf Baechle7cf80532005-10-20 22:33:09 +01001031 depends on SYS_HAS_CPU_R5000
Ralf Baechlef7062dd2006-04-24 14:58:53 +01001032 select CPU_HAS_LLSC
Yoichi Yuasaed5ba2f2005-09-03 15:56:21 -07001033 select CPU_SUPPORTS_32BIT_KERNEL
1034 select CPU_SUPPORTS_64BIT_KERNEL
Linus Torvalds1da177e2005-04-16 15:20:36 -07001035 help
1036 MIPS Technologies R5000-series processors other than the Nevada.
1037
1038config CPU_R5432
1039 bool "R5432"
Ralf Baechle7cf80532005-10-20 22:33:09 +01001040 depends on SYS_HAS_CPU_R5432
Ralf Baechlef7062dd2006-04-24 14:58:53 +01001041 select CPU_HAS_LLSC
Ralf Baechle5e83d432005-10-29 19:32:41 +01001042 select CPU_SUPPORTS_32BIT_KERNEL
1043 select CPU_SUPPORTS_64BIT_KERNEL
Linus Torvalds1da177e2005-04-16 15:20:36 -07001044
1045config CPU_R6000
1046 bool "R6000"
Yoichi Yuasaed5ba2f2005-09-03 15:56:21 -07001047 depends on EXPERIMENTAL
Ralf Baechlef7062dd2006-04-24 14:58:53 +01001048 select CPU_HAS_LLSC
Ralf Baechle7cf80532005-10-20 22:33:09 +01001049 depends on SYS_HAS_CPU_R6000
Yoichi Yuasaed5ba2f2005-09-03 15:56:21 -07001050 select CPU_SUPPORTS_32BIT_KERNEL
Linus Torvalds1da177e2005-04-16 15:20:36 -07001051 help
1052 MIPS Technologies R6000 and R6000A series processors. Note these
Chris Dearmanc09b47d2006-06-20 17:15:20 +01001053 processors are extremely rare and the support for them is incomplete.
Linus Torvalds1da177e2005-04-16 15:20:36 -07001054
1055config CPU_NEVADA
1056 bool "RM52xx"
Ralf Baechle7cf80532005-10-20 22:33:09 +01001057 depends on SYS_HAS_CPU_NEVADA
Ralf Baechlef7062dd2006-04-24 14:58:53 +01001058 select CPU_HAS_LLSC
Yoichi Yuasaed5ba2f2005-09-03 15:56:21 -07001059 select CPU_SUPPORTS_32BIT_KERNEL
1060 select CPU_SUPPORTS_64BIT_KERNEL
Linus Torvalds1da177e2005-04-16 15:20:36 -07001061 help
1062 QED / PMC-Sierra RM52xx-series ("Nevada") processors.
1063
1064config CPU_R8000
1065 bool "R8000"
Yoichi Yuasaed5ba2f2005-09-03 15:56:21 -07001066 depends on EXPERIMENTAL
Ralf Baechle7cf80532005-10-20 22:33:09 +01001067 depends on SYS_HAS_CPU_R8000
Ralf Baechlef7062dd2006-04-24 14:58:53 +01001068 select CPU_HAS_LLSC
Ralf Baechle5e83d432005-10-29 19:32:41 +01001069 select CPU_HAS_PREFETCH
Yoichi Yuasaed5ba2f2005-09-03 15:56:21 -07001070 select CPU_SUPPORTS_64BIT_KERNEL
Linus Torvalds1da177e2005-04-16 15:20:36 -07001071 help
1072 MIPS Technologies R8000 processors. Note these processors are
1073 uncommon and the support for them is incomplete.
1074
1075config CPU_R10000
1076 bool "R10000"
Ralf Baechle7cf80532005-10-20 22:33:09 +01001077 depends on SYS_HAS_CPU_R10000
Ralf Baechlef7062dd2006-04-24 14:58:53 +01001078 select CPU_HAS_LLSC
Ralf Baechle5e83d432005-10-29 19:32:41 +01001079 select CPU_HAS_PREFETCH
Yoichi Yuasaed5ba2f2005-09-03 15:56:21 -07001080 select CPU_SUPPORTS_32BIT_KERNEL
1081 select CPU_SUPPORTS_64BIT_KERNEL
Ralf Baechle797798c2005-08-10 15:17:11 +00001082 select CPU_SUPPORTS_HIGHMEM
Linus Torvalds1da177e2005-04-16 15:20:36 -07001083 help
1084 MIPS Technologies R10000-series processors.
1085
1086config CPU_RM7000
1087 bool "RM7000"
Ralf Baechle7cf80532005-10-20 22:33:09 +01001088 depends on SYS_HAS_CPU_RM7000
Ralf Baechlef7062dd2006-04-24 14:58:53 +01001089 select CPU_HAS_LLSC
Ralf Baechle5e83d432005-10-29 19:32:41 +01001090 select CPU_HAS_PREFETCH
Yoichi Yuasaed5ba2f2005-09-03 15:56:21 -07001091 select CPU_SUPPORTS_32BIT_KERNEL
1092 select CPU_SUPPORTS_64BIT_KERNEL
Ralf Baechle797798c2005-08-10 15:17:11 +00001093 select CPU_SUPPORTS_HIGHMEM
Linus Torvalds1da177e2005-04-16 15:20:36 -07001094
1095config CPU_RM9000
1096 bool "RM9000"
Ralf Baechle7cf80532005-10-20 22:33:09 +01001097 depends on SYS_HAS_CPU_RM9000
Ralf Baechlef7062dd2006-04-24 14:58:53 +01001098 select CPU_HAS_LLSC
Ralf Baechle5e83d432005-10-29 19:32:41 +01001099 select CPU_HAS_PREFETCH
Yoichi Yuasaed5ba2f2005-09-03 15:56:21 -07001100 select CPU_SUPPORTS_32BIT_KERNEL
1101 select CPU_SUPPORTS_64BIT_KERNEL
Ralf Baechle797798c2005-08-10 15:17:11 +00001102 select CPU_SUPPORTS_HIGHMEM
Ralf Baechle0004a9d2006-10-31 03:45:07 +00001103 select WEAK_ORDERING
Linus Torvalds1da177e2005-04-16 15:20:36 -07001104
1105config CPU_SB1
1106 bool "SB1"
Ralf Baechle7cf80532005-10-20 22:33:09 +01001107 depends on SYS_HAS_CPU_SB1
Ralf Baechlef7062dd2006-04-24 14:58:53 +01001108 select CPU_HAS_LLSC
Yoichi Yuasaed5ba2f2005-09-03 15:56:21 -07001109 select CPU_SUPPORTS_32BIT_KERNEL
1110 select CPU_SUPPORTS_64BIT_KERNEL
Ralf Baechle797798c2005-08-10 15:17:11 +00001111 select CPU_SUPPORTS_HIGHMEM
Ralf Baechle0004a9d2006-10-31 03:45:07 +00001112 select WEAK_ORDERING
Linus Torvalds1da177e2005-04-16 15:20:36 -07001113
1114endchoice
1115
Fuxin Zhang2a21c732007-06-06 14:52:43 +08001116config SYS_HAS_CPU_LOONGSON2
1117 bool
1118
Ralf Baechle7cf80532005-10-20 22:33:09 +01001119config SYS_HAS_CPU_MIPS32_R1
1120 bool
1121
1122config SYS_HAS_CPU_MIPS32_R2
1123 bool
1124
1125config SYS_HAS_CPU_MIPS64_R1
1126 bool
1127
1128config SYS_HAS_CPU_MIPS64_R2
1129 bool
1130
1131config SYS_HAS_CPU_R3000
1132 bool
1133
1134config SYS_HAS_CPU_TX39XX
1135 bool
1136
1137config SYS_HAS_CPU_VR41XX
1138 bool
1139
1140config SYS_HAS_CPU_R4300
1141 bool
1142
1143config SYS_HAS_CPU_R4X00
1144 bool
1145
1146config SYS_HAS_CPU_TX49XX
1147 bool
1148
1149config SYS_HAS_CPU_R5000
1150 bool
1151
1152config SYS_HAS_CPU_R5432
1153 bool
1154
1155config SYS_HAS_CPU_R6000
1156 bool
1157
1158config SYS_HAS_CPU_NEVADA
1159 bool
1160
1161config SYS_HAS_CPU_R8000
1162 bool
1163
1164config SYS_HAS_CPU_R10000
1165 bool
1166
1167config SYS_HAS_CPU_RM7000
1168 bool
1169
1170config SYS_HAS_CPU_RM9000
1171 bool
1172
1173config SYS_HAS_CPU_SB1
1174 bool
1175
Ralf Baechle17099b12007-07-14 13:24:05 +01001176#
1177# CPU may reorder R->R, R->W, W->R, W->W
1178# Reordering beyond LL and SC is handled in WEAK_REORDERING_BEYOND_LLSC
1179#
Ralf Baechle0004a9d2006-10-31 03:45:07 +00001180config WEAK_ORDERING
1181 bool
Ralf Baechle17099b12007-07-14 13:24:05 +01001182
1183#
1184# CPU may reorder reads and writes beyond LL/SC
1185# CPU may reorder R->LL, R->LL, W->LL, W->LL, R->SC, R->SC, W->SC, W->SC
1186#
1187config WEAK_REORDERING_BEYOND_LLSC
1188 bool
Ralf Baechle5e83d432005-10-29 19:32:41 +01001189endmenu
1190
1191#
Chris Dearmanc09b47d2006-06-20 17:15:20 +01001192# These two indicate any level of the MIPS32 and MIPS64 architecture
Ralf Baechle5e83d432005-10-29 19:32:41 +01001193#
1194config CPU_MIPS32
1195 bool
1196 default y if CPU_MIPS32_R1 || CPU_MIPS32_R2
1197
1198config CPU_MIPS64
1199 bool
1200 default y if CPU_MIPS64_R1 || CPU_MIPS64_R2
1201
1202#
Chris Dearmanc09b47d2006-06-20 17:15:20 +01001203# These two indicate the revision of the architecture, either Release 1 or Release 2
Ralf Baechle5e83d432005-10-29 19:32:41 +01001204#
1205config CPU_MIPSR1
1206 bool
1207 default y if CPU_MIPS32_R1 || CPU_MIPS64_R1
1208
1209config CPU_MIPSR2
1210 bool
1211 default y if CPU_MIPS32_R2 || CPU_MIPS64_R2
1212
1213config SYS_SUPPORTS_32BIT_KERNEL
1214 bool
1215config SYS_SUPPORTS_64BIT_KERNEL
1216 bool
1217config CPU_SUPPORTS_32BIT_KERNEL
1218 bool
1219config CPU_SUPPORTS_64BIT_KERNEL
1220 bool
1221
1222menu "Kernel type"
1223
1224choice
1225
1226 prompt "Kernel code model"
1227 help
1228 You should only select this option if you have a workload that
1229 actually benefits from 64-bit processing or if your machine has
1230 large memory. You will only be presented a single option in this
1231 menu if your system does not support both 32-bit and 64-bit kernels.
1232
1233config 32BIT
1234 bool "32-bit kernel"
1235 depends on CPU_SUPPORTS_32BIT_KERNEL && SYS_SUPPORTS_32BIT_KERNEL
1236 select TRAD_SIGNALS
1237 help
1238 Select this option if you want to build a 32-bit kernel.
1239config 64BIT
1240 bool "64-bit kernel"
1241 depends on CPU_SUPPORTS_64BIT_KERNEL && SYS_SUPPORTS_64BIT_KERNEL
1242 help
1243 Select this option if you want to build a 64-bit kernel.
1244
1245endchoice
1246
Linus Torvalds1da177e2005-04-16 15:20:36 -07001247choice
1248 prompt "Kernel page size"
1249 default PAGE_SIZE_4KB
1250
1251config PAGE_SIZE_4KB
1252 bool "4kB"
1253 help
1254 This option select the standard 4kB Linux page size. On some
1255 R3000-family processors this is the only available page size. Using
1256 4kB page size will minimize memory consumption and is therefore
1257 recommended for low memory systems.
1258
1259config PAGE_SIZE_8KB
1260 bool "8kB"
1261 depends on EXPERIMENTAL && CPU_R8000
1262 help
1263 Using 8kB page size will result in higher performance kernel at
1264 the price of higher memory consumption. This option is available
1265 only on the R8000 processor. Not that at the time of this writing
1266 this option is still high experimental; there are also issues with
1267 compatibility of user applications.
1268
1269config PAGE_SIZE_16KB
1270 bool "16kB"
Ralf Baechle714bfad2006-05-17 14:04:30 +01001271 depends on !CPU_R3000 && !CPU_TX39XX
Linus Torvalds1da177e2005-04-16 15:20:36 -07001272 help
1273 Using 16kB page size will result in higher performance kernel at
1274 the price of higher memory consumption. This option is available on
Ralf Baechle714bfad2006-05-17 14:04:30 +01001275 all non-R3000 family processors. Note that you will need a suitable
1276 Linux distribution to support this.
Linus Torvalds1da177e2005-04-16 15:20:36 -07001277
1278config PAGE_SIZE_64KB
1279 bool "64kB"
1280 depends on EXPERIMENTAL && !CPU_R3000 && !CPU_TX39XX
1281 help
1282 Using 64kB page size will result in higher performance kernel at
1283 the price of higher memory consumption. This option is available on
1284 all non-R3000 family processor. Not that at the time of this
Ralf Baechle714bfad2006-05-17 14:04:30 +01001285 writing this option is still high experimental.
Linus Torvalds1da177e2005-04-16 15:20:36 -07001286
1287endchoice
1288
1289config BOARD_SCACHE
1290 bool
1291
1292config IP22_CPU_SCACHE
1293 bool
1294 select BOARD_SCACHE
1295
Chris Dearman9318c512006-06-20 17:15:20 +01001296#
1297# Support for a MIPS32 / MIPS64 style S-caches
1298#
1299config MIPS_CPU_SCACHE
1300 bool
1301 select BOARD_SCACHE
1302
Linus Torvalds1da177e2005-04-16 15:20:36 -07001303config R5000_CPU_SCACHE
1304 bool
1305 select BOARD_SCACHE
1306
1307config RM7000_CPU_SCACHE
1308 bool
1309 select BOARD_SCACHE
1310
1311config SIBYTE_DMA_PAGEOPS
1312 bool "Use DMA to clear/copy pages"
1313 depends on CPU_SB1
1314 help
1315 Instead of using the CPU to zero and copy pages, use a Data Mover
1316 channel. These DMA channels are otherwise unused by the standard
1317 SiByte Linux port. Seems to give a small performance benefit.
1318
1319config CPU_HAS_PREFETCH
Ralf Baechlec8094b52005-08-05 14:28:54 +00001320 bool
Linus Torvalds1da177e2005-04-16 15:20:36 -07001321
Ralf Baechle340ee4b2005-08-17 17:44:08 +00001322choice
1323 prompt "MIPS MT options"
Ralf Baechlef41ae0b2006-06-05 17:24:46 +01001324
1325config MIPS_MT_DISABLED
1326 bool "Disable multithreading support."
1327 help
1328 Use this option if your workload can't take advantage of
1329 MIPS hardware multithreading support. On systems that don't have
1330 the option of an MT-enabled processor this option will be the only
1331 option in this menu.
Ralf Baechle340ee4b2005-08-17 17:44:08 +00001332
Ralf Baechle59d6ab82006-10-06 17:36:20 +01001333config MIPS_MT_SMP
1334 bool "Use 1 TC on each available VPE for SMP"
1335 depends on SYS_SUPPORTS_MULTITHREADING
1336 select CPU_MIPSR2_IRQ_VI
Chris Dearmand725cf32007-05-08 14:05:39 +01001337 select CPU_MIPSR2_IRQ_EI
Ralf Baechle59d6ab82006-10-06 17:36:20 +01001338 select CPU_MIPSR2_SRS
1339 select MIPS_MT
Ralf Baechlef510aa32007-03-16 21:58:37 +00001340 select NR_CPUS_DEFAULT_2
Ralf Baechle59d6ab82006-10-06 17:36:20 +01001341 select SMP
1342 select SYS_SUPPORTS_SMP
1343 help
1344 This is a kernel model which is also known a VSMP or lately
1345 has been marketesed into SMVP.
1346
Ralf Baechle41c594a2006-04-05 09:45:45 +01001347config MIPS_MT_SMTC
1348 bool "SMTC: Use all TCs on all VPEs for SMP"
Ralf Baechlef41ae0b2006-06-05 17:24:46 +01001349 depends on CPU_MIPS32_R2
1350 #depends on CPU_MIPS64_R2 # once there is hardware ...
1351 depends on SYS_SUPPORTS_MULTITHREADING
Ralf Baechlef7062dd2006-04-24 14:58:53 +01001352 select CPU_MIPSR2_IRQ_VI
Chris Dearmand725cf32007-05-08 14:05:39 +01001353 select CPU_MIPSR2_IRQ_EI
Ralf Baechlef7062dd2006-04-24 14:58:53 +01001354 select CPU_MIPSR2_SRS
Ralf Baechlef41ae0b2006-06-05 17:24:46 +01001355 select MIPS_MT
Ralf Baechle130e2fb2007-02-06 16:53:15 +00001356 select NR_CPUS_DEFAULT_8
Ralf Baechle41c594a2006-04-05 09:45:45 +01001357 select SMP
Ralf Baechle73b76c72006-08-15 19:36:40 +01001358 select SYS_SUPPORTS_SMP
Ralf Baechlef41ae0b2006-06-05 17:24:46 +01001359 help
1360 This is a kernel model which is known a SMTC or lately has been
1361 marketesed into SMVP.
Ralf Baechle41c594a2006-04-05 09:45:45 +01001362
Ralf Baechle340ee4b2005-08-17 17:44:08 +00001363endchoice
1364
Ralf Baechlef41ae0b2006-06-05 17:24:46 +01001365config MIPS_MT
1366 bool
1367
1368config SYS_SUPPORTS_MULTITHREADING
1369 bool
1370
Ralf Baechlef088fc82006-04-05 09:45:47 +01001371config MIPS_MT_FPAFF
1372 bool "Dynamic FPU affinity for FP-intensive threads"
Ralf Baechlef088fc82006-04-05 09:45:47 +01001373 default y
Ralf Baechle07cc0c92007-07-27 19:31:10 +01001374 depends on MIPS_MT_SMP || MIPS_MT_SMTC
1375
1376config MIPS_VPE_LOADER
1377 bool "VPE loader support."
1378 depends on SYS_SUPPORTS_MULTITHREADING
1379 select CPU_MIPSR2_IRQ_VI
1380 select CPU_MIPSR2_IRQ_EI
1381 select CPU_MIPSR2_SRS
1382 select MIPS_MT
1383 help
1384 Includes a loader for loading an elf relocatable object
1385 onto another VPE and running it.
Ralf Baechlef088fc82006-04-05 09:45:47 +01001386
Ralf Baechleac8be952007-01-20 00:18:01 +00001387config MIPS_MT_SMTC_INSTANT_REPLAY
1388 bool "Low-latency Dispatch of Deferred SMTC IPIs"
Ralf Baechle619af722007-03-26 15:13:57 +01001389 depends on MIPS_MT_SMTC && !PREEMPT
Ralf Baechleac8be952007-01-20 00:18:01 +00001390 default y
1391 help
1392 SMTC pseudo-interrupts between TCs are deferred and queued
1393 if the target TC is interrupt-inhibited (IXMT). In the first
1394 SMTC prototypes, these queued IPIs were serviced on return
1395 to user mode, or on entry into the kernel idle loop. The
1396 INSTANT_REPLAY option dispatches them as part of local_irq_restore()
1397 processing, which adds runtime overhead (hence the option to turn
1398 it off), but ensures that IPIs are handled promptly even under
1399 heavy I/O interrupt load.
1400
Kevin D. Kissell0db34212007-07-12 16:21:08 +01001401config MIPS_MT_SMTC_IM_BACKSTOP
1402 bool "Use per-TC register bits as backstop for inhibited IM bits"
1403 depends on MIPS_MT_SMTC
1404 default y
1405 help
1406 To support multiple TC microthreads acting as "CPUs" within
1407 a VPE, VPE-wide interrupt mask bits must be specially manipulated
1408 during interrupt handling. To support legacy drivers and interrupt
1409 controller management code, SMTC has a "backstop" to track and
1410 if necessary restore the interrupt mask. This has some performance
1411 impact on interrupt service overhead. Disable it only if you know
1412 what you are doing.
1413
Kevin D. Kissellf571eff2007-08-03 19:38:03 +02001414config MIPS_MT_SMTC_IRQAFF
1415 bool "Support IRQ affinity API"
1416 depends on MIPS_MT_SMTC
1417 default n
1418 help
1419 Enables SMP IRQ affinity API (/proc/irq/*/smp_affinity, etc.)
1420 for SMTC Linux kernel. Requires platform support, of which
1421 an example can be found in the MIPS kernel i8259 and Malta
1422 platform code. It is recommended that MIPS_MT_SMTC_INSTANT_REPLAY
1423 be enabled if MIPS_MT_SMTC_IRQAFF is used. Adds overhead to
1424 interrupt dispatch, and should be used only if you know what
1425 you are doing.
1426
Ralf Baechlee01402b2005-07-14 15:57:16 +00001427config MIPS_VPE_LOADER_TOM
1428 bool "Load VPE program into memory hidden from linux"
1429 depends on MIPS_VPE_LOADER
1430 default y
1431 help
1432 The loader can use memory that is present but has been hidden from
1433 Linux using the kernel command line option "mem=xxMB". It's up to
1434 you to ensure the amount you put in the option and the space your
1435 program requires is less or equal to the amount physically present.
1436
1437# this should possibly be in drivers/char, but it is rather cpu related. Hmmm
1438config MIPS_VPE_APSP_API
Ralf Baechle5e83d432005-10-29 19:32:41 +01001439 bool "Enable support for AP/SP API (RTLX)"
1440 depends on MIPS_VPE_LOADER
1441 help
Ralf Baechlee01402b2005-07-14 15:57:16 +00001442
Ralf Baechle26009902006-04-05 09:45:45 +01001443config MIPS_APSP_KSPD
1444 bool "Enable KSPD"
1445 depends on MIPS_VPE_APSP_API
1446 default y
1447 help
1448 KSPD is a kernel daemon that accepts syscall requests from the SP
1449 side, actions them and returns the results. It also handles the
1450 "exit" syscall notifying other kernel modules the SP program is
1451 exiting. You probably want to say yes here.
1452
Linus Torvalds1da177e2005-04-16 15:20:36 -07001453config SB1_PASS_1_WORKAROUNDS
1454 bool
1455 depends on CPU_SB1_PASS_1
1456 default y
1457
1458config SB1_PASS_2_WORKAROUNDS
1459 bool
1460 depends on CPU_SB1 && (CPU_SB1_PASS_2_2 || CPU_SB1_PASS_2)
1461 default y
1462
1463config SB1_PASS_2_1_WORKAROUNDS
1464 bool
1465 depends on CPU_SB1 && CPU_SB1_PASS_2
1466 default y
1467
1468config 64BIT_PHYS_ADDR
Ralf Baechled806cb22007-08-02 00:36:08 +01001469 bool
Linus Torvalds1da177e2005-04-16 15:20:36 -07001470
Linus Torvalds1da177e2005-04-16 15:20:36 -07001471config CPU_HAS_LLSC
Ralf Baechlef7062dd2006-04-24 14:58:53 +01001472 bool
Linus Torvalds1da177e2005-04-16 15:20:36 -07001473
Franck Bui-Huu9693a852007-02-02 17:41:47 +01001474config CPU_HAS_SMARTMIPS
1475 depends on SYS_SUPPORTS_SMARTMIPS
1476 bool "Support for the SmartMIPS ASE"
1477 help
1478 SmartMIPS is a extension of the MIPS32 architecture aimed at
1479 increased security at both hardware and software level for
1480 smartcards. Enabling this option will allow proper use of the
1481 SmartMIPS instructions by Linux applications. However a kernel with
1482 this option will not work on a MIPS core without SmartMIPS core. If
1483 you don't know you probably don't have SmartMIPS and should say N
1484 here.
1485
Linus Torvalds1da177e2005-04-16 15:20:36 -07001486config CPU_HAS_WB
Ralf Baechlef7062dd2006-04-24 14:58:53 +01001487 bool
Ralf Baechlee01402b2005-07-14 15:57:16 +00001488
Fuxin Zhang2a21c732007-06-06 14:52:43 +08001489config 64BIT_CONTEXT
1490 bool "Save 64bit integer registers"
1491 depends on 32BIT && CPU_LOONGSON2
1492 help
1493 Loongson2 CPU is 64bit , when used in 32BIT mode, its integer
1494 registers can still be accessed as 64bit, mainly for multimedia
1495 instructions. We must have all 64bit save/restored to make sure
1496 those instructions to get correct result.
1497
Ralf Baechlef41ae0b2006-06-05 17:24:46 +01001498#
1499# Vectored interrupt mode is an R2 feature
1500#
Ralf Baechlee01402b2005-07-14 15:57:16 +00001501config CPU_MIPSR2_IRQ_VI
Ralf Baechlef41ae0b2006-06-05 17:24:46 +01001502 bool
Ralf Baechlee01402b2005-07-14 15:57:16 +00001503
Ralf Baechlef41ae0b2006-06-05 17:24:46 +01001504#
1505# Extended interrupt mode is an R2 feature
1506#
Ralf Baechlee01402b2005-07-14 15:57:16 +00001507config CPU_MIPSR2_IRQ_EI
Ralf Baechlef41ae0b2006-06-05 17:24:46 +01001508 bool
Ralf Baechlee01402b2005-07-14 15:57:16 +00001509
Ralf Baechlef41ae0b2006-06-05 17:24:46 +01001510#
1511# Shadow registers are an R2 feature
1512#
Ralf Baechlee01402b2005-07-14 15:57:16 +00001513config CPU_MIPSR2_SRS
Ralf Baechlef41ae0b2006-06-05 17:24:46 +01001514 bool
Ralf Baechlee01402b2005-07-14 15:57:16 +00001515
Linus Torvalds1da177e2005-04-16 15:20:36 -07001516config CPU_HAS_SYNC
1517 bool
1518 depends on !CPU_R3000
1519 default y
1520
1521#
Ralf Baechle797798c2005-08-10 15:17:11 +00001522# Use the generic interrupt handling code in kernel/irq/:
1523#
1524config GENERIC_HARDIRQS
1525 bool
1526 default y
1527
1528config GENERIC_IRQ_PROBE
1529 bool
1530 default y
1531
Ingo Molnar0d7012a2006-06-29 02:24:43 -07001532config IRQ_PER_CPU
Ingo Molnar0d7012a2006-06-29 02:24:43 -07001533 bool
Ingo Molnar0d7012a2006-06-29 02:24:43 -07001534
Ralf Baechle797798c2005-08-10 15:17:11 +00001535#
Linus Torvalds1da177e2005-04-16 15:20:36 -07001536# - Highmem only makes sense for the 32-bit kernel.
1537# - The current highmem code will only work properly on physically indexed
1538# caches such as R3000, SB1, R7000 or those that look like they're virtually
1539# indexed such as R4000/R4400 SC and MC versions or R10000. So for the
1540# moment we protect the user and offer the highmem option only on machines
1541# where it's known to be safe. This will not offer highmem on a few systems
1542# such as MIPS32 and MIPS64 CPUs which may have virtual and physically
1543# indexed CPUs but we're playing safe.
Ralf Baechle797798c2005-08-10 15:17:11 +00001544# - We use SYS_SUPPORTS_HIGHMEM to offer highmem only for systems where we
1545# know they might have memory configurations that could make use of highmem
1546# support.
Linus Torvalds1da177e2005-04-16 15:20:36 -07001547#
1548config HIGHMEM
1549 bool "High Memory Support"
Ralf Baechle797798c2005-08-10 15:17:11 +00001550 depends on 32BIT && CPU_SUPPORTS_HIGHMEM && SYS_SUPPORTS_HIGHMEM
1551
1552config CPU_SUPPORTS_HIGHMEM
1553 bool
1554
1555config SYS_SUPPORTS_HIGHMEM
1556 bool
Linus Torvalds1da177e2005-04-16 15:20:36 -07001557
Franck Bui-Huu9693a852007-02-02 17:41:47 +01001558config SYS_SUPPORTS_SMARTMIPS
1559 bool
1560
Yoichi Yuasab4819b52005-06-25 14:54:31 -07001561config ARCH_FLATMEM_ENABLE
1562 def_bool y
1563 depends on !NUMA
1564
Ralf Baechled8cb4e12006-06-11 23:03:08 +01001565config ARCH_DISCONTIGMEM_ENABLE
1566 bool
1567 default y if SGI_IP27
1568 help
David Sterba3dde6ad2007-05-09 07:12:20 +02001569 Say Y to support efficient handling of discontiguous physical memory,
Ralf Baechled8cb4e12006-06-11 23:03:08 +01001570 for architectures which are either NUMA (Non-Uniform Memory Access)
1571 or have huge holes in the physical address space for other reasons.
1572 See <file:Documentation/vm/numa> for more.
1573
Atsushi Nemotob1c6cd42006-07-03 00:09:47 +09001574config ARCH_SPARSEMEM_ENABLE
1575 bool
Atsushi Nemoto7de58fa2006-07-05 01:22:44 +09001576 select SPARSEMEM_STATIC
Atsushi Nemoto31473742006-07-03 00:09:47 +09001577
Ralf Baechled8cb4e12006-06-11 23:03:08 +01001578config NUMA
1579 bool "NUMA Support"
1580 depends on SYS_SUPPORTS_NUMA
1581 help
1582 Say Y to compile the kernel to support NUMA (Non-Uniform Memory
1583 Access). This option improves performance on systems with more
1584 than two nodes; on two node systems it is generally better to
1585 leave it disabled; on single node systems disable this option
1586 disabled.
1587
1588config SYS_SUPPORTS_NUMA
1589 bool
1590
Yasunori Gotoc80d79d2006-04-10 22:53:53 -07001591config NODES_SHIFT
1592 int
1593 default "6"
1594 depends on NEED_MULTIPLE_NODES
1595
Yoichi Yuasab4819b52005-06-25 14:54:31 -07001596source "mm/Kconfig"
1597
Linus Torvalds1da177e2005-04-16 15:20:36 -07001598config SMP
1599 bool "Multi-Processing support"
Ralf Baechlee73ea272006-06-04 11:51:46 +01001600 depends on SYS_SUPPORTS_SMP
Ralf Baechleb4b30a52006-08-03 17:34:24 +01001601 select IRQ_PER_CPU
Ralf Baechlee73ea272006-06-04 11:51:46 +01001602 help
Linus Torvalds1da177e2005-04-16 15:20:36 -07001603 This enables support for systems with more than one CPU. If you have
1604 a system with only one CPU, like most personal computers, say N. If
1605 you have a system with more than one CPU, say Y.
1606
1607 If you say N here, the kernel will run on single and multiprocessor
1608 machines, but will use only one CPU of a multiprocessor machine. If
1609 you say Y here, the kernel will run on many, but not all,
1610 singleprocessor machines. On a singleprocessor machine, the kernel
1611 will run faster if you say N here.
1612
1613 People using multiprocessor machines who say Y here should also say
1614 Y to "Enhanced Real Time Clock Support", below.
1615
1616 See also the <file:Documentation/smp.txt> and the SMP-HOWTO
1617 available at <http://www.tldp.org/docs.html#howto>.
1618
1619 If you don't know what to do here, say N.
1620
Ralf Baechlee73ea272006-06-04 11:51:46 +01001621config SYS_SUPPORTS_SMP
1622 bool
1623
Atsushi Nemoto72ede9b2007-03-18 01:01:39 +09001624config NR_CPUS_DEFAULT_1
1625 bool
1626
Ralf Baechle130e2fb2007-02-06 16:53:15 +00001627config NR_CPUS_DEFAULT_2
1628 bool
1629
1630config NR_CPUS_DEFAULT_4
1631 bool
1632
1633config NR_CPUS_DEFAULT_8
1634 bool
1635
1636config NR_CPUS_DEFAULT_16
1637 bool
1638
1639config NR_CPUS_DEFAULT_32
1640 bool
1641
1642config NR_CPUS_DEFAULT_64
1643 bool
1644
Linus Torvalds1da177e2005-04-16 15:20:36 -07001645config NR_CPUS
1646 int "Maximum number of CPUs (2-64)"
Atsushi Nemoto72ede9b2007-03-18 01:01:39 +09001647 range 1 64 if NR_CPUS_DEFAULT_1
Linus Torvalds1da177e2005-04-16 15:20:36 -07001648 depends on SMP
Atsushi Nemoto72ede9b2007-03-18 01:01:39 +09001649 default "1" if NR_CPUS_DEFAULT_1
Ralf Baechle130e2fb2007-02-06 16:53:15 +00001650 default "2" if NR_CPUS_DEFAULT_2
1651 default "4" if NR_CPUS_DEFAULT_4
1652 default "8" if NR_CPUS_DEFAULT_8
1653 default "16" if NR_CPUS_DEFAULT_16
1654 default "32" if NR_CPUS_DEFAULT_32
1655 default "64" if NR_CPUS_DEFAULT_64
Linus Torvalds1da177e2005-04-16 15:20:36 -07001656 help
1657 This allows you to specify the maximum number of CPUs which this
1658 kernel will support. The maximum supported value is 32 for 32-bit
1659 kernel and 64 for 64-bit kernels; the minimum value which makes
Atsushi Nemoto72ede9b2007-03-18 01:01:39 +09001660 sense is 1 for Qemu (useful only for kernel debugging purposes)
1661 and 2 for all others.
Linus Torvalds1da177e2005-04-16 15:20:36 -07001662
1663 This is purely to save memory - each supported CPU adds
Atsushi Nemoto72ede9b2007-03-18 01:01:39 +09001664 approximately eight kilobytes to the kernel image. For best
1665 performance should round up your number of processors to the next
1666 power of two.
Linus Torvalds1da177e2005-04-16 15:20:36 -07001667
Atsushi Nemoto1723b4a2006-06-20 00:19:13 +09001668#
1669# Timer Interrupt Frequency Configuration
1670#
1671
1672choice
1673 prompt "Timer frequency"
1674 default HZ_250
1675 help
1676 Allows the configuration of the timer frequency.
1677
1678 config HZ_48
1679 bool "48 HZ" if SYS_SUPPORTS_48HZ
1680
1681 config HZ_100
1682 bool "100 HZ" if SYS_SUPPORTS_100HZ || SYS_SUPPORTS_ARBIT_HZ
1683
1684 config HZ_128
1685 bool "128 HZ" if SYS_SUPPORTS_128HZ || SYS_SUPPORTS_ARBIT_HZ
1686
1687 config HZ_250
1688 bool "250 HZ" if SYS_SUPPORTS_250HZ || SYS_SUPPORTS_ARBIT_HZ
1689
1690 config HZ_256
1691 bool "256 HZ" if SYS_SUPPORTS_256HZ || SYS_SUPPORTS_ARBIT_HZ
1692
1693 config HZ_1000
1694 bool "1000 HZ" if SYS_SUPPORTS_1000HZ || SYS_SUPPORTS_ARBIT_HZ
1695
1696 config HZ_1024
1697 bool "1024 HZ" if SYS_SUPPORTS_1024HZ || SYS_SUPPORTS_ARBIT_HZ
1698
1699endchoice
1700
1701config SYS_SUPPORTS_48HZ
1702 bool
1703
1704config SYS_SUPPORTS_100HZ
1705 bool
1706
1707config SYS_SUPPORTS_128HZ
1708 bool
1709
1710config SYS_SUPPORTS_250HZ
1711 bool
1712
1713config SYS_SUPPORTS_256HZ
1714 bool
1715
1716config SYS_SUPPORTS_1000HZ
1717 bool
1718
1719config SYS_SUPPORTS_1024HZ
1720 bool
1721
1722config SYS_SUPPORTS_ARBIT_HZ
1723 bool
1724 default y if !SYS_SUPPORTS_48HZ && !SYS_SUPPORTS_100HZ && \
1725 !SYS_SUPPORTS_128HZ && !SYS_SUPPORTS_250HZ && \
1726 !SYS_SUPPORTS_256HZ && !SYS_SUPPORTS_1000HZ && \
1727 !SYS_SUPPORTS_1024HZ
1728
1729config HZ
1730 int
1731 default 48 if HZ_48
1732 default 100 if HZ_100
1733 default 128 if HZ_128
1734 default 250 if HZ_250
1735 default 256 if HZ_256
1736 default 1000 if HZ_1000
1737 default 1024 if HZ_1024
1738
Ralf Baechlee80de852005-07-11 20:45:51 +00001739source "kernel/Kconfig.preempt"
Linus Torvalds1da177e2005-04-16 15:20:36 -07001740
Linus Torvalds1da177e2005-04-16 15:20:36 -07001741config MIPS_INSANE_LARGE
1742 bool "Support for large 64-bit configurations"
Ralf Baechle875d43e2005-09-03 15:56:16 -07001743 depends on CPU_R10000 && 64BIT
Linus Torvalds1da177e2005-04-16 15:20:36 -07001744 help
1745 MIPS R10000 does support a 44 bit / 16TB address space as opposed to
1746 previous 64-bit processors which only supported 40 bit / 1TB. If you
1747 need processes of more than 1TB virtual address space, say Y here.
1748 This will result in additional memory usage, so it is not
1749 recommended for normal users.
1750
Atsushi Nemotoea6e9422007-01-16 23:29:11 +09001751config KEXEC
1752 bool "Kexec system call (EXPERIMENTAL)"
1753 depends on EXPERIMENTAL
1754 help
1755 kexec is a system call that implements the ability to shutdown your
1756 current kernel, and to start another kernel. It is like a reboot
David Sterba3dde6ad2007-05-09 07:12:20 +02001757 but it is independent of the system firmware. And like a reboot
Atsushi Nemotoea6e9422007-01-16 23:29:11 +09001758 you can start any kernel with it, not just Linux.
1759
1760 The name comes from the similiarity to the exec system call.
1761
1762 It is an ongoing process to be certain the hardware in a machine
1763 is properly shutdown, so do not be surprised if this code does not
1764 initially work for you. It may help to enable device hotplugging
1765 support. As of this writing the exact hardware interface is
1766 strongly in flux, so no good recommendation can be made.
1767
1768config SECCOMP
1769 bool "Enable seccomp to safely compute untrusted bytecode"
Ralf Baechle293c5bd2007-07-25 16:19:33 +01001770 depends on PROC_FS
Atsushi Nemotoea6e9422007-01-16 23:29:11 +09001771 default y
1772 help
1773 This kernel feature is useful for number crunching applications
1774 that may need to compute untrusted bytecode during their
1775 execution. By using pipes or other transports made available to
1776 the process as file descriptors supporting the read/write
1777 syscalls, it's possible to isolate those applications in
1778 their own address space using seccomp. Once seccomp is
1779 enabled via /proc/<pid>/seccomp, it cannot be disabled
1780 and the task is only allowed to execute a few safe syscalls
1781 defined by each seccomp mode.
1782
1783 If unsure, say Y. Only embedded should say N here.
1784
Ralf Baechle5e83d432005-10-29 19:32:41 +01001785endmenu
1786
Linus Torvalds1da177e2005-04-16 15:20:36 -07001787config RWSEM_GENERIC_SPINLOCK
1788 bool
1789 default y
1790
Atsushi Nemoto1df0f0f2006-09-26 23:44:01 +09001791config LOCKDEP_SUPPORT
1792 bool
1793 default y
1794
1795config STACKTRACE_SUPPORT
1796 bool
1797 default y
1798
Ralf Baechleb6c35392005-11-25 11:35:40 +00001799source "init/Kconfig"
1800
Linus Torvalds1da177e2005-04-16 15:20:36 -07001801menu "Bus options (PCI, PCMCIA, EISA, ISA, TC)"
1802
Ralf Baechle5e83d432005-10-29 19:32:41 +01001803config HW_HAS_EISA
1804 bool
Linus Torvalds1da177e2005-04-16 15:20:36 -07001805config HW_HAS_PCI
1806 bool
1807
1808config PCI
1809 bool "Support for PCI controller"
1810 depends on HW_HAS_PCI
1811 help
1812 Find out whether you have a PCI motherboard. PCI is the name of a
1813 bus system, i.e. the way the CPU talks to the other stuff inside
1814 your box. Other bus systems are ISA, EISA, or VESA. If you have PCI,
1815 say Y, otherwise N.
1816
1817 The PCI-HOWTO, available from
1818 <http://www.tldp.org/docs.html#howto>, contains valuable
1819 information about which PCI hardware does work under Linux and which
1820 doesn't.
1821
1822config PCI_DOMAINS
1823 bool
1824 depends on PCI
1825
1826source "drivers/pci/Kconfig"
1827
1828#
1829# ISA support is now enabled via select. Too many systems still have the one
1830# or other ISA chip on the board that users don't know about so don't expect
1831# users to choose the right thing ...
1832#
1833config ISA
1834 bool
1835
1836config EISA
1837 bool "EISA support"
Ralf Baechle5e83d432005-10-29 19:32:41 +01001838 depends on HW_HAS_EISA
Linus Torvalds1da177e2005-04-16 15:20:36 -07001839 select ISA
Ralf Baechleaa414df2006-11-30 01:14:51 +00001840 select GENERIC_ISA_DMA
Linus Torvalds1da177e2005-04-16 15:20:36 -07001841 ---help---
1842 The Extended Industry Standard Architecture (EISA) bus was
1843 developed as an open alternative to the IBM MicroChannel bus.
1844
1845 The EISA bus provided some of the features of the IBM MicroChannel
1846 bus while maintaining backward compatibility with cards made for
1847 the older ISA bus. The EISA bus saw limited use between 1988 and
1848 1995 when it was made obsolete by the PCI bus.
1849
1850 Say Y here if you are building a kernel for an EISA-based machine.
1851
1852 Otherwise, say N.
1853
1854source "drivers/eisa/Kconfig"
1855
1856config TC
1857 bool "TURBOchannel support"
1858 depends on MACH_DECSTATION
1859 help
1860 TurboChannel is a DEC (now Compaq (now HP)) bus for Alpha and MIPS
1861 processors. Documentation on writing device drivers for TurboChannel
1862 is available at:
1863 <http://www.cs.arizona.edu/computer.help/policy/DIGITAL_unix/AA-PS3HD-TET1_html/TITLE.html>.
1864
1865#config ACCESSBUS
1866# bool "Access.Bus support"
1867# depends on TC
1868
1869config MMU
1870 bool
1871 default y
1872
Ralf Baechlede61b542007-07-12 17:41:23 +01001873config PCSPEAKER
Michael Neulinge5c6c8e2006-03-14 00:11:50 -05001874 bool
1875
Linus Torvalds1da177e2005-04-16 15:20:36 -07001876source "drivers/pcmcia/Kconfig"
1877
1878source "drivers/pci/hotplug/Kconfig"
1879
1880endmenu
1881
1882menu "Executable file formats"
1883
1884source "fs/Kconfig.binfmt"
1885
1886config TRAD_SIGNALS
1887 bool
Linus Torvalds1da177e2005-04-16 15:20:36 -07001888
Linus Torvalds1da177e2005-04-16 15:20:36 -07001889config BINFMT_IRIX
1890 bool "Include IRIX binary compatibility"
Ralf Baechle5e83d432005-10-29 19:32:41 +01001891 depends on CPU_BIG_ENDIAN && 32BIT && BROKEN
Linus Torvalds1da177e2005-04-16 15:20:36 -07001892
1893config MIPS32_COMPAT
1894 bool "Kernel support for Linux/MIPS 32-bit binary compatibility"
Ralf Baechle875d43e2005-09-03 15:56:16 -07001895 depends on 64BIT
Linus Torvalds1da177e2005-04-16 15:20:36 -07001896 help
1897 Select this option if you want Linux/MIPS 32-bit binary
1898 compatibility. Since all software available for Linux/MIPS is
1899 currently 32-bit you should say Y here.
1900
1901config COMPAT
1902 bool
1903 depends on MIPS32_COMPAT
1904 default y
1905
Atsushi Nemoto05e43962006-11-07 18:02:44 +09001906config SYSVIPC_COMPAT
1907 bool
1908 depends on COMPAT && SYSVIPC
1909 default y
1910
Linus Torvalds1da177e2005-04-16 15:20:36 -07001911config MIPS32_O32
1912 bool "Kernel support for o32 binaries"
1913 depends on MIPS32_COMPAT
1914 help
1915 Select this option if you want to run o32 binaries. These are pure
1916 32-bit binaries as used by the 32-bit Linux/MIPS port. Most of
1917 existing binaries are in this format.
1918
1919 If unsure, say Y.
1920
1921config MIPS32_N32
1922 bool "Kernel support for n32 binaries"
1923 depends on MIPS32_COMPAT
1924 help
1925 Select this option if you want to run n32 binaries. These are
1926 64-bit binaries using 32-bit quantities for addressing and certain
1927 data that would normally be 64-bit. They are used in special
1928 cases.
1929
1930 If unsure, say N.
1931
1932config BINFMT_ELF32
1933 bool
1934 default y if MIPS32_O32 || MIPS32_N32
1935
Ralf Baechle21162452007-02-09 17:08:58 +00001936endmenu
Linus Torvalds1da177e2005-04-16 15:20:36 -07001937
Ralf Baechle21162452007-02-09 17:08:58 +00001938menu "Power management options"
Rodolfo Giometti952fa952006-06-05 17:43:10 +02001939
Ralf Baechle21162452007-02-09 17:08:58 +00001940source "kernel/power/Kconfig"
Rodolfo Giometti952fa952006-06-05 17:43:10 +02001941
Linus Torvalds1da177e2005-04-16 15:20:36 -07001942endmenu
1943
Sam Ravnborgd5950b42005-07-11 21:03:49 -07001944source "net/Kconfig"
1945
Linus Torvalds1da177e2005-04-16 15:20:36 -07001946source "drivers/Kconfig"
1947
1948source "fs/Kconfig"
1949
Ralf Baechle5e83d432005-10-29 19:32:41 +01001950source "arch/mips/oprofile/Kconfig"
1951
Linus Torvalds1da177e2005-04-16 15:20:36 -07001952source "arch/mips/Kconfig.debug"
1953
1954source "security/Kconfig"
1955
1956source "crypto/Kconfig"
1957
1958source "lib/Kconfig"