blob: 235d4514e0a9290ead0abe2e82ba711a700fb12c [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
Ralf Baechle90b02342007-10-11 23:46:09 +01006 select RTC_LIB
Linus Torvalds1da177e2005-04-16 15:20:36 -07007
Linus Torvalds1da177e2005-04-16 15:20:36 -07008mainmenu "Linux/MIPS Kernel Configuration"
9
Linus Torvalds1da177e2005-04-16 15:20:36 -070010menu "Machine selection"
11
Christoph Lameter5ac6da62007-02-10 01:43:14 -080012config ZONE_DMA
13 bool
Christoph Lameter5ac6da62007-02-10 01:43:14 -080014
Ralf Baechle5e83d432005-10-29 19:32:41 +010015choice
16 prompt "System type"
17 default SGI_IP22
Linus Torvalds1da177e2005-04-16 15:20:36 -070018
Yoichi Yuasac3543e22007-05-11 20:44:30 +090019config MACH_ALCHEMY
20 bool "Alchemy processor based machines"
Linus Torvalds1da177e2005-04-16 15:20:36 -070021
Ralf Baechle35189fa2006-06-18 16:39:46 +010022config BASLER_EXCITE
Thomas Koellerbe915892007-02-23 01:40:34 +010023 bool "Basler eXcite smart camera"
Ralf Baechle35189fa2006-06-18 16:39:46 +010024 select DMA_COHERENT
25 select HW_HAS_PCI
26 select IRQ_CPU
27 select IRQ_CPU_RM7K
28 select IRQ_CPU_RM9K
thomas@koeller.dyndns.org663c3d92006-08-27 13:51:48 +020029 select MIPS_RM9122
Ralf Baechle35189fa2006-06-18 16:39:46 +010030 select SYS_HAS_CPU_RM9000
31 select SYS_SUPPORTS_32BIT_KERNEL
Ralf Baechle35189fa2006-06-18 16:39:46 +010032 select SYS_SUPPORTS_BIG_ENDIAN
Ralf Baechlecc801072007-02-17 02:58:39 +000033 select SYS_SUPPORTS_KGDB
Ralf Baechle35189fa2006-06-18 16:39:46 +010034 help
35 The eXcite is a smart camera platform manufactured by
Thomas Koellerbe915892007-02-23 01:40:34 +010036 Basler Vision Technologies AG.
Ralf Baechle35189fa2006-06-18 16:39:46 +010037
38config BASLER_EXCITE_PROTOTYPE
39 bool "Support for pre-release units"
40 depends on BASLER_EXCITE
41 default n
42 help
43 Pre-series (prototype) units are different from later ones in
44 some ways. Select this option if you have one of these. Please
45 note that a kernel built with this option selected will not be
46 able to run on normal units.
47
Aurelien Jarno1c0c13e2007-09-25 15:40:12 +020048config BCM47XX
49 bool "BCM47XX based boards"
50 select DMA_NONCOHERENT
51 select HW_HAS_PCI
52 select IRQ_CPU
53 select SYS_HAS_CPU_MIPS32_R1
54 select SYS_SUPPORTS_32BIT_KERNEL
55 select SYS_SUPPORTS_LITTLE_ENDIAN
56 select SSB
57 select SSB_DRIVER_MIPS
58 select GENERIC_GPIO
Aurelien Jarno25e5fb92007-09-25 15:41:24 +020059 select SYS_HAS_EARLY_PRINTK
60 select CFE
Aurelien Jarno1c0c13e2007-09-25 15:40:12 +020061 help
62 Support for BCM47XX based boards
63
Linus Torvalds1da177e2005-04-16 15:20:36 -070064config MIPS_COBALT
Martin Michlmayr3fa986f2006-05-09 23:34:53 +020065 bool "Cobalt Server"
Linus Torvalds1da177e2005-04-16 15:20:36 -070066 select DMA_NONCOHERENT
67 select HW_HAS_PCI
Ralf Baechled865bea2007-10-11 23:46:10 +010068 select I8253
Linus Torvalds1da177e2005-04-16 15:20:36 -070069 select I8259
70 select IRQ_CPU
Yoichi Yuasad5ab1a62007-09-13 23:51:26 +090071 select IRQ_GT641XX
Yoichi Yuasa252161e2007-03-14 21:51:26 +090072 select PCI_GT64XXX_PCI0
Ralf Baechle7cf80532005-10-20 22:33:09 +010073 select SYS_HAS_CPU_NEVADA
Yoichi Yuasa0a22e0d2007-03-02 12:42:33 +090074 select SYS_HAS_EARLY_PRINTK
Yoichi Yuasaed5ba2f2005-09-03 15:56:21 -070075 select SYS_SUPPORTS_32BIT_KERNEL
76 select SYS_SUPPORTS_64BIT_KERNEL if EXPERIMENTAL
Ralf Baechle5e83d432005-10-29 19:32:41 +010077 select SYS_SUPPORTS_LITTLE_ENDIAN
Atsushi Nemoto9fd32cf2006-12-08 01:55:07 +090078 select GENERIC_HARDIRQS_NO__DO_IRQ
Linus Torvalds1da177e2005-04-16 15:20:36 -070079
80config MACH_DECSTATION
Martin Michlmayr3fa986f2006-05-09 23:34:53 +020081 bool "DECstations"
Linus Torvalds1da177e2005-04-16 15:20:36 -070082 select BOOT_ELF32
83 select DMA_NONCOHERENT
Maciej W. Rozyckid388d682007-05-29 15:08:07 +010084 select NO_IOPORT
Linus Torvalds1da177e2005-04-16 15:20:36 -070085 select IRQ_CPU
Ralf Baechle7cf80532005-10-20 22:33:09 +010086 select SYS_HAS_CPU_R3000
87 select SYS_HAS_CPU_R4X00
Yoichi Yuasaed5ba2f2005-09-03 15:56:21 -070088 select SYS_SUPPORTS_32BIT_KERNEL
89 select SYS_SUPPORTS_64BIT_KERNEL if EXPERIMENTAL
Ralf Baechle5e83d432005-10-29 19:32:41 +010090 select SYS_SUPPORTS_LITTLE_ENDIAN
Atsushi Nemoto1723b4a2006-06-20 00:19:13 +090091 select SYS_SUPPORTS_128HZ
92 select SYS_SUPPORTS_256HZ
93 select SYS_SUPPORTS_1024HZ
Ralf Baechle5e83d432005-10-29 19:32:41 +010094 help
Linus Torvalds1da177e2005-04-16 15:20:36 -070095 This enables support for DEC's MIPS based workstations. For details
96 see the Linux/MIPS FAQ on <http://www.linux-mips.org/> and the
97 DECstation porting pages on <http://decstation.unix-ag.org/>.
98
99 If you have one of the following DECstation Models you definitely
100 want to choose R4xx0 for the CPU Type:
101
Ralf Baechle93088162007-08-29 14:21:45 +0100102 DECstation 5000/50
103 DECstation 5000/150
104 DECstation 5000/260
105 DECsystem 5900/260
Linus Torvalds1da177e2005-04-16 15:20:36 -0700106
107 otherwise choose R3000.
108
Ralf Baechle5e83d432005-10-29 19:32:41 +0100109config MACH_JAZZ
Martin Michlmayr3fa986f2006-05-09 23:34:53 +0200110 bool "Jazz family of machines"
Ralf Baechle5e83d432005-10-29 19:32:41 +0100111 select ARC
112 select ARC32
113 select ARCH_MAY_HAVE_PC_FDC
114 select GENERIC_ISA_DMA
Thomas Bogendoerferea202c62007-08-25 11:01:50 +0200115 select IRQ_CPU
Ralf Baechled865bea2007-10-11 23:46:10 +0100116 select I8253
Ralf Baechle5e83d432005-10-29 19:32:41 +0100117 select I8259
118 select ISA
Ralf Baechlede61b542007-07-12 17:41:23 +0100119 select PCSPEAKER
Ralf Baechle7cf80532005-10-20 22:33:09 +0100120 select SYS_HAS_CPU_R4X00
Ralf Baechle5e83d432005-10-29 19:32:41 +0100121 select SYS_SUPPORTS_32BIT_KERNEL
122 select SYS_SUPPORTS_64BIT_KERNEL if EXPERIMENTAL
Atsushi Nemoto1723b4a2006-06-20 00:19:13 +0900123 select SYS_SUPPORTS_100HZ
Atsushi Nemoto9fd32cf2006-12-08 01:55:07 +0900124 select GENERIC_HARDIRQS_NO__DO_IRQ
Linus Torvalds1da177e2005-04-16 15:20:36 -0700125 help
Ralf Baechle5e83d432005-10-29 19:32:41 +0100126 This a family of machines based on the MIPS R4030 chipset which was
127 used by several vendors to build RISC/os and Windows NT workstations.
128 Members include the Acer PICA, MIPS Magnum 4000, MIPS Millenium and
129 Olivetti M700-10 workstations.
130
Brian Murphy1f21d2b2007-08-21 22:34:16 +0200131config LASAT
132 bool "LASAT Networks platforms"
133 select DMA_NONCOHERENT
134 select SYS_HAS_EARLY_PRINTK
135 select HW_HAS_PCI
Ralf Baechlea5ccfe52007-10-14 23:49:33 +0100136 select IRQ_CPU
Brian Murphy1f21d2b2007-08-21 22:34:16 +0200137 select PCI_GT64XXX_PCI0
138 select MIPS_NILE4
139 select R5000_CPU_SCACHE
140 select SYS_HAS_CPU_R5000
141 select SYS_SUPPORTS_32BIT_KERNEL
142 select SYS_SUPPORTS_64BIT_KERNEL if BROKEN
143 select SYS_SUPPORTS_LITTLE_ENDIAN
144 select GENERIC_HARDIRQS_NO__DO_IRQ
145
Yoichi Yuasaade299d2007-07-27 15:25:43 +0900146config LEMOTE_FULONG
147 bool "Lemote Fulong mini-PC"
148 select ARCH_SPARSEMEM_ENABLE
149 select SYS_HAS_CPU_LOONGSON2
150 select DMA_NONCOHERENT
151 select BOOT_ELF32
152 select BOARD_SCACHE
153 select HAVE_STD_PC_SERIAL_PORT
154 select HW_HAS_PCI
155 select I8259
156 select ISA
157 select IRQ_CPU
158 select SYS_SUPPORTS_32BIT_KERNEL
159 select SYS_SUPPORTS_64BIT_KERNEL
160 select SYS_SUPPORTS_LITTLE_ENDIAN
161 select SYS_SUPPORTS_HIGHMEM
162 select SYS_HAS_EARLY_PRINTK
163 select GENERIC_HARDIRQS_NO__DO_IRQ
Ralf Baechle23dd6d32007-08-24 16:49:23 +0100164 select GENERIC_ISA_DMA_SUPPORT_BROKEN
Yoichi Yuasaade299d2007-07-27 15:25:43 +0900165 select CPU_HAS_WB
166 help
167 Lemote Fulong mini-PC board based on the Chinese Loongson-2E CPU and
168 an FPGA northbridge
169
Linus Torvalds1da177e2005-04-16 15:20:36 -0700170config MIPS_ATLAS
Martin Michlmayr3fa986f2006-05-09 23:34:53 +0200171 bool "MIPS Atlas board"
Linus Torvalds1da177e2005-04-16 15:20:36 -0700172 select BOOT_ELF32
173 select DMA_NONCOHERENT
Ralf Baechle36a88532007-03-01 11:56:43 +0000174 select SYS_HAS_EARLY_PRINTK
Ralf Baechle5e83d432005-10-29 19:32:41 +0100175 select IRQ_CPU
Linus Torvalds1da177e2005-04-16 15:20:36 -0700176 select HW_HAS_PCI
Ralf Baechle5e83d432005-10-29 19:32:41 +0100177 select MIPS_BOARDS_GEN
178 select MIPS_BONITO64
Yoichi Yuasa252161e2007-03-14 21:51:26 +0900179 select PCI_GT64XXX_PCI0
Ralf Baechle5e83d432005-10-29 19:32:41 +0100180 select MIPS_MSC
Maciej W. Rozyckif4b7cdb2005-02-12 04:31:49 +0000181 select RM7000_CPU_SCACHE
Linus Torvalds1da177e2005-04-16 15:20:36 -0700182 select SWAP_IO_SPACE
Ralf Baechle7cf80532005-10-20 22:33:09 +0100183 select SYS_HAS_CPU_MIPS32_R1
184 select SYS_HAS_CPU_MIPS32_R2
185 select SYS_HAS_CPU_MIPS64_R1
186 select SYS_HAS_CPU_NEVADA
187 select SYS_HAS_CPU_RM7000
Yoichi Yuasaed5ba2f2005-09-03 15:56:21 -0700188 select SYS_SUPPORTS_32BIT_KERNEL
189 select SYS_SUPPORTS_64BIT_KERNEL
Ralf Baechle5e83d432005-10-29 19:32:41 +0100190 select SYS_SUPPORTS_BIG_ENDIAN
191 select SYS_SUPPORTS_LITTLE_ENDIAN
Ralf Baechlef41ae0b2006-06-05 17:24:46 +0100192 select SYS_SUPPORTS_MULTITHREADING if EXPERIMENTAL
Franck Bui-Huu9693a852007-02-02 17:41:47 +0100193 select SYS_SUPPORTS_SMARTMIPS
Franck Bui-Huue77c2322006-12-01 18:22:27 +0100194 select GENERIC_HARDIRQS_NO__DO_IRQ
Linus Torvalds1da177e2005-04-16 15:20:36 -0700195 help
Maciej W. Rozyckif638d192005-02-02 22:23:46 +0000196 This enables support for the MIPS Technologies Atlas evaluation
Linus Torvalds1da177e2005-04-16 15:20:36 -0700197 board.
198
199config MIPS_MALTA
Martin Michlmayr3fa986f2006-05-09 23:34:53 +0200200 bool "MIPS Malta board"
Ralf Baechle61ed2422005-09-15 08:52:34 +0000201 select ARCH_MAY_HAVE_PC_FDC
Linus Torvalds1da177e2005-04-16 15:20:36 -0700202 select BOOT_ELF32
Linus Torvalds1da177e2005-04-16 15:20:36 -0700203 select DMA_NONCOHERENT
204 select GENERIC_ISA_DMA
Ralf Baechleaa414df2006-11-30 01:14:51 +0000205 select IRQ_CPU
Linus Torvalds1da177e2005-04-16 15:20:36 -0700206 select HW_HAS_PCI
Ralf Baechled865bea2007-10-11 23:46:10 +0100207 select I8253
Linus Torvalds1da177e2005-04-16 15:20:36 -0700208 select I8259
Ralf Baechle5e83d432005-10-29 19:32:41 +0100209 select MIPS_BOARDS_GEN
210 select MIPS_BONITO64
Chris Dearman9318c512006-06-20 17:15:20 +0100211 select MIPS_CPU_SCACHE
Yoichi Yuasa252161e2007-03-14 21:51:26 +0900212 select PCI_GT64XXX_PCI0
Ralf Baechle5e83d432005-10-29 19:32:41 +0100213 select MIPS_MSC
Linus Torvalds1da177e2005-04-16 15:20:36 -0700214 select SWAP_IO_SPACE
Ralf Baechle7cf80532005-10-20 22:33:09 +0100215 select SYS_HAS_CPU_MIPS32_R1
216 select SYS_HAS_CPU_MIPS32_R2
217 select SYS_HAS_CPU_MIPS64_R1
218 select SYS_HAS_CPU_NEVADA
219 select SYS_HAS_CPU_RM7000
Ralf Baechle36a88532007-03-01 11:56:43 +0000220 select SYS_HAS_EARLY_PRINTK
Yoichi Yuasaed5ba2f2005-09-03 15:56:21 -0700221 select SYS_SUPPORTS_32BIT_KERNEL
222 select SYS_SUPPORTS_64BIT_KERNEL
Ralf Baechle5e83d432005-10-29 19:32:41 +0100223 select SYS_SUPPORTS_BIG_ENDIAN
224 select SYS_SUPPORTS_LITTLE_ENDIAN
Ralf Baechlef41ae0b2006-06-05 17:24:46 +0100225 select SYS_SUPPORTS_MULTITHREADING
Franck Bui-Huu9693a852007-02-02 17:41:47 +0100226 select SYS_SUPPORTS_SMARTMIPS
Linus Torvalds1da177e2005-04-16 15:20:36 -0700227 help
Maciej W. Rozyckif638d192005-02-02 22:23:46 +0000228 This enables support for the MIPS Technologies Malta evaluation
Linus Torvalds1da177e2005-04-16 15:20:36 -0700229 board.
230
231config MIPS_SEAD
Ralf Baechled98cc842007-08-06 10:02:07 +0100232 bool "MIPS SEAD board"
Linus Torvalds1da177e2005-04-16 15:20:36 -0700233 select IRQ_CPU
234 select DMA_NONCOHERENT
Ralf Baechle36a88532007-03-01 11:56:43 +0000235 select SYS_HAS_EARLY_PRINTK
Ralf Baechle5e83d432005-10-29 19:32:41 +0100236 select MIPS_BOARDS_GEN
Ralf Baechle7cf80532005-10-20 22:33:09 +0100237 select SYS_HAS_CPU_MIPS32_R1
238 select SYS_HAS_CPU_MIPS32_R2
239 select SYS_HAS_CPU_MIPS64_R1
Yoichi Yuasaed5ba2f2005-09-03 15:56:21 -0700240 select SYS_SUPPORTS_32BIT_KERNEL
Ralf Baechle5e83d432005-10-29 19:32:41 +0100241 select SYS_SUPPORTS_64BIT_KERNEL if EXPERIMENTAL
242 select SYS_SUPPORTS_BIG_ENDIAN
243 select SYS_SUPPORTS_LITTLE_ENDIAN
Franck Bui-Huu9693a852007-02-02 17:41:47 +0100244 select SYS_SUPPORTS_SMARTMIPS
Maciej W. Rozyckif638d192005-02-02 22:23:46 +0000245 help
246 This enables support for the MIPS Technologies SEAD evaluation
247 board.
Linus Torvalds1da177e2005-04-16 15:20:36 -0700248
Ralf Baechlec78cbf42005-09-30 13:59:37 +0100249config MIPS_SIM
Martin Michlmayr3fa986f2006-05-09 23:34:53 +0200250 bool 'MIPS simulator (MIPSsim)'
Ralf Baechlec78cbf42005-09-30 13:59:37 +0100251 select DMA_NONCOHERENT
Ralf Baechle36a88532007-03-01 11:56:43 +0000252 select SYS_HAS_EARLY_PRINTK
Ralf Baechlec78cbf42005-09-30 13:59:37 +0100253 select IRQ_CPU
Marc St-Jean9267a302007-06-14 15:55:31 -0600254 select BOOT_RAW
Ralf Baechle7cf80532005-10-20 22:33:09 +0100255 select SYS_HAS_CPU_MIPS32_R1
256 select SYS_HAS_CPU_MIPS32_R2
Ralf Baechle36a88532007-03-01 11:56:43 +0000257 select SYS_HAS_EARLY_PRINTK
Ralf Baechlec78cbf42005-09-30 13:59:37 +0100258 select SYS_SUPPORTS_32BIT_KERNEL
259 select SYS_SUPPORTS_BIG_ENDIAN
Ralf Baechlef6e23732007-07-10 17:32:56 +0100260 select SYS_SUPPORTS_MULTITHREADING
Ralf Baechlec78cbf42005-09-30 13:59:37 +0100261 select SYS_SUPPORTS_LITTLE_ENDIAN
262 help
263 This option enables support for MIPS Technologies MIPSsim software
264 emulator.
265
Yoichi Yuasaade299d2007-07-27 15:25:43 +0900266config MARKEINS
267 bool "NEC EMMA2RH Mark-eins"
268 select DMA_NONCOHERENT
269 select HW_HAS_PCI
270 select IRQ_CPU
271 select SWAP_IO_SPACE
272 select SYS_SUPPORTS_32BIT_KERNEL
273 select SYS_SUPPORTS_BIG_ENDIAN
274 select SYS_SUPPORTS_LITTLE_ENDIAN
275 select SYS_HAS_CPU_R5000
276 help
277 This enables support for the R5432-based NEC Mark-eins
278 boards with R5500 CPU.
279
Ralf Baechle5e83d432005-10-29 19:32:41 +0100280config MACH_VR41XX
Yoichi Yuasa74142d62007-04-26 19:45:09 +0900281 bool "NEC VR4100 series based machines"
Ralf Baechle7cf80532005-10-20 22:33:09 +0100282 select SYS_HAS_CPU_VR41XX
Atsushi Nemoto9fd32cf2006-12-08 01:55:07 +0900283 select GENERIC_HARDIRQS_NO__DO_IRQ
Ralf Baechle5e83d432005-10-29 19:32:41 +0100284
Yoichi Yuasaade299d2007-07-27 15:25:43 +0900285config PNX8550_JBS
286 bool "Philips PNX8550 based JBS board"
287 select PNX8550
288 select SYS_SUPPORTS_LITTLE_ENDIAN
289
290config PNX8550_STB810
291 bool "Philips PNX8550 based STB810 board"
292 select PNX8550
293 select SYS_SUPPORTS_LITTLE_ENDIAN
294
Marc St-Jean9267a302007-06-14 15:55:31 -0600295config PMC_MSP
296 bool "PMC-Sierra MSP chipsets"
297 depends on EXPERIMENTAL
298 select DMA_NONCOHERENT
299 select SWAP_IO_SPACE
300 select NO_EXCEPT_FILL
301 select BOOT_RAW
302 select SYS_HAS_CPU_MIPS32_R1
303 select SYS_HAS_CPU_MIPS32_R2
304 select SYS_SUPPORTS_32BIT_KERNEL
305 select SYS_SUPPORTS_BIG_ENDIAN
306 select SYS_SUPPORTS_KGDB
307 select IRQ_CPU
308 select SERIAL_8250
309 select SERIAL_8250_CONSOLE
310 help
311 This adds support for the PMC-Sierra family of Multi-Service
312 Processor System-On-A-Chips. These parts include a number
313 of integrated peripherals, interfaces and DSPs in addition to
314 a variety of MIPS cores.
315
Ralf Baechle5e83d432005-10-29 19:32:41 +0100316config PMC_YOSEMITE
Martin Michlmayr3fa986f2006-05-09 23:34:53 +0200317 bool "PMC-Sierra Yosemite eval board"
Ralf Baechle5e83d432005-10-29 19:32:41 +0100318 select DMA_COHERENT
319 select HW_HAS_PCI
320 select IRQ_CPU
321 select IRQ_CPU_RM7K
322 select IRQ_CPU_RM9K
323 select SWAP_IO_SPACE
Ralf Baechle7cf80532005-10-20 22:33:09 +0100324 select SYS_HAS_CPU_RM9000
Ralf Baechle36a88532007-03-01 11:56:43 +0000325 select SYS_HAS_EARLY_PRINTK
Ralf Baechle5e83d432005-10-29 19:32:41 +0100326 select SYS_SUPPORTS_32BIT_KERNEL
327 select SYS_SUPPORTS_64BIT_KERNEL
328 select SYS_SUPPORTS_BIG_ENDIAN
329 select SYS_SUPPORTS_HIGHMEM
Ralf Baechlecc801072007-02-17 02:58:39 +0000330 select SYS_SUPPORTS_KGDB
Ralf Baechlee73ea272006-06-04 11:51:46 +0100331 select SYS_SUPPORTS_SMP
Ralf Baechle5e83d432005-10-29 19:32:41 +0100332 help
333 Yosemite is an evaluation board for the RM9000x2 processor
334 manufactured by PMC-Sierra.
Linus Torvalds1da177e2005-04-16 15:20:36 -0700335
Ralf Baechle07119622005-09-03 15:56:11 -0700336config QEMU
Martin Michlmayr3fa986f2006-05-09 23:34:53 +0200337 bool "Qemu"
Ralf Baechle07119622005-09-03 15:56:11 -0700338 select DMA_COHERENT
339 select GENERIC_ISA_DMA
340 select HAVE_STD_PC_SERIAL_PORT
Ralf Baechled865bea2007-10-11 23:46:10 +0100341 select I8253
Ralf Baechle07119622005-09-03 15:56:11 -0700342 select I8259
Ralf Baechle7bcf7712007-10-11 23:46:09 +0100343 select IRQ_CPU
Ralf Baechle07119622005-09-03 15:56:11 -0700344 select ISA
Ralf Baechlede61b542007-07-12 17:41:23 +0100345 select PCSPEAKER
Ralf Baechle07119622005-09-03 15:56:11 -0700346 select SWAP_IO_SPACE
Ralf Baechle7cf80532005-10-20 22:33:09 +0100347 select SYS_HAS_CPU_MIPS32_R1
Ralf Baechle07119622005-09-03 15:56:11 -0700348 select SYS_SUPPORTS_32BIT_KERNEL
349 select SYS_SUPPORTS_BIG_ENDIAN
Aurelien Jarnoc8cc9612006-09-27 23:07:25 +0200350 select SYS_SUPPORTS_LITTLE_ENDIAN
Atsushi Nemotob1c6cd42006-07-03 00:09:47 +0900351 select ARCH_SPARSEMEM_ENABLE
Atsushi Nemoto9fd32cf2006-12-08 01:55:07 +0900352 select GENERIC_HARDIRQS_NO__DO_IRQ
Atsushi Nemoto72ede9b2007-03-18 01:01:39 +0900353 select NR_CPUS_DEFAULT_1
354 select SYS_SUPPORTS_SMP
Ralf Baechle07119622005-09-03 15:56:11 -0700355 help
Ralf Baechle5e83d432005-10-29 19:32:41 +0100356 Qemu is a software emulator which among other architectures also
357 can simulate a MIPS32 4Kc system. This patch adds support for the
358 system architecture that currently is being simulated by Qemu. It
359 will eventually be removed again when Qemu has the capability to
360 simulate actual MIPS hardware platforms. More information on Qemu
361 can be found at http://www.linux-mips.org/wiki/Qemu.
Ralf Baechle07119622005-09-03 15:56:11 -0700362
Linus Torvalds1da177e2005-04-16 15:20:36 -0700363config SGI_IP22
Martin Michlmayr3fa986f2006-05-09 23:34:53 +0200364 bool "SGI IP22 (Indy/Indigo2)"
Linus Torvalds1da177e2005-04-16 15:20:36 -0700365 select ARC
366 select ARC32
367 select BOOT_ELF32
368 select DMA_NONCOHERENT
Ralf Baechle5e83d432005-10-29 19:32:41 +0100369 select HW_HAS_EISA
Ralf Baechled865bea2007-10-11 23:46:10 +0100370 select I8253
Linus Torvalds1da177e2005-04-16 15:20:36 -0700371 select IP22_CPU_SCACHE
372 select IRQ_CPU
Ralf Baechleaa414df2006-11-30 01:14:51 +0000373 select GENERIC_ISA_DMA_SUPPORT_BROKEN
Linus Torvalds1da177e2005-04-16 15:20:36 -0700374 select SWAP_IO_SPACE
Ralf Baechle7cf80532005-10-20 22:33:09 +0100375 select SYS_HAS_CPU_R4X00
376 select SYS_HAS_CPU_R5000
Ralf Baechle36a88532007-03-01 11:56:43 +0000377 select SYS_HAS_EARLY_PRINTK
Yoichi Yuasaed5ba2f2005-09-03 15:56:21 -0700378 select SYS_SUPPORTS_32BIT_KERNEL
379 select SYS_SUPPORTS_64BIT_KERNEL
Ralf Baechle5e83d432005-10-29 19:32:41 +0100380 select SYS_SUPPORTS_BIG_ENDIAN
Linus Torvalds1da177e2005-04-16 15:20:36 -0700381 help
382 This are the SGI Indy, Challenge S and Indigo2, as well as certain
383 OEM variants like the Tandem CMN B006S. To compile a Linux kernel
384 that runs on these, say Y here.
385
386config SGI_IP27
Martin Michlmayr3fa986f2006-05-09 23:34:53 +0200387 bool "SGI IP27 (Origin200/2000)"
Linus Torvalds1da177e2005-04-16 15:20:36 -0700388 select ARC
389 select ARC64
Ralf Baechle5e83d432005-10-29 19:32:41 +0100390 select BOOT_ELF64
Linus Torvalds1da177e2005-04-16 15:20:36 -0700391 select DMA_IP27
Ralf Baechle36a88532007-03-01 11:56:43 +0000392 select SYS_HAS_EARLY_PRINTK
Linus Torvalds1da177e2005-04-16 15:20:36 -0700393 select HW_HAS_PCI
Ralf Baechle130e2fb2007-02-06 16:53:15 +0000394 select NR_CPUS_DEFAULT_64
Ralf Baechle7cf80532005-10-20 22:33:09 +0100395 select SYS_HAS_CPU_R10000
Yoichi Yuasaed5ba2f2005-09-03 15:56:21 -0700396 select SYS_SUPPORTS_64BIT_KERNEL
Ralf Baechle5e83d432005-10-29 19:32:41 +0100397 select SYS_SUPPORTS_BIG_ENDIAN
Ralf Baechlecc801072007-02-17 02:58:39 +0000398 select SYS_SUPPORTS_KGDB
Ralf Baechled8cb4e12006-06-11 23:03:08 +0100399 select SYS_SUPPORTS_NUMA
Ralf Baechle1a5c5de2006-11-02 17:23:33 +0000400 select SYS_SUPPORTS_SMP
Franck Bui-Huue77c2322006-12-01 18:22:27 +0100401 select GENERIC_HARDIRQS_NO__DO_IRQ
Linus Torvalds1da177e2005-04-16 15:20:36 -0700402 help
403 This are the SGI Origin 200, Origin 2000 and Onyx 2 Graphics
404 workstations. To compile a Linux kernel that runs on these, say Y
405 here.
406
Linus Torvalds1da177e2005-04-16 15:20:36 -0700407config SGI_IP32
Ralf Baechlecfd2afc2007-07-10 17:33:00 +0100408 bool "SGI IP32 (O2)"
Linus Torvalds1da177e2005-04-16 15:20:36 -0700409 select ARC
410 select ARC32
411 select BOOT_ELF32
Linus Torvalds1da177e2005-04-16 15:20:36 -0700412 select DMA_NONCOHERENT
413 select HW_HAS_PCI
Ralf Baechledd67b152007-10-14 14:02:26 +0100414 select IRQ_CPU
Linus Torvalds1da177e2005-04-16 15:20:36 -0700415 select R5000_CPU_SCACHE
416 select RM7000_CPU_SCACHE
Ralf Baechle7cf80532005-10-20 22:33:09 +0100417 select SYS_HAS_CPU_R5000
418 select SYS_HAS_CPU_R10000 if BROKEN
419 select SYS_HAS_CPU_RM7000
Ralf Baechledd2f18f2006-01-19 14:55:42 +0000420 select SYS_HAS_CPU_NEVADA
Yoichi Yuasaed5ba2f2005-09-03 15:56:21 -0700421 select SYS_SUPPORTS_64BIT_KERNEL
Ralf Baechle5e83d432005-10-29 19:32:41 +0100422 select SYS_SUPPORTS_BIG_ENDIAN
Linus Torvalds1da177e2005-04-16 15:20:36 -0700423 help
424 If you want this kernel to run on SGI O2 workstation, say Y here.
425
Yoichi Yuasaade299d2007-07-27 15:25:43 +0900426config SIBYTE_CRHINE
427 bool "Sibyte BCM91120C-CRhine"
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
Yoichi Yuasaade299d2007-07-27 15:25:43 +0900437config SIBYTE_CARMEL
438 bool "Sibyte BCM91120x-Carmel"
Ralf Baechle5e83d432005-10-29 19:32:41 +0100439 depends on EXPERIMENTAL
440 select BOOT_ELF32
441 select DMA_COHERENT
442 select SIBYTE_BCM1120
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_LITTLE_ENDIAN
447
448config SIBYTE_CRHONE
Martin Michlmayr3fa986f2006-05-09 23:34:53 +0200449 bool "Sibyte BCM91125C-CRhone"
Ralf Baechle5e83d432005-10-29 19:32:41 +0100450 depends on EXPERIMENTAL
451 select BOOT_ELF32
452 select DMA_COHERENT
453 select SIBYTE_BCM1125
454 select SWAP_IO_SPACE
Ralf Baechle7cf80532005-10-20 22:33:09 +0100455 select SYS_HAS_CPU_SB1
Ralf Baechle5e83d432005-10-29 19:32:41 +0100456 select SYS_SUPPORTS_BIG_ENDIAN
457 select SYS_SUPPORTS_HIGHMEM
458 select SYS_SUPPORTS_LITTLE_ENDIAN
459
Yoichi Yuasaade299d2007-07-27 15:25:43 +0900460config SIBYTE_RHONE
461 bool "Sibyte BCM91125E-Rhone"
462 depends on EXPERIMENTAL
463 select BOOT_ELF32
464 select DMA_COHERENT
465 select SIBYTE_BCM1125H
466 select SWAP_IO_SPACE
467 select SYS_HAS_CPU_SB1
468 select SYS_SUPPORTS_BIG_ENDIAN
469 select SYS_SUPPORTS_LITTLE_ENDIAN
470
471config SIBYTE_SWARM
472 bool "Sibyte BCM91250A-SWARM"
473 select BOOT_ELF32
474 select DMA_COHERENT
475 select NR_CPUS_DEFAULT_2
476 select SIBYTE_SB1250
477 select SWAP_IO_SPACE
478 select SYS_HAS_CPU_SB1
479 select SYS_SUPPORTS_BIG_ENDIAN
480 select SYS_SUPPORTS_HIGHMEM
481 select SYS_SUPPORTS_KGDB
482 select SYS_SUPPORTS_LITTLE_ENDIAN
483
484config SIBYTE_LITTLESUR
485 bool "Sibyte BCM91250C2-LittleSur"
486 depends on EXPERIMENTAL
487 select BOOT_ELF32
488 select DMA_COHERENT
489 select NR_CPUS_DEFAULT_2
490 select SIBYTE_SB1250
491 select SWAP_IO_SPACE
492 select SYS_HAS_CPU_SB1
493 select SYS_SUPPORTS_BIG_ENDIAN
494 select SYS_SUPPORTS_HIGHMEM
495 select SYS_SUPPORTS_LITTLE_ENDIAN
496
497config SIBYTE_SENTOSA
498 bool "Sibyte BCM91250E-Sentosa"
499 depends on EXPERIMENTAL
500 select BOOT_ELF32
501 select DMA_COHERENT
502 select NR_CPUS_DEFAULT_2
503 select SIBYTE_SB1250
504 select SWAP_IO_SPACE
505 select SYS_HAS_CPU_SB1
506 select SYS_SUPPORTS_BIG_ENDIAN
507 select SYS_SUPPORTS_LITTLE_ENDIAN
508
509config SIBYTE_PTSWARM
510 bool "Sibyte BCM91250PT-PTSWARM"
511 depends on EXPERIMENTAL
512 select BOOT_ELF32
513 select DMA_COHERENT
514 select NR_CPUS_DEFAULT_2
515 select SIBYTE_SB1250
516 select SWAP_IO_SPACE
517 select SYS_HAS_CPU_SB1
518 select SYS_SUPPORTS_BIG_ENDIAN
519 select SYS_SUPPORTS_HIGHMEM
520 select SYS_SUPPORTS_LITTLE_ENDIAN
521
522config SIBYTE_BIGSUR
523 bool "Sibyte BCM91480B-BigSur"
524 select BOOT_ELF32
525 select DMA_COHERENT
526 select NR_CPUS_DEFAULT_4
Yoichi Yuasaade299d2007-07-27 15:25:43 +0900527 select SIBYTE_BCM1x80
528 select SWAP_IO_SPACE
529 select SYS_HAS_CPU_SB1
530 select SYS_SUPPORTS_BIG_ENDIAN
531 select SYS_SUPPORTS_LITTLE_ENDIAN
532
Thomas Bogendoerfer14b36af2006-12-05 17:05:44 +0100533config SNI_RM
534 bool "SNI RM200/300/400"
Thomas Bogendoerfer4a0312f2006-06-13 13:59:01 +0200535 select ARC if CPU_LITTLE_ENDIAN
536 select ARC32 if CPU_LITTLE_ENDIAN
Ralf Baechle5e83d432005-10-29 19:32:41 +0100537 select ARCH_MAY_HAVE_PC_FDC
538 select BOOT_ELF32
539 select DMA_NONCOHERENT
540 select GENERIC_ISA_DMA
Ralf Baechle5e83d432005-10-29 19:32:41 +0100541 select HW_HAS_EISA
542 select HW_HAS_PCI
Thomas Bogendoerferc066a322006-12-28 18:22:32 +0100543 select IRQ_CPU
Ralf Baechled865bea2007-10-11 23:46:10 +0100544 select I8253
Ralf Baechle5e83d432005-10-29 19:32:41 +0100545 select I8259
546 select ISA
Ralf Baechlede61b542007-07-12 17:41:23 +0100547 select PCSPEAKER
Thomas Bogendoerfer4a0312f2006-06-13 13:59:01 +0200548 select SWAP_IO_SPACE if CPU_BIG_ENDIAN
Ralf Baechle7cf80532005-10-20 22:33:09 +0100549 select SYS_HAS_CPU_R4X00
Thomas Bogendoerfer4a0312f2006-06-13 13:59:01 +0200550 select SYS_HAS_CPU_R5000
Thomas Bogendoerferc066a322006-12-28 18:22:32 +0100551 select SYS_HAS_CPU_R10000
Thomas Bogendoerfer4a0312f2006-06-13 13:59:01 +0200552 select R5000_CPU_SCACHE
Ralf Baechle36a88532007-03-01 11:56:43 +0000553 select SYS_HAS_EARLY_PRINTK
Yoichi Yuasaed5ba2f2005-09-03 15:56:21 -0700554 select SYS_SUPPORTS_32BIT_KERNEL
Ralf Baechle5e83d432005-10-29 19:32:41 +0100555 select SYS_SUPPORTS_64BIT_KERNEL if EXPERIMENTAL
Thomas Bogendoerfer4a0312f2006-06-13 13:59:01 +0200556 select SYS_SUPPORTS_BIG_ENDIAN
Ralf Baechle5e83d432005-10-29 19:32:41 +0100557 select SYS_SUPPORTS_HIGHMEM
558 select SYS_SUPPORTS_LITTLE_ENDIAN
Linus Torvalds1da177e2005-04-16 15:20:36 -0700559 help
Thomas Bogendoerfer14b36af2006-12-05 17:05:44 +0100560 The SNI RM200/300/400 are MIPS-based machines manufactured by
561 Siemens Nixdorf Informationssysteme (SNI), parent company of Pyramid
Ralf Baechle5e83d432005-10-29 19:32:41 +0100562 Technology and now in turn merged with Fujitsu. Say Y here to
563 support this machine type.
Linus Torvalds1da177e2005-04-16 15:20:36 -0700564
Ralf Baechle5e83d432005-10-29 19:32:41 +0100565config TOSHIBA_JMR3927
Martin Michlmayr3fa986f2006-05-09 23:34:53 +0200566 bool "Toshiba JMR-TX3927 board"
Ralf Baechle5e83d432005-10-29 19:32:41 +0100567 select DMA_NONCOHERENT
568 select HW_HAS_PCI
569 select MIPS_TX3927
Atsushi Nemotoc87abd72007-08-02 23:36:02 +0900570 select IRQ_TXX9
Ralf Baechle5e83d432005-10-29 19:32:41 +0100571 select SWAP_IO_SPACE
Ralf Baechle7cf80532005-10-20 22:33:09 +0100572 select SYS_HAS_CPU_TX39XX
Ralf Baechle5e83d432005-10-29 19:32:41 +0100573 select SYS_SUPPORTS_32BIT_KERNEL
Sergei Shtylyov6a2603a2007-02-07 20:39:05 +0300574 select SYS_SUPPORTS_LITTLE_ENDIAN
Ralf Baechle5e83d432005-10-29 19:32:41 +0100575 select SYS_SUPPORTS_BIG_ENDIAN
Atsushi Nemoto21274352007-03-15 00:58:28 +0900576 select GENERIC_HARDIRQS_NO__DO_IRQ
Ralf Baechle5e83d432005-10-29 19:32:41 +0100577
578config TOSHIBA_RBTX4927
Yoichi Yuasa08a91282007-07-27 15:20:24 +0900579 bool "Toshiba RBTX49[23]7 board"
Ralf Baechle5e83d432005-10-29 19:32:41 +0100580 select DMA_NONCOHERENT
581 select HAS_TXX9_SERIAL
582 select HW_HAS_PCI
Atsushi Nemotoc87abd72007-08-02 23:36:02 +0900583 select IRQ_CPU
584 select IRQ_TXX9
585 select I8259 if TOSHIBA_FPCIB0
Ralf Baechle5e83d432005-10-29 19:32:41 +0100586 select SWAP_IO_SPACE
Ralf Baechle7cf80532005-10-20 22:33:09 +0100587 select SYS_HAS_CPU_TX49XX
Ralf Baechle5e83d432005-10-29 19:32:41 +0100588 select SYS_SUPPORTS_32BIT_KERNEL
589 select SYS_SUPPORTS_64BIT_KERNEL
Sergei Shtylyov6a2603a2007-02-07 20:39:05 +0300590 select SYS_SUPPORTS_LITTLE_ENDIAN
Ralf Baechle5e83d432005-10-29 19:32:41 +0100591 select SYS_SUPPORTS_BIG_ENDIAN
Ralf Baechlecc801072007-02-17 02:58:39 +0000592 select SYS_SUPPORTS_KGDB
Atsushi Nemoto9fd32cf2006-12-08 01:55:07 +0900593 select GENERIC_HARDIRQS_NO__DO_IRQ
Ralf Baechle5e83d432005-10-29 19:32:41 +0100594 help
595 This Toshiba board is based on the TX4927 processor. Say Y here to
596 support this machine type
Linus Torvalds1da177e2005-04-16 15:20:36 -0700597
Ralf Baechle23fbee92005-07-25 22:45:45 +0000598config TOSHIBA_RBTX4938
Martin Michlmayr3fa986f2006-05-09 23:34:53 +0200599 bool "Toshiba RBTX4938 board"
Ralf Baechle23fbee92005-07-25 22:45:45 +0000600 select DMA_NONCOHERENT
Ralf Baechle23fbee92005-07-25 22:45:45 +0000601 select HAS_TXX9_SERIAL
602 select HW_HAS_PCI
Atsushi Nemotoc87abd72007-08-02 23:36:02 +0900603 select IRQ_CPU
604 select IRQ_TXX9
Ralf Baechle23fbee92005-07-25 22:45:45 +0000605 select SWAP_IO_SPACE
Ralf Baechle7cf80532005-10-20 22:33:09 +0100606 select SYS_HAS_CPU_TX49XX
Ralf Baechle23fbee92005-07-25 22:45:45 +0000607 select SYS_SUPPORTS_32BIT_KERNEL
608 select SYS_SUPPORTS_LITTLE_ENDIAN
609 select SYS_SUPPORTS_BIG_ENDIAN
Ralf Baechlecc801072007-02-17 02:58:39 +0000610 select SYS_SUPPORTS_KGDB
Atsushi Nemoto9fd32cf2006-12-08 01:55:07 +0900611 select GENERIC_HARDIRQS_NO__DO_IRQ
Atsushi Nemoto3896b052007-06-22 23:21:55 +0900612 select GENERIC_GPIO
Ralf Baechle23fbee92005-07-25 22:45:45 +0000613 help
614 This Toshiba board is based on the TX4938 processor. Say Y here to
615 support this machine type
616
Yoichi Yuasaade299d2007-07-27 15:25:43 +0900617config WR_PPMC
618 bool "Wind River PPMC board"
619 select IRQ_CPU
620 select BOOT_ELF32
621 select DMA_NONCOHERENT
622 select HW_HAS_PCI
623 select PCI_GT64XXX_PCI0
624 select SWAP_IO_SPACE
625 select SYS_HAS_CPU_MIPS32_R1
626 select SYS_HAS_CPU_MIPS32_R2
627 select SYS_HAS_CPU_MIPS64_R1
628 select SYS_HAS_CPU_NEVADA
629 select SYS_HAS_CPU_RM7000
630 select SYS_SUPPORTS_32BIT_KERNEL
631 select SYS_SUPPORTS_64BIT_KERNEL
632 select SYS_SUPPORTS_BIG_ENDIAN
633 select SYS_SUPPORTS_LITTLE_ENDIAN
634 help
635 This enables support for the Wind River MIPS32 4KC PPMC evaluation
636 board, which is based on GT64120 bridge chip.
637
Linus Torvalds1da177e2005-04-16 15:20:36 -0700638endchoice
639
Yoichi Yuasac3543e22007-05-11 20:44:30 +0900640source "arch/mips/au1000/Kconfig"
Ralf Baechle5e83d432005-10-29 19:32:41 +0100641source "arch/mips/jazz/Kconfig"
Brian Murphy1f21d2b2007-08-21 22:34:16 +0200642source "arch/mips/lasat/Kconfig"
Ralf Baechle5e83d432005-10-29 19:32:41 +0100643source "arch/mips/pmc-sierra/Kconfig"
Ralf Baechle29c48692005-02-07 01:27:14 +0000644source "arch/mips/sgi-ip27/Kconfig"
Ralf Baechle38b18f722005-02-03 14:28:23 +0000645source "arch/mips/sibyte/Kconfig"
Ralf Baechle5e83d432005-10-29 19:32:41 +0100646source "arch/mips/tx4927/Kconfig"
Ralf Baechle23fbee92005-07-25 22:45:45 +0000647source "arch/mips/tx4938/Kconfig"
Ralf Baechle5e83d432005-10-29 19:32:41 +0100648source "arch/mips/vr41xx/Kconfig"
Ralf Baechle38b18f722005-02-03 14:28:23 +0000649
Ralf Baechle5e83d432005-10-29 19:32:41 +0100650endmenu
651
Linus Torvalds1da177e2005-04-16 15:20:36 -0700652config RWSEM_GENERIC_SPINLOCK
653 bool
654 default y
655
656config RWSEM_XCHGADD_ALGORITHM
657 bool
658
David Howellsf0d1b0b2006-12-08 02:37:49 -0800659config ARCH_HAS_ILOG2_U32
660 bool
661 default n
662
663config ARCH_HAS_ILOG2_U64
664 bool
665 default n
666
Akinobu Mita3c9ee7e2006-03-26 01:39:30 -0800667config GENERIC_FIND_NEXT_BIT
668 bool
669 default y
670
671config GENERIC_HWEIGHT
672 bool
673 default y
674
Linus Torvalds1da177e2005-04-16 15:20:36 -0700675config GENERIC_CALIBRATE_DELAY
676 bool
677 default y
678
Ralf Baechle7bcf7712007-10-11 23:46:09 +0100679config GENERIC_CLOCKEVENTS
680 bool
681 default y
682
Ralf Baechle8db02012006-10-02 16:54:48 +0100683config GENERIC_TIME
684 bool
685 default y
686
Ralf Baechlef5ff0a22007-08-13 15:26:12 +0100687config GENERIC_CMOS_UPDATE
688 bool
689 default y
690
Atsushi Nemoto1cc89032006-04-04 13:11:45 +0900691config SCHED_NO_NO_OMIT_FRAME_POINTER
692 bool
693 default y
694
Franck Bui-Huue77c2322006-12-01 18:22:27 +0100695config GENERIC_HARDIRQS_NO__DO_IRQ
696 bool
697 default n
698
Linus Torvalds1da177e2005-04-16 15:20:36 -0700699#
700# Select some configuration options automatically based on user selections.
701#
702config ARC
703 bool
Linus Torvalds1da177e2005-04-16 15:20:36 -0700704
Ralf Baechle61ed2422005-09-15 08:52:34 +0000705config ARCH_MAY_HAVE_PC_FDC
706 bool
707
Marc St-Jean9267a302007-06-14 15:55:31 -0600708config BOOT_RAW
709 bool
710
Aurelien Jarnodf78b5c2007-09-05 08:58:26 +0200711config CFE
712 bool
713
Ralf Baechle4ce588c2005-09-03 15:56:19 -0700714config DMA_COHERENT
Linus Torvalds1da177e2005-04-16 15:20:36 -0700715 bool
716
Ralf Baechle4ce588c2005-09-03 15:56:19 -0700717config DMA_IP27
Linus Torvalds1da177e2005-04-16 15:20:36 -0700718 bool
719
Ralf Baechle4ce588c2005-09-03 15:56:19 -0700720config DMA_IP32
721 bool
722 select DMA_NEED_PCI_MAP_STATE
723
724config DMA_NONCOHERENT
725 bool
726 select DMA_NEED_PCI_MAP_STATE
727
728config DMA_NEED_PCI_MAP_STATE
Linus Torvalds1da177e2005-04-16 15:20:36 -0700729 bool
730
731config EARLY_PRINTK
Ralf Baechle36a88532007-03-01 11:56:43 +0000732 bool "Early printk" if EMBEDDED && DEBUG_KERNEL
733 depends on SYS_HAS_EARLY_PRINTK
734 default y
735 help
736 This option enables special console drivers which allow the kernel
737 to print messages very early in the bootup process.
738
739 This is useful for kernel debugging when your machine crashes very
Robert P. J. Day490dcc42007-05-20 12:11:07 -0400740 early before the console code is initialized. For normal operation,
741 it is not recommended because it looks ugly on some machines and
742 doesn't cooperate with an X server. You should normally say N here,
Ralf Baechle36a88532007-03-01 11:56:43 +0000743 unless you want to debug such a crash.
744
745config SYS_HAS_EARLY_PRINTK
Linus Torvalds1da177e2005-04-16 15:20:36 -0700746 bool
Linus Torvalds1da177e2005-04-16 15:20:36 -0700747
Ralf Baechledbb74542007-08-07 14:52:17 +0100748config HOTPLUG_CPU
749 bool
750 default n
751
Linus Torvalds1da177e2005-04-16 15:20:36 -0700752config I8259
753 bool
Linus Torvalds1da177e2005-04-16 15:20:36 -0700754
Linus Torvalds1da177e2005-04-16 15:20:36 -0700755config MIPS_BONITO64
756 bool
Linus Torvalds1da177e2005-04-16 15:20:36 -0700757
758config MIPS_MSC
759 bool
Linus Torvalds1da177e2005-04-16 15:20:36 -0700760
Brian Murphy1f21d2b2007-08-21 22:34:16 +0200761config MIPS_NILE4
762 bool
763
Linus Torvalds1da177e2005-04-16 15:20:36 -0700764config MIPS_DISABLE_OBSOLETE_IDE
765 bool
766
Maciej W. Rozyckid388d682007-05-29 15:08:07 +0100767config NO_IOPORT
768 def_bool n
769
Ralf Baechle8313da32007-08-24 16:48:30 +0100770config GENERIC_ISA_DMA
771 bool
772 select ZONE_DMA if GENERIC_ISA_DMA_SUPPORT_BROKEN=n
773
Ralf Baechleaa414df2006-11-30 01:14:51 +0000774config GENERIC_ISA_DMA_SUPPORT_BROKEN
775 bool
Ralf Baechle8313da32007-08-24 16:48:30 +0100776 select GENERIC_ISA_DMA
Ralf Baechleaa414df2006-11-30 01:14:51 +0000777
Yoichi Yuasa09663332007-05-22 00:05:58 +0900778config GENERIC_GPIO
779 bool
780
Ralf Baechle5e83d432005-10-29 19:32:41 +0100781#
Matt LaPlante3cb2fcc2006-11-30 05:22:59 +0100782# Endianess selection. Sufficiently obscure so many users don't know what to
Ralf Baechle5e83d432005-10-29 19:32:41 +0100783# answer,so we try hard to limit the available choices. Also the use of a
784# choice statement should be more obvious to the user.
785#
786choice
787 prompt "Endianess selection"
Linus Torvalds1da177e2005-04-16 15:20:36 -0700788 help
789 Some MIPS machines can be configured for either little or big endian
Ralf Baechle5e83d432005-10-29 19:32:41 +0100790 byte order. These modes require different kernels and a different
Matt LaPlante3cb2fcc2006-11-30 05:22:59 +0100791 Linux distribution. In general there is one preferred byteorder for a
Ralf Baechle5e83d432005-10-29 19:32:41 +0100792 particular system but some systems are just as commonly used in the
David Sterba3dde6ad2007-05-09 07:12:20 +0200793 one or the other endianness.
Ralf Baechle5e83d432005-10-29 19:32:41 +0100794
795config CPU_BIG_ENDIAN
796 bool "Big endian"
797 depends on SYS_SUPPORTS_BIG_ENDIAN
798
799config CPU_LITTLE_ENDIAN
800 bool "Little endian"
801 depends on SYS_SUPPORTS_LITTLE_ENDIAN
802 help
803
804endchoice
805
Ralf Baechle21162452007-02-09 17:08:58 +0000806config SYS_SUPPORTS_APM_EMULATION
807 bool
808
Ralf Baechle5e83d432005-10-29 19:32:41 +0100809config SYS_SUPPORTS_BIG_ENDIAN
810 bool
811
812config SYS_SUPPORTS_LITTLE_ENDIAN
813 bool
Linus Torvalds1da177e2005-04-16 15:20:36 -0700814
815config IRQ_CPU
816 bool
817
818config IRQ_CPU_RM7K
819 bool
820
Ralf Baechle5e83d432005-10-29 19:32:41 +0100821config IRQ_CPU_RM9K
822 bool
823
Marc St-Jean9267a302007-06-14 15:55:31 -0600824config IRQ_MSP_SLP
825 bool
826
827config IRQ_MSP_CIC
828 bool
829
Atsushi Nemoto8420fd02007-08-02 23:35:53 +0900830config IRQ_TXX9
831 bool
832
Yoichi Yuasad5ab1a62007-09-13 23:51:26 +0900833config IRQ_GT641XX
834 bool
835
Linus Torvalds1da177e2005-04-16 15:20:36 -0700836config MIPS_BOARDS_GEN
837 bool
Linus Torvalds1da177e2005-04-16 15:20:36 -0700838
Yoichi Yuasa252161e2007-03-14 21:51:26 +0900839config PCI_GT64XXX_PCI0
Linus Torvalds1da177e2005-04-16 15:20:36 -0700840 bool
Linus Torvalds1da177e2005-04-16 15:20:36 -0700841
Marc St-Jean9267a302007-06-14 15:55:31 -0600842config NO_EXCEPT_FILL
843 bool
844
Linus Torvalds1da177e2005-04-16 15:20:36 -0700845config MIPS_TX3927
846 bool
Linus Torvalds1da177e2005-04-16 15:20:36 -0700847 select HAS_TXX9_SERIAL
Linus Torvalds1da177e2005-04-16 15:20:36 -0700848
thomas@koeller.dyndns.org663c3d92006-08-27 13:51:48 +0200849config MIPS_RM9122
850 bool
851 select SERIAL_RM9000
thomas@koeller.dyndns.org663c3d92006-08-27 13:51:48 +0200852
Pete Popovbdf21b12005-07-14 17:47:57 +0000853config PNX8550
854 bool
855 select SOC_PNX8550
856
857config SOC_PNX8550
858 bool
Pete Popovbdf21b12005-07-14 17:47:57 +0000859 select DMA_NONCOHERENT
860 select HW_HAS_PCI
Ralf Baechleb8c2a772005-10-31 13:08:37 +0000861 select SYS_HAS_CPU_MIPS32_R1
Ralf Baechle36a88532007-03-01 11:56:43 +0000862 select SYS_HAS_EARLY_PRINTK
Ralf Baechle7cf80532005-10-20 22:33:09 +0100863 select SYS_SUPPORTS_32BIT_KERNEL
Franck Bui-Huue77c2322006-12-01 18:22:27 +0100864 select GENERIC_HARDIRQS_NO__DO_IRQ
Ralf Baechlecc801072007-02-17 02:58:39 +0000865 select SYS_SUPPORTS_KGDB
Florian Fainelli4ead1682007-05-22 21:44:42 +0200866 select GENERIC_GPIO
Pete Popovbdf21b12005-07-14 17:47:57 +0000867
Linus Torvalds1da177e2005-04-16 15:20:36 -0700868config SWAP_IO_SPACE
869 bool
870
dmitry pervushin355c4712006-05-21 14:53:06 +0400871config EMMA2RH
872 bool
873 depends on MARKEINS
874 default y
875
thomas@koeller.dyndns.org663c3d92006-08-27 13:51:48 +0200876config SERIAL_RM9000
877 bool
878
Ralf Baechle5e83d432005-10-29 19:32:41 +0100879config ARC32
880 bool
881
Linus Torvalds1da177e2005-04-16 15:20:36 -0700882config BOOT_ELF32
883 bool
Linus Torvalds1da177e2005-04-16 15:20:36 -0700884
885config MIPS_L1_CACHE_SHIFT
886 int
Thomas Bogendoerfer06cf5582007-06-20 23:36:47 +0200887 default "4" if MACH_DECSTATION
888 default "7" if SGI_IP27 || SNI_RM
Marc St-Jean9267a302007-06-14 15:55:31 -0600889 default "4" if PMC_MSP4200_EVAL
Linus Torvalds1da177e2005-04-16 15:20:36 -0700890 default "5"
891
Linus Torvalds1da177e2005-04-16 15:20:36 -0700892config HAVE_STD_PC_SERIAL_PORT
893 bool
894
Linus Torvalds1da177e2005-04-16 15:20:36 -0700895config ARC_CONSOLE
896 bool "ARC console support"
Ralf Baechle36a88532007-03-01 11:56:43 +0000897 depends on SGI_IP22 || (SNI_RM && CPU_LITTLE_ENDIAN)
Linus Torvalds1da177e2005-04-16 15:20:36 -0700898
899config ARC_MEMORY
900 bool
Thomas Bogendoerfer14b36af2006-12-05 17:05:44 +0100901 depends on MACH_JAZZ || SNI_RM || SGI_IP32
Linus Torvalds1da177e2005-04-16 15:20:36 -0700902 default y
903
904config ARC_PROMLIB
905 bool
Thomas Bogendoerfer14b36af2006-12-05 17:05:44 +0100906 depends on MACH_JAZZ || SNI_RM || SGI_IP22 || SGI_IP32
Linus Torvalds1da177e2005-04-16 15:20:36 -0700907 default y
908
909config ARC64
910 bool
Linus Torvalds1da177e2005-04-16 15:20:36 -0700911
912config BOOT_ELF64
913 bool
Linus Torvalds1da177e2005-04-16 15:20:36 -0700914
Linus Torvalds1da177e2005-04-16 15:20:36 -0700915menu "CPU selection"
916
Ralf Baechle7bcf7712007-10-11 23:46:09 +0100917source "kernel/time/Kconfig"
918
Linus Torvalds1da177e2005-04-16 15:20:36 -0700919choice
920 prompt "CPU type"
921 default CPU_R4X00
922
Fuxin Zhang2a21c732007-06-06 14:52:43 +0800923config CPU_LOONGSON2
924 bool "Loongson 2"
925 depends on SYS_HAS_CPU_LOONGSON2
926 select CPU_SUPPORTS_32BIT_KERNEL
927 select CPU_SUPPORTS_64BIT_KERNEL
928 select CPU_SUPPORTS_HIGHMEM
929 help
930 The Loongson 2E processor implements the MIPS III instruction set
931 with many extensions.
932
Ralf Baechle6e760c82005-07-06 12:08:11 +0000933config CPU_MIPS32_R1
934 bool "MIPS32 Release 1"
Ralf Baechle7cf80532005-10-20 22:33:09 +0100935 depends on SYS_HAS_CPU_MIPS32_R1
Ralf Baechlef7062dd2006-04-24 14:58:53 +0100936 select CPU_HAS_LLSC
Ralf Baechle6e760c82005-07-06 12:08:11 +0000937 select CPU_HAS_PREFETCH
Ralf Baechle797798c2005-08-10 15:17:11 +0000938 select CPU_SUPPORTS_32BIT_KERNEL
Ralf Baechleec28f302006-03-05 00:45:33 +0000939 select CPU_SUPPORTS_HIGHMEM
Ralf Baechle6e760c82005-07-06 12:08:11 +0000940 help
Ralf Baechle5e83d432005-10-29 19:32:41 +0100941 Choose this option to build a kernel for release 1 or later of the
Ralf Baechle1e5f1ca2005-07-12 14:51:22 +0000942 MIPS32 architecture. Most modern embedded systems with a 32-bit
943 MIPS processor are based on a MIPS32 processor. If you know the
944 specific type of processor in your system, choose those that one
945 otherwise CPU_MIPS32_R1 is a safe bet for any MIPS32 system.
946 Release 2 of the MIPS32 architecture is available since several
947 years so chances are you even have a MIPS32 Release 2 processor
948 in which case you should choose CPU_MIPS32_R2 instead for better
949 performance.
950
951config CPU_MIPS32_R2
952 bool "MIPS32 Release 2"
Ralf Baechle7cf80532005-10-20 22:33:09 +0100953 depends on SYS_HAS_CPU_MIPS32_R2
Ralf Baechlef7062dd2006-04-24 14:58:53 +0100954 select CPU_HAS_LLSC
Ralf Baechle1e5f1ca2005-07-12 14:51:22 +0000955 select CPU_HAS_PREFETCH
Ralf Baechle797798c2005-08-10 15:17:11 +0000956 select CPU_SUPPORTS_32BIT_KERNEL
Ralf Baechleec28f302006-03-05 00:45:33 +0000957 select CPU_SUPPORTS_HIGHMEM
Ralf Baechle1e5f1ca2005-07-12 14:51:22 +0000958 help
Ralf Baechle5e83d432005-10-29 19:32:41 +0100959 Choose this option to build a kernel for release 2 or later of the
Ralf Baechle6e760c82005-07-06 12:08:11 +0000960 MIPS32 architecture. Most modern embedded systems with a 32-bit
961 MIPS processor are based on a MIPS32 processor. If you know the
962 specific type of processor in your system, choose those that one
963 otherwise CPU_MIPS32_R1 is a safe bet for any MIPS32 system.
Linus Torvalds1da177e2005-04-16 15:20:36 -0700964
Ralf Baechle6e760c82005-07-06 12:08:11 +0000965config CPU_MIPS64_R1
966 bool "MIPS64 Release 1"
Ralf Baechle7cf80532005-10-20 22:33:09 +0100967 depends on SYS_HAS_CPU_MIPS64_R1
Ralf Baechlef7062dd2006-04-24 14:58:53 +0100968 select CPU_HAS_LLSC
Ralf Baechle797798c2005-08-10 15:17:11 +0000969 select CPU_HAS_PREFETCH
Yoichi Yuasaed5ba2f2005-09-03 15:56:21 -0700970 select CPU_SUPPORTS_32BIT_KERNEL
971 select CPU_SUPPORTS_64BIT_KERNEL
Ralf Baechleec28f302006-03-05 00:45:33 +0000972 select CPU_SUPPORTS_HIGHMEM
Ralf Baechle6e760c82005-07-06 12:08:11 +0000973 help
974 Choose this option to build a kernel for release 1 or later of the
975 MIPS64 architecture. Many modern embedded systems with a 64-bit
976 MIPS processor are based on a MIPS64 processor. If you know the
977 specific type of processor in your system, choose those that one
978 otherwise CPU_MIPS64_R1 is a safe bet for any MIPS64 system.
Ralf Baechle1e5f1ca2005-07-12 14:51:22 +0000979 Release 2 of the MIPS64 architecture is available since several
980 years so chances are you even have a MIPS64 Release 2 processor
981 in which case you should choose CPU_MIPS64_R2 instead for better
982 performance.
983
984config CPU_MIPS64_R2
985 bool "MIPS64 Release 2"
Ralf Baechle7cf80532005-10-20 22:33:09 +0100986 depends on SYS_HAS_CPU_MIPS64_R2
Ralf Baechlef7062dd2006-04-24 14:58:53 +0100987 select CPU_HAS_LLSC
Ralf Baechle797798c2005-08-10 15:17:11 +0000988 select CPU_HAS_PREFETCH
Ralf Baechle1e5f1ca2005-07-12 14:51:22 +0000989 select CPU_SUPPORTS_32BIT_KERNEL
990 select CPU_SUPPORTS_64BIT_KERNEL
Ralf Baechleec28f302006-03-05 00:45:33 +0000991 select CPU_SUPPORTS_HIGHMEM
Ralf Baechle1e5f1ca2005-07-12 14:51:22 +0000992 help
993 Choose this option to build a kernel for release 2 or later of the
994 MIPS64 architecture. Many modern embedded systems with a 64-bit
995 MIPS processor are based on a MIPS64 processor. If you know the
996 specific type of processor in your system, choose those that one
997 otherwise CPU_MIPS64_R1 is a safe bet for any MIPS64 system.
Linus Torvalds1da177e2005-04-16 15:20:36 -0700998
999config CPU_R3000
1000 bool "R3000"
Ralf Baechle7cf80532005-10-20 22:33:09 +01001001 depends on SYS_HAS_CPU_R3000
Ralf Baechlef7062dd2006-04-24 14:58:53 +01001002 select CPU_HAS_WB
Yoichi Yuasaed5ba2f2005-09-03 15:56:21 -07001003 select CPU_SUPPORTS_32BIT_KERNEL
Ralf Baechle797798c2005-08-10 15:17:11 +00001004 select CPU_SUPPORTS_HIGHMEM
Linus Torvalds1da177e2005-04-16 15:20:36 -07001005 help
1006 Please make sure to pick the right CPU type. Linux/MIPS is not
1007 designed to be generic, i.e. Kernels compiled for R3000 CPUs will
1008 *not* work on R4000 machines and vice versa. However, since most
1009 of the supported machines have an R4000 (or similar) CPU, R4x00
1010 might be a safe bet. If the resulting kernel does not work,
1011 try to recompile with R3000.
1012
1013config CPU_TX39XX
1014 bool "R39XX"
Ralf Baechle7cf80532005-10-20 22:33:09 +01001015 depends on SYS_HAS_CPU_TX39XX
Yoichi Yuasaed5ba2f2005-09-03 15:56:21 -07001016 select CPU_SUPPORTS_32BIT_KERNEL
Linus Torvalds1da177e2005-04-16 15:20:36 -07001017
1018config CPU_VR41XX
1019 bool "R41xx"
Ralf Baechle7cf80532005-10-20 22:33:09 +01001020 depends on SYS_HAS_CPU_VR41XX
Yoichi Yuasaed5ba2f2005-09-03 15:56:21 -07001021 select CPU_SUPPORTS_32BIT_KERNEL
1022 select CPU_SUPPORTS_64BIT_KERNEL
Linus Torvalds1da177e2005-04-16 15:20:36 -07001023 help
Ralf Baechle5e83d432005-10-29 19:32:41 +01001024 The options selects support for the NEC VR4100 series of processors.
Linus Torvalds1da177e2005-04-16 15:20:36 -07001025 Only choose this option if you have one of these processors as a
1026 kernel built with this option will not run on any other type of
1027 processor or vice versa.
1028
1029config CPU_R4300
1030 bool "R4300"
Ralf Baechle7cf80532005-10-20 22:33:09 +01001031 depends on SYS_HAS_CPU_R4300
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 R4300-series processors.
1037
1038config CPU_R4X00
1039 bool "R4x00"
Ralf Baechle7cf80532005-10-20 22:33:09 +01001040 depends on SYS_HAS_CPU_R4X00
Ralf Baechlef7062dd2006-04-24 14:58:53 +01001041 select CPU_HAS_LLSC
Yoichi Yuasaed5ba2f2005-09-03 15:56:21 -07001042 select CPU_SUPPORTS_32BIT_KERNEL
1043 select CPU_SUPPORTS_64BIT_KERNEL
Linus Torvalds1da177e2005-04-16 15:20:36 -07001044 help
1045 MIPS Technologies R4000-series processors other than 4300, including
1046 the R4000, R4400, R4600, and 4700.
1047
1048config CPU_TX49XX
1049 bool "R49XX"
Ralf Baechle7cf80532005-10-20 22:33:09 +01001050 depends on SYS_HAS_CPU_TX49XX
Ralf Baechlef7062dd2006-04-24 14:58:53 +01001051 select CPU_HAS_LLSC
Atsushi Nemotode862b42006-03-17 12:59:22 +09001052 select CPU_HAS_PREFETCH
Yoichi Yuasaed5ba2f2005-09-03 15:56:21 -07001053 select CPU_SUPPORTS_32BIT_KERNEL
1054 select CPU_SUPPORTS_64BIT_KERNEL
Linus Torvalds1da177e2005-04-16 15:20:36 -07001055
1056config CPU_R5000
1057 bool "R5000"
Ralf Baechle7cf80532005-10-20 22:33:09 +01001058 depends on SYS_HAS_CPU_R5000
Ralf Baechlef7062dd2006-04-24 14:58:53 +01001059 select CPU_HAS_LLSC
Yoichi Yuasaed5ba2f2005-09-03 15:56:21 -07001060 select CPU_SUPPORTS_32BIT_KERNEL
1061 select CPU_SUPPORTS_64BIT_KERNEL
Linus Torvalds1da177e2005-04-16 15:20:36 -07001062 help
1063 MIPS Technologies R5000-series processors other than the Nevada.
1064
1065config CPU_R5432
1066 bool "R5432"
Ralf Baechle7cf80532005-10-20 22:33:09 +01001067 depends on SYS_HAS_CPU_R5432
Ralf Baechlef7062dd2006-04-24 14:58:53 +01001068 select CPU_HAS_LLSC
Ralf Baechle5e83d432005-10-29 19:32:41 +01001069 select CPU_SUPPORTS_32BIT_KERNEL
1070 select CPU_SUPPORTS_64BIT_KERNEL
Linus Torvalds1da177e2005-04-16 15:20:36 -07001071
1072config CPU_R6000
1073 bool "R6000"
Yoichi Yuasaed5ba2f2005-09-03 15:56:21 -07001074 depends on EXPERIMENTAL
Ralf Baechlef7062dd2006-04-24 14:58:53 +01001075 select CPU_HAS_LLSC
Ralf Baechle7cf80532005-10-20 22:33:09 +01001076 depends on SYS_HAS_CPU_R6000
Yoichi Yuasaed5ba2f2005-09-03 15:56:21 -07001077 select CPU_SUPPORTS_32BIT_KERNEL
Linus Torvalds1da177e2005-04-16 15:20:36 -07001078 help
1079 MIPS Technologies R6000 and R6000A series processors. Note these
Chris Dearmanc09b47d2006-06-20 17:15:20 +01001080 processors are extremely rare and the support for them is incomplete.
Linus Torvalds1da177e2005-04-16 15:20:36 -07001081
1082config CPU_NEVADA
1083 bool "RM52xx"
Ralf Baechle7cf80532005-10-20 22:33:09 +01001084 depends on SYS_HAS_CPU_NEVADA
Ralf Baechlef7062dd2006-04-24 14:58:53 +01001085 select CPU_HAS_LLSC
Yoichi Yuasaed5ba2f2005-09-03 15:56:21 -07001086 select CPU_SUPPORTS_32BIT_KERNEL
1087 select CPU_SUPPORTS_64BIT_KERNEL
Linus Torvalds1da177e2005-04-16 15:20:36 -07001088 help
1089 QED / PMC-Sierra RM52xx-series ("Nevada") processors.
1090
1091config CPU_R8000
1092 bool "R8000"
Yoichi Yuasaed5ba2f2005-09-03 15:56:21 -07001093 depends on EXPERIMENTAL
Ralf Baechle7cf80532005-10-20 22:33:09 +01001094 depends on SYS_HAS_CPU_R8000
Ralf Baechlef7062dd2006-04-24 14:58:53 +01001095 select CPU_HAS_LLSC
Ralf Baechle5e83d432005-10-29 19:32:41 +01001096 select CPU_HAS_PREFETCH
Yoichi Yuasaed5ba2f2005-09-03 15:56:21 -07001097 select CPU_SUPPORTS_64BIT_KERNEL
Linus Torvalds1da177e2005-04-16 15:20:36 -07001098 help
1099 MIPS Technologies R8000 processors. Note these processors are
1100 uncommon and the support for them is incomplete.
1101
1102config CPU_R10000
1103 bool "R10000"
Ralf Baechle7cf80532005-10-20 22:33:09 +01001104 depends on SYS_HAS_CPU_R10000
Ralf Baechlef7062dd2006-04-24 14:58:53 +01001105 select CPU_HAS_LLSC
Ralf Baechle5e83d432005-10-29 19:32:41 +01001106 select CPU_HAS_PREFETCH
Yoichi Yuasaed5ba2f2005-09-03 15:56:21 -07001107 select CPU_SUPPORTS_32BIT_KERNEL
1108 select CPU_SUPPORTS_64BIT_KERNEL
Ralf Baechle797798c2005-08-10 15:17:11 +00001109 select CPU_SUPPORTS_HIGHMEM
Linus Torvalds1da177e2005-04-16 15:20:36 -07001110 help
1111 MIPS Technologies R10000-series processors.
1112
1113config CPU_RM7000
1114 bool "RM7000"
Ralf Baechle7cf80532005-10-20 22:33:09 +01001115 depends on SYS_HAS_CPU_RM7000
Ralf Baechlef7062dd2006-04-24 14:58:53 +01001116 select CPU_HAS_LLSC
Ralf Baechle5e83d432005-10-29 19:32:41 +01001117 select CPU_HAS_PREFETCH
Yoichi Yuasaed5ba2f2005-09-03 15:56:21 -07001118 select CPU_SUPPORTS_32BIT_KERNEL
1119 select CPU_SUPPORTS_64BIT_KERNEL
Ralf Baechle797798c2005-08-10 15:17:11 +00001120 select CPU_SUPPORTS_HIGHMEM
Linus Torvalds1da177e2005-04-16 15:20:36 -07001121
1122config CPU_RM9000
1123 bool "RM9000"
Ralf Baechle7cf80532005-10-20 22:33:09 +01001124 depends on SYS_HAS_CPU_RM9000
Ralf Baechlef7062dd2006-04-24 14:58:53 +01001125 select CPU_HAS_LLSC
Ralf Baechle5e83d432005-10-29 19:32:41 +01001126 select CPU_HAS_PREFETCH
Yoichi Yuasaed5ba2f2005-09-03 15:56:21 -07001127 select CPU_SUPPORTS_32BIT_KERNEL
1128 select CPU_SUPPORTS_64BIT_KERNEL
Ralf Baechle797798c2005-08-10 15:17:11 +00001129 select CPU_SUPPORTS_HIGHMEM
Ralf Baechle0004a9d2006-10-31 03:45:07 +00001130 select WEAK_ORDERING
Linus Torvalds1da177e2005-04-16 15:20:36 -07001131
1132config CPU_SB1
1133 bool "SB1"
Ralf Baechle7cf80532005-10-20 22:33:09 +01001134 depends on SYS_HAS_CPU_SB1
Ralf Baechlef7062dd2006-04-24 14:58:53 +01001135 select CPU_HAS_LLSC
Yoichi Yuasaed5ba2f2005-09-03 15:56:21 -07001136 select CPU_SUPPORTS_32BIT_KERNEL
1137 select CPU_SUPPORTS_64BIT_KERNEL
Ralf Baechle797798c2005-08-10 15:17:11 +00001138 select CPU_SUPPORTS_HIGHMEM
Ralf Baechle0004a9d2006-10-31 03:45:07 +00001139 select WEAK_ORDERING
Linus Torvalds1da177e2005-04-16 15:20:36 -07001140
1141endchoice
1142
Fuxin Zhang2a21c732007-06-06 14:52:43 +08001143config SYS_HAS_CPU_LOONGSON2
1144 bool
1145
Ralf Baechle7cf80532005-10-20 22:33:09 +01001146config SYS_HAS_CPU_MIPS32_R1
1147 bool
1148
1149config SYS_HAS_CPU_MIPS32_R2
1150 bool
1151
1152config SYS_HAS_CPU_MIPS64_R1
1153 bool
1154
1155config SYS_HAS_CPU_MIPS64_R2
1156 bool
1157
1158config SYS_HAS_CPU_R3000
1159 bool
1160
1161config SYS_HAS_CPU_TX39XX
1162 bool
1163
1164config SYS_HAS_CPU_VR41XX
1165 bool
1166
1167config SYS_HAS_CPU_R4300
1168 bool
1169
1170config SYS_HAS_CPU_R4X00
1171 bool
1172
1173config SYS_HAS_CPU_TX49XX
1174 bool
1175
1176config SYS_HAS_CPU_R5000
1177 bool
1178
1179config SYS_HAS_CPU_R5432
1180 bool
1181
1182config SYS_HAS_CPU_R6000
1183 bool
1184
1185config SYS_HAS_CPU_NEVADA
1186 bool
1187
1188config SYS_HAS_CPU_R8000
1189 bool
1190
1191config SYS_HAS_CPU_R10000
1192 bool
1193
1194config SYS_HAS_CPU_RM7000
1195 bool
1196
1197config SYS_HAS_CPU_RM9000
1198 bool
1199
1200config SYS_HAS_CPU_SB1
1201 bool
1202
Ralf Baechle17099b12007-07-14 13:24:05 +01001203#
1204# CPU may reorder R->R, R->W, W->R, W->W
1205# Reordering beyond LL and SC is handled in WEAK_REORDERING_BEYOND_LLSC
1206#
Ralf Baechle0004a9d2006-10-31 03:45:07 +00001207config WEAK_ORDERING
1208 bool
Ralf Baechle17099b12007-07-14 13:24:05 +01001209
1210#
1211# CPU may reorder reads and writes beyond LL/SC
1212# CPU may reorder R->LL, R->LL, W->LL, W->LL, R->SC, R->SC, W->SC, W->SC
1213#
1214config WEAK_REORDERING_BEYOND_LLSC
1215 bool
Ralf Baechle5e83d432005-10-29 19:32:41 +01001216endmenu
1217
1218#
Chris Dearmanc09b47d2006-06-20 17:15:20 +01001219# These two indicate any level of the MIPS32 and MIPS64 architecture
Ralf Baechle5e83d432005-10-29 19:32:41 +01001220#
1221config CPU_MIPS32
1222 bool
1223 default y if CPU_MIPS32_R1 || CPU_MIPS32_R2
1224
1225config CPU_MIPS64
1226 bool
1227 default y if CPU_MIPS64_R1 || CPU_MIPS64_R2
1228
1229#
Chris Dearmanc09b47d2006-06-20 17:15:20 +01001230# These two indicate the revision of the architecture, either Release 1 or Release 2
Ralf Baechle5e83d432005-10-29 19:32:41 +01001231#
1232config CPU_MIPSR1
1233 bool
1234 default y if CPU_MIPS32_R1 || CPU_MIPS64_R1
1235
1236config CPU_MIPSR2
1237 bool
1238 default y if CPU_MIPS32_R2 || CPU_MIPS64_R2
1239
1240config SYS_SUPPORTS_32BIT_KERNEL
1241 bool
1242config SYS_SUPPORTS_64BIT_KERNEL
1243 bool
1244config CPU_SUPPORTS_32BIT_KERNEL
1245 bool
1246config CPU_SUPPORTS_64BIT_KERNEL
1247 bool
1248
1249menu "Kernel type"
1250
1251choice
1252
1253 prompt "Kernel code model"
1254 help
1255 You should only select this option if you have a workload that
1256 actually benefits from 64-bit processing or if your machine has
1257 large memory. You will only be presented a single option in this
1258 menu if your system does not support both 32-bit and 64-bit kernels.
1259
1260config 32BIT
1261 bool "32-bit kernel"
1262 depends on CPU_SUPPORTS_32BIT_KERNEL && SYS_SUPPORTS_32BIT_KERNEL
1263 select TRAD_SIGNALS
1264 help
1265 Select this option if you want to build a 32-bit kernel.
1266config 64BIT
1267 bool "64-bit kernel"
1268 depends on CPU_SUPPORTS_64BIT_KERNEL && SYS_SUPPORTS_64BIT_KERNEL
1269 help
1270 Select this option if you want to build a 64-bit kernel.
1271
1272endchoice
1273
Linus Torvalds1da177e2005-04-16 15:20:36 -07001274choice
1275 prompt "Kernel page size"
1276 default PAGE_SIZE_4KB
1277
1278config PAGE_SIZE_4KB
1279 bool "4kB"
1280 help
1281 This option select the standard 4kB Linux page size. On some
1282 R3000-family processors this is the only available page size. Using
1283 4kB page size will minimize memory consumption and is therefore
1284 recommended for low memory systems.
1285
1286config PAGE_SIZE_8KB
1287 bool "8kB"
1288 depends on EXPERIMENTAL && CPU_R8000
1289 help
1290 Using 8kB page size will result in higher performance kernel at
1291 the price of higher memory consumption. This option is available
1292 only on the R8000 processor. Not that at the time of this writing
1293 this option is still high experimental; there are also issues with
1294 compatibility of user applications.
1295
1296config PAGE_SIZE_16KB
1297 bool "16kB"
Ralf Baechle714bfad2006-05-17 14:04:30 +01001298 depends on !CPU_R3000 && !CPU_TX39XX
Linus Torvalds1da177e2005-04-16 15:20:36 -07001299 help
1300 Using 16kB page size will result in higher performance kernel at
1301 the price of higher memory consumption. This option is available on
Ralf Baechle714bfad2006-05-17 14:04:30 +01001302 all non-R3000 family processors. Note that you will need a suitable
1303 Linux distribution to support this.
Linus Torvalds1da177e2005-04-16 15:20:36 -07001304
1305config PAGE_SIZE_64KB
1306 bool "64kB"
1307 depends on EXPERIMENTAL && !CPU_R3000 && !CPU_TX39XX
1308 help
1309 Using 64kB page size will result in higher performance kernel at
1310 the price of higher memory consumption. This option is available on
1311 all non-R3000 family processor. Not that at the time of this
Ralf Baechle714bfad2006-05-17 14:04:30 +01001312 writing this option is still high experimental.
Linus Torvalds1da177e2005-04-16 15:20:36 -07001313
1314endchoice
1315
1316config BOARD_SCACHE
1317 bool
1318
1319config IP22_CPU_SCACHE
1320 bool
1321 select BOARD_SCACHE
1322
Chris Dearman9318c512006-06-20 17:15:20 +01001323#
1324# Support for a MIPS32 / MIPS64 style S-caches
1325#
1326config MIPS_CPU_SCACHE
1327 bool
1328 select BOARD_SCACHE
1329
Linus Torvalds1da177e2005-04-16 15:20:36 -07001330config R5000_CPU_SCACHE
1331 bool
1332 select BOARD_SCACHE
1333
1334config RM7000_CPU_SCACHE
1335 bool
1336 select BOARD_SCACHE
1337
1338config SIBYTE_DMA_PAGEOPS
1339 bool "Use DMA to clear/copy pages"
1340 depends on CPU_SB1
1341 help
1342 Instead of using the CPU to zero and copy pages, use a Data Mover
1343 channel. These DMA channels are otherwise unused by the standard
1344 SiByte Linux port. Seems to give a small performance benefit.
1345
1346config CPU_HAS_PREFETCH
Ralf Baechlec8094b52005-08-05 14:28:54 +00001347 bool
Linus Torvalds1da177e2005-04-16 15:20:36 -07001348
Ralf Baechle340ee4b2005-08-17 17:44:08 +00001349choice
1350 prompt "MIPS MT options"
Ralf Baechlef41ae0b2006-06-05 17:24:46 +01001351
1352config MIPS_MT_DISABLED
1353 bool "Disable multithreading support."
1354 help
1355 Use this option if your workload can't take advantage of
1356 MIPS hardware multithreading support. On systems that don't have
1357 the option of an MT-enabled processor this option will be the only
1358 option in this menu.
Ralf Baechle340ee4b2005-08-17 17:44:08 +00001359
Ralf Baechle59d6ab82006-10-06 17:36:20 +01001360config MIPS_MT_SMP
1361 bool "Use 1 TC on each available VPE for SMP"
1362 depends on SYS_SUPPORTS_MULTITHREADING
1363 select CPU_MIPSR2_IRQ_VI
Chris Dearmand725cf32007-05-08 14:05:39 +01001364 select CPU_MIPSR2_IRQ_EI
Ralf Baechle59d6ab82006-10-06 17:36:20 +01001365 select CPU_MIPSR2_SRS
1366 select MIPS_MT
Ralf Baechlef510aa32007-03-16 21:58:37 +00001367 select NR_CPUS_DEFAULT_2
Ralf Baechle59d6ab82006-10-06 17:36:20 +01001368 select SMP
1369 select SYS_SUPPORTS_SMP
1370 help
1371 This is a kernel model which is also known a VSMP or lately
1372 has been marketesed into SMVP.
1373
Ralf Baechle41c594a2006-04-05 09:45:45 +01001374config MIPS_MT_SMTC
1375 bool "SMTC: Use all TCs on all VPEs for SMP"
Ralf Baechlef41ae0b2006-06-05 17:24:46 +01001376 depends on CPU_MIPS32_R2
1377 #depends on CPU_MIPS64_R2 # once there is hardware ...
1378 depends on SYS_SUPPORTS_MULTITHREADING
Ralf Baechleea580402007-10-11 23:46:09 +01001379 select GENERIC_CLOCKEVENTS_BROADCAST
Ralf Baechlef7062dd2006-04-24 14:58:53 +01001380 select CPU_MIPSR2_IRQ_VI
Chris Dearmand725cf32007-05-08 14:05:39 +01001381 select CPU_MIPSR2_IRQ_EI
Ralf Baechlef7062dd2006-04-24 14:58:53 +01001382 select CPU_MIPSR2_SRS
Ralf Baechlef41ae0b2006-06-05 17:24:46 +01001383 select MIPS_MT
Ralf Baechle130e2fb2007-02-06 16:53:15 +00001384 select NR_CPUS_DEFAULT_8
Ralf Baechle41c594a2006-04-05 09:45:45 +01001385 select SMP
Ralf Baechle73b76c72006-08-15 19:36:40 +01001386 select SYS_SUPPORTS_SMP
Ralf Baechlef41ae0b2006-06-05 17:24:46 +01001387 help
1388 This is a kernel model which is known a SMTC or lately has been
1389 marketesed into SMVP.
Ralf Baechle41c594a2006-04-05 09:45:45 +01001390
Ralf Baechle340ee4b2005-08-17 17:44:08 +00001391endchoice
1392
Ralf Baechlef41ae0b2006-06-05 17:24:46 +01001393config MIPS_MT
1394 bool
1395
1396config SYS_SUPPORTS_MULTITHREADING
1397 bool
1398
Ralf Baechlef088fc82006-04-05 09:45:47 +01001399config MIPS_MT_FPAFF
1400 bool "Dynamic FPU affinity for FP-intensive threads"
Ralf Baechlef088fc82006-04-05 09:45:47 +01001401 default y
Ralf Baechle07cc0c92007-07-27 19:31:10 +01001402 depends on MIPS_MT_SMP || MIPS_MT_SMTC
1403
1404config MIPS_VPE_LOADER
1405 bool "VPE loader support."
1406 depends on SYS_SUPPORTS_MULTITHREADING
1407 select CPU_MIPSR2_IRQ_VI
1408 select CPU_MIPSR2_IRQ_EI
1409 select CPU_MIPSR2_SRS
1410 select MIPS_MT
1411 help
1412 Includes a loader for loading an elf relocatable object
1413 onto another VPE and running it.
Ralf Baechlef088fc82006-04-05 09:45:47 +01001414
Ralf Baechleac8be952007-01-20 00:18:01 +00001415config MIPS_MT_SMTC_INSTANT_REPLAY
1416 bool "Low-latency Dispatch of Deferred SMTC IPIs"
Ralf Baechle619af722007-03-26 15:13:57 +01001417 depends on MIPS_MT_SMTC && !PREEMPT
Ralf Baechleac8be952007-01-20 00:18:01 +00001418 default y
1419 help
1420 SMTC pseudo-interrupts between TCs are deferred and queued
1421 if the target TC is interrupt-inhibited (IXMT). In the first
1422 SMTC prototypes, these queued IPIs were serviced on return
1423 to user mode, or on entry into the kernel idle loop. The
1424 INSTANT_REPLAY option dispatches them as part of local_irq_restore()
1425 processing, which adds runtime overhead (hence the option to turn
1426 it off), but ensures that IPIs are handled promptly even under
1427 heavy I/O interrupt load.
1428
Kevin D. Kissell0db34212007-07-12 16:21:08 +01001429config MIPS_MT_SMTC_IM_BACKSTOP
1430 bool "Use per-TC register bits as backstop for inhibited IM bits"
1431 depends on MIPS_MT_SMTC
1432 default y
1433 help
1434 To support multiple TC microthreads acting as "CPUs" within
1435 a VPE, VPE-wide interrupt mask bits must be specially manipulated
1436 during interrupt handling. To support legacy drivers and interrupt
1437 controller management code, SMTC has a "backstop" to track and
1438 if necessary restore the interrupt mask. This has some performance
1439 impact on interrupt service overhead. Disable it only if you know
1440 what you are doing.
1441
Kevin D. Kissellf571eff2007-08-03 19:38:03 +02001442config MIPS_MT_SMTC_IRQAFF
1443 bool "Support IRQ affinity API"
1444 depends on MIPS_MT_SMTC
1445 default n
1446 help
1447 Enables SMP IRQ affinity API (/proc/irq/*/smp_affinity, etc.)
1448 for SMTC Linux kernel. Requires platform support, of which
1449 an example can be found in the MIPS kernel i8259 and Malta
1450 platform code. It is recommended that MIPS_MT_SMTC_INSTANT_REPLAY
1451 be enabled if MIPS_MT_SMTC_IRQAFF is used. Adds overhead to
1452 interrupt dispatch, and should be used only if you know what
1453 you are doing.
1454
Ralf Baechlee01402b2005-07-14 15:57:16 +00001455config MIPS_VPE_LOADER_TOM
1456 bool "Load VPE program into memory hidden from linux"
1457 depends on MIPS_VPE_LOADER
1458 default y
1459 help
1460 The loader can use memory that is present but has been hidden from
1461 Linux using the kernel command line option "mem=xxMB". It's up to
1462 you to ensure the amount you put in the option and the space your
1463 program requires is less or equal to the amount physically present.
1464
1465# this should possibly be in drivers/char, but it is rather cpu related. Hmmm
1466config MIPS_VPE_APSP_API
Ralf Baechle5e83d432005-10-29 19:32:41 +01001467 bool "Enable support for AP/SP API (RTLX)"
1468 depends on MIPS_VPE_LOADER
1469 help
Ralf Baechlee01402b2005-07-14 15:57:16 +00001470
Ralf Baechle26009902006-04-05 09:45:45 +01001471config MIPS_APSP_KSPD
1472 bool "Enable KSPD"
1473 depends on MIPS_VPE_APSP_API
1474 default y
1475 help
1476 KSPD is a kernel daemon that accepts syscall requests from the SP
1477 side, actions them and returns the results. It also handles the
1478 "exit" syscall notifying other kernel modules the SP program is
1479 exiting. You probably want to say yes here.
1480
Linus Torvalds1da177e2005-04-16 15:20:36 -07001481config SB1_PASS_1_WORKAROUNDS
1482 bool
1483 depends on CPU_SB1_PASS_1
1484 default y
1485
1486config SB1_PASS_2_WORKAROUNDS
1487 bool
1488 depends on CPU_SB1 && (CPU_SB1_PASS_2_2 || CPU_SB1_PASS_2)
1489 default y
1490
1491config SB1_PASS_2_1_WORKAROUNDS
1492 bool
1493 depends on CPU_SB1 && CPU_SB1_PASS_2
1494 default y
1495
1496config 64BIT_PHYS_ADDR
Ralf Baechled806cb22007-08-02 00:36:08 +01001497 bool
Linus Torvalds1da177e2005-04-16 15:20:36 -07001498
Linus Torvalds1da177e2005-04-16 15:20:36 -07001499config CPU_HAS_LLSC
Ralf Baechlef7062dd2006-04-24 14:58:53 +01001500 bool
Linus Torvalds1da177e2005-04-16 15:20:36 -07001501
Franck Bui-Huu9693a852007-02-02 17:41:47 +01001502config CPU_HAS_SMARTMIPS
1503 depends on SYS_SUPPORTS_SMARTMIPS
1504 bool "Support for the SmartMIPS ASE"
1505 help
1506 SmartMIPS is a extension of the MIPS32 architecture aimed at
1507 increased security at both hardware and software level for
1508 smartcards. Enabling this option will allow proper use of the
1509 SmartMIPS instructions by Linux applications. However a kernel with
1510 this option will not work on a MIPS core without SmartMIPS core. If
1511 you don't know you probably don't have SmartMIPS and should say N
1512 here.
1513
Linus Torvalds1da177e2005-04-16 15:20:36 -07001514config CPU_HAS_WB
Ralf Baechlef7062dd2006-04-24 14:58:53 +01001515 bool
Ralf Baechlee01402b2005-07-14 15:57:16 +00001516
Fuxin Zhang2a21c732007-06-06 14:52:43 +08001517config 64BIT_CONTEXT
1518 bool "Save 64bit integer registers"
1519 depends on 32BIT && CPU_LOONGSON2
1520 help
1521 Loongson2 CPU is 64bit , when used in 32BIT mode, its integer
1522 registers can still be accessed as 64bit, mainly for multimedia
1523 instructions. We must have all 64bit save/restored to make sure
1524 those instructions to get correct result.
1525
Ralf Baechlef41ae0b2006-06-05 17:24:46 +01001526#
1527# Vectored interrupt mode is an R2 feature
1528#
Ralf Baechlee01402b2005-07-14 15:57:16 +00001529config CPU_MIPSR2_IRQ_VI
Ralf Baechlef41ae0b2006-06-05 17:24:46 +01001530 bool
Ralf Baechlee01402b2005-07-14 15:57:16 +00001531
Ralf Baechlef41ae0b2006-06-05 17:24:46 +01001532#
1533# Extended interrupt mode is an R2 feature
1534#
Ralf Baechlee01402b2005-07-14 15:57:16 +00001535config CPU_MIPSR2_IRQ_EI
Ralf Baechlef41ae0b2006-06-05 17:24:46 +01001536 bool
Ralf Baechlee01402b2005-07-14 15:57:16 +00001537
Ralf Baechlef41ae0b2006-06-05 17:24:46 +01001538#
1539# Shadow registers are an R2 feature
1540#
Ralf Baechlee01402b2005-07-14 15:57:16 +00001541config CPU_MIPSR2_SRS
Ralf Baechlef41ae0b2006-06-05 17:24:46 +01001542 bool
Ralf Baechlee01402b2005-07-14 15:57:16 +00001543
Linus Torvalds1da177e2005-04-16 15:20:36 -07001544config CPU_HAS_SYNC
1545 bool
1546 depends on !CPU_R3000
1547 default y
1548
Ralf Baechleea580402007-10-11 23:46:09 +01001549config GENERIC_CLOCKEVENTS_BROADCAST
1550 bool
1551
Linus Torvalds1da177e2005-04-16 15:20:36 -07001552#
Ralf Baechle797798c2005-08-10 15:17:11 +00001553# 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
Ingo Molnar0d7012a2006-06-29 02:24:43 -07001563config IRQ_PER_CPU
Ingo Molnar0d7012a2006-06-29 02:24:43 -07001564 bool
Ingo Molnar0d7012a2006-06-29 02:24:43 -07001565
Ralf Baechle797798c2005-08-10 15:17:11 +00001566#
Linus Torvalds1da177e2005-04-16 15:20:36 -07001567# - Highmem only makes sense for the 32-bit kernel.
1568# - The current highmem code will only work properly on physically indexed
1569# caches such as R3000, SB1, R7000 or those that look like they're virtually
1570# indexed such as R4000/R4400 SC and MC versions or R10000. So for the
1571# moment we protect the user and offer the highmem option only on machines
1572# where it's known to be safe. This will not offer highmem on a few systems
1573# such as MIPS32 and MIPS64 CPUs which may have virtual and physically
1574# indexed CPUs but we're playing safe.
Ralf Baechle797798c2005-08-10 15:17:11 +00001575# - We use SYS_SUPPORTS_HIGHMEM to offer highmem only for systems where we
1576# know they might have memory configurations that could make use of highmem
1577# support.
Linus Torvalds1da177e2005-04-16 15:20:36 -07001578#
1579config HIGHMEM
1580 bool "High Memory Support"
Ralf Baechle797798c2005-08-10 15:17:11 +00001581 depends on 32BIT && CPU_SUPPORTS_HIGHMEM && SYS_SUPPORTS_HIGHMEM
1582
1583config CPU_SUPPORTS_HIGHMEM
1584 bool
1585
1586config SYS_SUPPORTS_HIGHMEM
1587 bool
Linus Torvalds1da177e2005-04-16 15:20:36 -07001588
Franck Bui-Huu9693a852007-02-02 17:41:47 +01001589config SYS_SUPPORTS_SMARTMIPS
1590 bool
1591
Yoichi Yuasab4819b52005-06-25 14:54:31 -07001592config ARCH_FLATMEM_ENABLE
1593 def_bool y
1594 depends on !NUMA
1595
Ralf Baechled8cb4e12006-06-11 23:03:08 +01001596config ARCH_DISCONTIGMEM_ENABLE
1597 bool
1598 default y if SGI_IP27
1599 help
David Sterba3dde6ad2007-05-09 07:12:20 +02001600 Say Y to support efficient handling of discontiguous physical memory,
Ralf Baechled8cb4e12006-06-11 23:03:08 +01001601 for architectures which are either NUMA (Non-Uniform Memory Access)
1602 or have huge holes in the physical address space for other reasons.
1603 See <file:Documentation/vm/numa> for more.
1604
Atsushi Nemotob1c6cd42006-07-03 00:09:47 +09001605config ARCH_SPARSEMEM_ENABLE
1606 bool
Atsushi Nemoto7de58fa2006-07-05 01:22:44 +09001607 select SPARSEMEM_STATIC
Atsushi Nemoto31473742006-07-03 00:09:47 +09001608
Ralf Baechled8cb4e12006-06-11 23:03:08 +01001609config NUMA
1610 bool "NUMA Support"
1611 depends on SYS_SUPPORTS_NUMA
1612 help
1613 Say Y to compile the kernel to support NUMA (Non-Uniform Memory
1614 Access). This option improves performance on systems with more
1615 than two nodes; on two node systems it is generally better to
1616 leave it disabled; on single node systems disable this option
1617 disabled.
1618
1619config SYS_SUPPORTS_NUMA
1620 bool
1621
Yasunori Gotoc80d79d2006-04-10 22:53:53 -07001622config NODES_SHIFT
1623 int
1624 default "6"
1625 depends on NEED_MULTIPLE_NODES
1626
Yoichi Yuasab4819b52005-06-25 14:54:31 -07001627source "mm/Kconfig"
1628
Linus Torvalds1da177e2005-04-16 15:20:36 -07001629config SMP
1630 bool "Multi-Processing support"
Ralf Baechlee73ea272006-06-04 11:51:46 +01001631 depends on SYS_SUPPORTS_SMP
Ralf Baechleb4b30a52006-08-03 17:34:24 +01001632 select IRQ_PER_CPU
Ralf Baechlee73ea272006-06-04 11:51:46 +01001633 help
Linus Torvalds1da177e2005-04-16 15:20:36 -07001634 This enables support for systems with more than one CPU. If you have
1635 a system with only one CPU, like most personal computers, say N. If
1636 you have a system with more than one CPU, say Y.
1637
1638 If you say N here, the kernel will run on single and multiprocessor
1639 machines, but will use only one CPU of a multiprocessor machine. If
1640 you say Y here, the kernel will run on many, but not all,
1641 singleprocessor machines. On a singleprocessor machine, the kernel
1642 will run faster if you say N here.
1643
1644 People using multiprocessor machines who say Y here should also say
1645 Y to "Enhanced Real Time Clock Support", below.
1646
1647 See also the <file:Documentation/smp.txt> and the SMP-HOWTO
1648 available at <http://www.tldp.org/docs.html#howto>.
1649
1650 If you don't know what to do here, say N.
1651
Ralf Baechlee73ea272006-06-04 11:51:46 +01001652config SYS_SUPPORTS_SMP
1653 bool
1654
Atsushi Nemoto72ede9b2007-03-18 01:01:39 +09001655config NR_CPUS_DEFAULT_1
1656 bool
1657
Ralf Baechle130e2fb2007-02-06 16:53:15 +00001658config NR_CPUS_DEFAULT_2
1659 bool
1660
1661config NR_CPUS_DEFAULT_4
1662 bool
1663
1664config NR_CPUS_DEFAULT_8
1665 bool
1666
1667config NR_CPUS_DEFAULT_16
1668 bool
1669
1670config NR_CPUS_DEFAULT_32
1671 bool
1672
1673config NR_CPUS_DEFAULT_64
1674 bool
1675
Linus Torvalds1da177e2005-04-16 15:20:36 -07001676config NR_CPUS
1677 int "Maximum number of CPUs (2-64)"
Atsushi Nemoto72ede9b2007-03-18 01:01:39 +09001678 range 1 64 if NR_CPUS_DEFAULT_1
Linus Torvalds1da177e2005-04-16 15:20:36 -07001679 depends on SMP
Atsushi Nemoto72ede9b2007-03-18 01:01:39 +09001680 default "1" if NR_CPUS_DEFAULT_1
Ralf Baechle130e2fb2007-02-06 16:53:15 +00001681 default "2" if NR_CPUS_DEFAULT_2
1682 default "4" if NR_CPUS_DEFAULT_4
1683 default "8" if NR_CPUS_DEFAULT_8
1684 default "16" if NR_CPUS_DEFAULT_16
1685 default "32" if NR_CPUS_DEFAULT_32
1686 default "64" if NR_CPUS_DEFAULT_64
Linus Torvalds1da177e2005-04-16 15:20:36 -07001687 help
1688 This allows you to specify the maximum number of CPUs which this
1689 kernel will support. The maximum supported value is 32 for 32-bit
1690 kernel and 64 for 64-bit kernels; the minimum value which makes
Atsushi Nemoto72ede9b2007-03-18 01:01:39 +09001691 sense is 1 for Qemu (useful only for kernel debugging purposes)
1692 and 2 for all others.
Linus Torvalds1da177e2005-04-16 15:20:36 -07001693
1694 This is purely to save memory - each supported CPU adds
Atsushi Nemoto72ede9b2007-03-18 01:01:39 +09001695 approximately eight kilobytes to the kernel image. For best
1696 performance should round up your number of processors to the next
1697 power of two.
Linus Torvalds1da177e2005-04-16 15:20:36 -07001698
Atsushi Nemoto1723b4a2006-06-20 00:19:13 +09001699#
1700# Timer Interrupt Frequency Configuration
1701#
1702
1703choice
1704 prompt "Timer frequency"
1705 default HZ_250
1706 help
1707 Allows the configuration of the timer frequency.
1708
1709 config HZ_48
1710 bool "48 HZ" if SYS_SUPPORTS_48HZ
1711
1712 config HZ_100
1713 bool "100 HZ" if SYS_SUPPORTS_100HZ || SYS_SUPPORTS_ARBIT_HZ
1714
1715 config HZ_128
1716 bool "128 HZ" if SYS_SUPPORTS_128HZ || SYS_SUPPORTS_ARBIT_HZ
1717
1718 config HZ_250
1719 bool "250 HZ" if SYS_SUPPORTS_250HZ || SYS_SUPPORTS_ARBIT_HZ
1720
1721 config HZ_256
1722 bool "256 HZ" if SYS_SUPPORTS_256HZ || SYS_SUPPORTS_ARBIT_HZ
1723
1724 config HZ_1000
1725 bool "1000 HZ" if SYS_SUPPORTS_1000HZ || SYS_SUPPORTS_ARBIT_HZ
1726
1727 config HZ_1024
1728 bool "1024 HZ" if SYS_SUPPORTS_1024HZ || SYS_SUPPORTS_ARBIT_HZ
1729
1730endchoice
1731
1732config SYS_SUPPORTS_48HZ
1733 bool
1734
1735config SYS_SUPPORTS_100HZ
1736 bool
1737
1738config SYS_SUPPORTS_128HZ
1739 bool
1740
1741config SYS_SUPPORTS_250HZ
1742 bool
1743
1744config SYS_SUPPORTS_256HZ
1745 bool
1746
1747config SYS_SUPPORTS_1000HZ
1748 bool
1749
1750config SYS_SUPPORTS_1024HZ
1751 bool
1752
1753config SYS_SUPPORTS_ARBIT_HZ
1754 bool
1755 default y if !SYS_SUPPORTS_48HZ && !SYS_SUPPORTS_100HZ && \
1756 !SYS_SUPPORTS_128HZ && !SYS_SUPPORTS_250HZ && \
1757 !SYS_SUPPORTS_256HZ && !SYS_SUPPORTS_1000HZ && \
1758 !SYS_SUPPORTS_1024HZ
1759
1760config HZ
1761 int
1762 default 48 if HZ_48
1763 default 100 if HZ_100
1764 default 128 if HZ_128
1765 default 250 if HZ_250
1766 default 256 if HZ_256
1767 default 1000 if HZ_1000
1768 default 1024 if HZ_1024
1769
Ralf Baechlee80de852005-07-11 20:45:51 +00001770source "kernel/Kconfig.preempt"
Linus Torvalds1da177e2005-04-16 15:20:36 -07001771
Linus Torvalds1da177e2005-04-16 15:20:36 -07001772config MIPS_INSANE_LARGE
1773 bool "Support for large 64-bit configurations"
Ralf Baechle875d43e2005-09-03 15:56:16 -07001774 depends on CPU_R10000 && 64BIT
Linus Torvalds1da177e2005-04-16 15:20:36 -07001775 help
1776 MIPS R10000 does support a 44 bit / 16TB address space as opposed to
1777 previous 64-bit processors which only supported 40 bit / 1TB. If you
1778 need processes of more than 1TB virtual address space, say Y here.
1779 This will result in additional memory usage, so it is not
1780 recommended for normal users.
1781
Atsushi Nemotoea6e9422007-01-16 23:29:11 +09001782config KEXEC
1783 bool "Kexec system call (EXPERIMENTAL)"
1784 depends on EXPERIMENTAL
1785 help
1786 kexec is a system call that implements the ability to shutdown your
1787 current kernel, and to start another kernel. It is like a reboot
David Sterba3dde6ad2007-05-09 07:12:20 +02001788 but it is independent of the system firmware. And like a reboot
Atsushi Nemotoea6e9422007-01-16 23:29:11 +09001789 you can start any kernel with it, not just Linux.
1790
1791 The name comes from the similiarity to the exec system call.
1792
1793 It is an ongoing process to be certain the hardware in a machine
1794 is properly shutdown, so do not be surprised if this code does not
1795 initially work for you. It may help to enable device hotplugging
1796 support. As of this writing the exact hardware interface is
1797 strongly in flux, so no good recommendation can be made.
1798
1799config SECCOMP
1800 bool "Enable seccomp to safely compute untrusted bytecode"
Ralf Baechle293c5bd2007-07-25 16:19:33 +01001801 depends on PROC_FS
Atsushi Nemotoea6e9422007-01-16 23:29:11 +09001802 default y
1803 help
1804 This kernel feature is useful for number crunching applications
1805 that may need to compute untrusted bytecode during their
1806 execution. By using pipes or other transports made available to
1807 the process as file descriptors supporting the read/write
1808 syscalls, it's possible to isolate those applications in
1809 their own address space using seccomp. Once seccomp is
1810 enabled via /proc/<pid>/seccomp, it cannot be disabled
1811 and the task is only allowed to execute a few safe syscalls
1812 defined by each seccomp mode.
1813
1814 If unsure, say Y. Only embedded should say N here.
1815
Ralf Baechle5e83d432005-10-29 19:32:41 +01001816endmenu
1817
Linus Torvalds1da177e2005-04-16 15:20:36 -07001818config RWSEM_GENERIC_SPINLOCK
1819 bool
1820 default y
1821
Atsushi Nemoto1df0f0f2006-09-26 23:44:01 +09001822config LOCKDEP_SUPPORT
1823 bool
1824 default y
1825
1826config STACKTRACE_SUPPORT
1827 bool
1828 default y
1829
Ralf Baechleb6c35392005-11-25 11:35:40 +00001830source "init/Kconfig"
1831
Linus Torvalds1da177e2005-04-16 15:20:36 -07001832menu "Bus options (PCI, PCMCIA, EISA, ISA, TC)"
1833
Ralf Baechle5e83d432005-10-29 19:32:41 +01001834config HW_HAS_EISA
1835 bool
Linus Torvalds1da177e2005-04-16 15:20:36 -07001836config HW_HAS_PCI
1837 bool
1838
1839config PCI
1840 bool "Support for PCI controller"
1841 depends on HW_HAS_PCI
Ralf Baechleabb4ae42007-10-11 23:46:03 +01001842 select PCI_DOMAINS
Linus Torvalds1da177e2005-04-16 15:20:36 -07001843 help
1844 Find out whether you have a PCI motherboard. PCI is the name of a
1845 bus system, i.e. the way the CPU talks to the other stuff inside
1846 your box. Other bus systems are ISA, EISA, or VESA. If you have PCI,
1847 say Y, otherwise N.
1848
1849 The PCI-HOWTO, available from
1850 <http://www.tldp.org/docs.html#howto>, contains valuable
1851 information about which PCI hardware does work under Linux and which
1852 doesn't.
1853
1854config PCI_DOMAINS
1855 bool
Linus Torvalds1da177e2005-04-16 15:20:36 -07001856
1857source "drivers/pci/Kconfig"
1858
1859#
1860# ISA support is now enabled via select. Too many systems still have the one
1861# or other ISA chip on the board that users don't know about so don't expect
1862# users to choose the right thing ...
1863#
1864config ISA
1865 bool
1866
1867config EISA
1868 bool "EISA support"
Ralf Baechle5e83d432005-10-29 19:32:41 +01001869 depends on HW_HAS_EISA
Linus Torvalds1da177e2005-04-16 15:20:36 -07001870 select ISA
Ralf Baechleaa414df2006-11-30 01:14:51 +00001871 select GENERIC_ISA_DMA
Linus Torvalds1da177e2005-04-16 15:20:36 -07001872 ---help---
1873 The Extended Industry Standard Architecture (EISA) bus was
1874 developed as an open alternative to the IBM MicroChannel bus.
1875
1876 The EISA bus provided some of the features of the IBM MicroChannel
1877 bus while maintaining backward compatibility with cards made for
1878 the older ISA bus. The EISA bus saw limited use between 1988 and
1879 1995 when it was made obsolete by the PCI bus.
1880
1881 Say Y here if you are building a kernel for an EISA-based machine.
1882
1883 Otherwise, say N.
1884
1885source "drivers/eisa/Kconfig"
1886
1887config TC
1888 bool "TURBOchannel support"
1889 depends on MACH_DECSTATION
1890 help
1891 TurboChannel is a DEC (now Compaq (now HP)) bus for Alpha and MIPS
1892 processors. Documentation on writing device drivers for TurboChannel
1893 is available at:
1894 <http://www.cs.arizona.edu/computer.help/policy/DIGITAL_unix/AA-PS3HD-TET1_html/TITLE.html>.
1895
1896#config ACCESSBUS
1897# bool "Access.Bus support"
1898# depends on TC
1899
1900config MMU
1901 bool
1902 default y
1903
Ralf Baechled865bea2007-10-11 23:46:10 +01001904config I8253
1905 bool
1906
Ralf Baechlede61b542007-07-12 17:41:23 +01001907config PCSPEAKER
Michael Neulinge5c6c8e2006-03-14 00:11:50 -05001908 bool
1909
Linus Torvalds1da177e2005-04-16 15:20:36 -07001910source "drivers/pcmcia/Kconfig"
1911
1912source "drivers/pci/hotplug/Kconfig"
1913
1914endmenu
1915
1916menu "Executable file formats"
1917
1918source "fs/Kconfig.binfmt"
1919
1920config TRAD_SIGNALS
1921 bool
Linus Torvalds1da177e2005-04-16 15:20:36 -07001922
Linus Torvalds1da177e2005-04-16 15:20:36 -07001923config BINFMT_IRIX
1924 bool "Include IRIX binary compatibility"
Ralf Baechle5e83d432005-10-29 19:32:41 +01001925 depends on CPU_BIG_ENDIAN && 32BIT && BROKEN
Linus Torvalds1da177e2005-04-16 15:20:36 -07001926
1927config MIPS32_COMPAT
1928 bool "Kernel support for Linux/MIPS 32-bit binary compatibility"
Ralf Baechle875d43e2005-09-03 15:56:16 -07001929 depends on 64BIT
Linus Torvalds1da177e2005-04-16 15:20:36 -07001930 help
1931 Select this option if you want Linux/MIPS 32-bit binary
1932 compatibility. Since all software available for Linux/MIPS is
1933 currently 32-bit you should say Y here.
1934
1935config COMPAT
1936 bool
1937 depends on MIPS32_COMPAT
1938 default y
1939
Atsushi Nemoto05e43962006-11-07 18:02:44 +09001940config SYSVIPC_COMPAT
1941 bool
1942 depends on COMPAT && SYSVIPC
1943 default y
1944
Linus Torvalds1da177e2005-04-16 15:20:36 -07001945config MIPS32_O32
1946 bool "Kernel support for o32 binaries"
1947 depends on MIPS32_COMPAT
1948 help
1949 Select this option if you want to run o32 binaries. These are pure
1950 32-bit binaries as used by the 32-bit Linux/MIPS port. Most of
1951 existing binaries are in this format.
1952
1953 If unsure, say Y.
1954
1955config MIPS32_N32
1956 bool "Kernel support for n32 binaries"
1957 depends on MIPS32_COMPAT
1958 help
1959 Select this option if you want to run n32 binaries. These are
1960 64-bit binaries using 32-bit quantities for addressing and certain
1961 data that would normally be 64-bit. They are used in special
1962 cases.
1963
1964 If unsure, say N.
1965
1966config BINFMT_ELF32
1967 bool
1968 default y if MIPS32_O32 || MIPS32_N32
1969
Ralf Baechle21162452007-02-09 17:08:58 +00001970endmenu
Linus Torvalds1da177e2005-04-16 15:20:36 -07001971
Ralf Baechle21162452007-02-09 17:08:58 +00001972menu "Power management options"
Rodolfo Giometti952fa952006-06-05 17:43:10 +02001973
Ralf Baechle21162452007-02-09 17:08:58 +00001974source "kernel/power/Kconfig"
Rodolfo Giometti952fa952006-06-05 17:43:10 +02001975
Linus Torvalds1da177e2005-04-16 15:20:36 -07001976endmenu
1977
Sam Ravnborgd5950b42005-07-11 21:03:49 -07001978source "net/Kconfig"
1979
Linus Torvalds1da177e2005-04-16 15:20:36 -07001980source "drivers/Kconfig"
1981
1982source "fs/Kconfig"
1983
Ralf Baechle5e83d432005-10-29 19:32:41 +01001984source "arch/mips/oprofile/Kconfig"
1985
Linus Torvalds1da177e2005-04-16 15:20:36 -07001986source "arch/mips/Kconfig.debug"
1987
1988source "security/Kconfig"
1989
1990source "crypto/Kconfig"
1991
1992source "lib/Kconfig"