blob: 371434dd744c4088a63c455be18aec92c46e5975 [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
Aurelien Jarno25e5fb92007-09-25 15:41:24 +020058 select SYS_HAS_EARLY_PRINTK
59 select CFE
Aurelien Jarno1c0c13e2007-09-25 15:40:12 +020060 help
61 Support for BCM47XX based boards
62
Linus Torvalds1da177e2005-04-16 15:20:36 -070063config MIPS_COBALT
Martin Michlmayr3fa986f2006-05-09 23:34:53 +020064 bool "Cobalt Server"
Linus Torvalds1da177e2005-04-16 15:20:36 -070065 select DMA_NONCOHERENT
66 select HW_HAS_PCI
67 select I8259
68 select IRQ_CPU
Yoichi Yuasad5ab1a62007-09-13 23:51:26 +090069 select IRQ_GT641XX
Yoichi Yuasa252161e2007-03-14 21:51:26 +090070 select PCI_GT64XXX_PCI0
Ralf Baechle7cf80532005-10-20 22:33:09 +010071 select SYS_HAS_CPU_NEVADA
Yoichi Yuasa0a22e0d2007-03-02 12:42:33 +090072 select SYS_HAS_EARLY_PRINTK
Yoichi Yuasaed5ba2f2005-09-03 15:56:21 -070073 select SYS_SUPPORTS_32BIT_KERNEL
74 select SYS_SUPPORTS_64BIT_KERNEL if EXPERIMENTAL
Ralf Baechle5e83d432005-10-29 19:32:41 +010075 select SYS_SUPPORTS_LITTLE_ENDIAN
Atsushi Nemoto9fd32cf2006-12-08 01:55:07 +090076 select GENERIC_HARDIRQS_NO__DO_IRQ
Linus Torvalds1da177e2005-04-16 15:20:36 -070077
78config MACH_DECSTATION
Martin Michlmayr3fa986f2006-05-09 23:34:53 +020079 bool "DECstations"
Linus Torvalds1da177e2005-04-16 15:20:36 -070080 select BOOT_ELF32
81 select DMA_NONCOHERENT
Maciej W. Rozyckid388d682007-05-29 15:08:07 +010082 select NO_IOPORT
Linus Torvalds1da177e2005-04-16 15:20:36 -070083 select IRQ_CPU
Ralf Baechle7cf80532005-10-20 22:33:09 +010084 select SYS_HAS_CPU_R3000
85 select SYS_HAS_CPU_R4X00
Yoichi Yuasaed5ba2f2005-09-03 15:56:21 -070086 select SYS_SUPPORTS_32BIT_KERNEL
87 select SYS_SUPPORTS_64BIT_KERNEL if EXPERIMENTAL
Ralf Baechle5e83d432005-10-29 19:32:41 +010088 select SYS_SUPPORTS_LITTLE_ENDIAN
Atsushi Nemoto1723b4a2006-06-20 00:19:13 +090089 select SYS_SUPPORTS_128HZ
90 select SYS_SUPPORTS_256HZ
91 select SYS_SUPPORTS_1024HZ
Ralf Baechle5e83d432005-10-29 19:32:41 +010092 help
Linus Torvalds1da177e2005-04-16 15:20:36 -070093 This enables support for DEC's MIPS based workstations. For details
94 see the Linux/MIPS FAQ on <http://www.linux-mips.org/> and the
95 DECstation porting pages on <http://decstation.unix-ag.org/>.
96
97 If you have one of the following DECstation Models you definitely
98 want to choose R4xx0 for the CPU Type:
99
Ralf Baechle93088162007-08-29 14:21:45 +0100100 DECstation 5000/50
101 DECstation 5000/150
102 DECstation 5000/260
103 DECsystem 5900/260
Linus Torvalds1da177e2005-04-16 15:20:36 -0700104
105 otherwise choose R3000.
106
Ralf Baechle5e83d432005-10-29 19:32:41 +0100107config MACH_JAZZ
Martin Michlmayr3fa986f2006-05-09 23:34:53 +0200108 bool "Jazz family of machines"
Ralf Baechle5e83d432005-10-29 19:32:41 +0100109 select ARC
110 select ARC32
111 select ARCH_MAY_HAVE_PC_FDC
112 select GENERIC_ISA_DMA
Thomas Bogendoerferea202c62007-08-25 11:01:50 +0200113 select IRQ_CPU
Ralf Baechle5e83d432005-10-29 19:32:41 +0100114 select I8259
115 select ISA
Ralf Baechlede61b542007-07-12 17:41:23 +0100116 select PCSPEAKER
Ralf Baechle7cf80532005-10-20 22:33:09 +0100117 select SYS_HAS_CPU_R4X00
Ralf Baechle5e83d432005-10-29 19:32:41 +0100118 select SYS_SUPPORTS_32BIT_KERNEL
119 select SYS_SUPPORTS_64BIT_KERNEL if EXPERIMENTAL
Atsushi Nemoto1723b4a2006-06-20 00:19:13 +0900120 select SYS_SUPPORTS_100HZ
Atsushi Nemoto9fd32cf2006-12-08 01:55:07 +0900121 select GENERIC_HARDIRQS_NO__DO_IRQ
Linus Torvalds1da177e2005-04-16 15:20:36 -0700122 help
Ralf Baechle5e83d432005-10-29 19:32:41 +0100123 This a family of machines based on the MIPS R4030 chipset which was
124 used by several vendors to build RISC/os and Windows NT workstations.
125 Members include the Acer PICA, MIPS Magnum 4000, MIPS Millenium and
126 Olivetti M700-10 workstations.
127
Brian Murphy1f21d2b2007-08-21 22:34:16 +0200128config LASAT
129 bool "LASAT Networks platforms"
130 select DMA_NONCOHERENT
131 select SYS_HAS_EARLY_PRINTK
132 select HW_HAS_PCI
133 select PCI_GT64XXX_PCI0
134 select MIPS_NILE4
135 select R5000_CPU_SCACHE
136 select SYS_HAS_CPU_R5000
137 select SYS_SUPPORTS_32BIT_KERNEL
138 select SYS_SUPPORTS_64BIT_KERNEL if BROKEN
139 select SYS_SUPPORTS_LITTLE_ENDIAN
140 select GENERIC_HARDIRQS_NO__DO_IRQ
141
Yoichi Yuasaade299d2007-07-27 15:25:43 +0900142config LEMOTE_FULONG
143 bool "Lemote Fulong mini-PC"
144 select ARCH_SPARSEMEM_ENABLE
145 select SYS_HAS_CPU_LOONGSON2
146 select DMA_NONCOHERENT
147 select BOOT_ELF32
148 select BOARD_SCACHE
149 select HAVE_STD_PC_SERIAL_PORT
150 select HW_HAS_PCI
151 select I8259
152 select ISA
153 select IRQ_CPU
154 select SYS_SUPPORTS_32BIT_KERNEL
155 select SYS_SUPPORTS_64BIT_KERNEL
156 select SYS_SUPPORTS_LITTLE_ENDIAN
157 select SYS_SUPPORTS_HIGHMEM
158 select SYS_HAS_EARLY_PRINTK
159 select GENERIC_HARDIRQS_NO__DO_IRQ
Ralf Baechle23dd6d32007-08-24 16:49:23 +0100160 select GENERIC_ISA_DMA_SUPPORT_BROKEN
Yoichi Yuasaade299d2007-07-27 15:25:43 +0900161 select CPU_HAS_WB
162 help
163 Lemote Fulong mini-PC board based on the Chinese Loongson-2E CPU and
164 an FPGA northbridge
165
Linus Torvalds1da177e2005-04-16 15:20:36 -0700166config MIPS_ATLAS
Martin Michlmayr3fa986f2006-05-09 23:34:53 +0200167 bool "MIPS Atlas board"
Linus Torvalds1da177e2005-04-16 15:20:36 -0700168 select BOOT_ELF32
169 select DMA_NONCOHERENT
Ralf Baechle36a88532007-03-01 11:56:43 +0000170 select SYS_HAS_EARLY_PRINTK
Ralf Baechle5e83d432005-10-29 19:32:41 +0100171 select IRQ_CPU
Linus Torvalds1da177e2005-04-16 15:20:36 -0700172 select HW_HAS_PCI
Ralf Baechle5e83d432005-10-29 19:32:41 +0100173 select MIPS_BOARDS_GEN
174 select MIPS_BONITO64
Yoichi Yuasa252161e2007-03-14 21:51:26 +0900175 select PCI_GT64XXX_PCI0
Ralf Baechle5e83d432005-10-29 19:32:41 +0100176 select MIPS_MSC
Maciej W. Rozyckif4b7cdb2005-02-12 04:31:49 +0000177 select RM7000_CPU_SCACHE
Linus Torvalds1da177e2005-04-16 15:20:36 -0700178 select SWAP_IO_SPACE
Ralf Baechle7cf80532005-10-20 22:33:09 +0100179 select SYS_HAS_CPU_MIPS32_R1
180 select SYS_HAS_CPU_MIPS32_R2
181 select SYS_HAS_CPU_MIPS64_R1
182 select SYS_HAS_CPU_NEVADA
183 select SYS_HAS_CPU_RM7000
Yoichi Yuasaed5ba2f2005-09-03 15:56:21 -0700184 select SYS_SUPPORTS_32BIT_KERNEL
185 select SYS_SUPPORTS_64BIT_KERNEL
Ralf Baechle5e83d432005-10-29 19:32:41 +0100186 select SYS_SUPPORTS_BIG_ENDIAN
187 select SYS_SUPPORTS_LITTLE_ENDIAN
Ralf Baechlef41ae0b2006-06-05 17:24:46 +0100188 select SYS_SUPPORTS_MULTITHREADING if EXPERIMENTAL
Franck Bui-Huu9693a852007-02-02 17:41:47 +0100189 select SYS_SUPPORTS_SMARTMIPS
Franck Bui-Huue77c2322006-12-01 18:22:27 +0100190 select GENERIC_HARDIRQS_NO__DO_IRQ
Linus Torvalds1da177e2005-04-16 15:20:36 -0700191 help
Maciej W. Rozyckif638d192005-02-02 22:23:46 +0000192 This enables support for the MIPS Technologies Atlas evaluation
Linus Torvalds1da177e2005-04-16 15:20:36 -0700193 board.
194
195config MIPS_MALTA
Martin Michlmayr3fa986f2006-05-09 23:34:53 +0200196 bool "MIPS Malta board"
Ralf Baechle61ed2422005-09-15 08:52:34 +0000197 select ARCH_MAY_HAVE_PC_FDC
Linus Torvalds1da177e2005-04-16 15:20:36 -0700198 select BOOT_ELF32
Linus Torvalds1da177e2005-04-16 15:20:36 -0700199 select DMA_NONCOHERENT
200 select GENERIC_ISA_DMA
Ralf Baechleaa414df2006-11-30 01:14:51 +0000201 select IRQ_CPU
Linus Torvalds1da177e2005-04-16 15:20:36 -0700202 select HW_HAS_PCI
203 select I8259
Ralf Baechle5e83d432005-10-29 19:32:41 +0100204 select MIPS_BOARDS_GEN
205 select MIPS_BONITO64
Chris Dearman9318c512006-06-20 17:15:20 +0100206 select MIPS_CPU_SCACHE
Yoichi Yuasa252161e2007-03-14 21:51:26 +0900207 select PCI_GT64XXX_PCI0
Ralf Baechle5e83d432005-10-29 19:32:41 +0100208 select MIPS_MSC
Linus Torvalds1da177e2005-04-16 15:20:36 -0700209 select SWAP_IO_SPACE
Ralf Baechle7cf80532005-10-20 22:33:09 +0100210 select SYS_HAS_CPU_MIPS32_R1
211 select SYS_HAS_CPU_MIPS32_R2
212 select SYS_HAS_CPU_MIPS64_R1
213 select SYS_HAS_CPU_NEVADA
214 select SYS_HAS_CPU_RM7000
Ralf Baechle36a88532007-03-01 11:56:43 +0000215 select SYS_HAS_EARLY_PRINTK
Yoichi Yuasaed5ba2f2005-09-03 15:56:21 -0700216 select SYS_SUPPORTS_32BIT_KERNEL
217 select SYS_SUPPORTS_64BIT_KERNEL
Ralf Baechle5e83d432005-10-29 19:32:41 +0100218 select SYS_SUPPORTS_BIG_ENDIAN
219 select SYS_SUPPORTS_LITTLE_ENDIAN
Ralf Baechlef41ae0b2006-06-05 17:24:46 +0100220 select SYS_SUPPORTS_MULTITHREADING
Franck Bui-Huu9693a852007-02-02 17:41:47 +0100221 select SYS_SUPPORTS_SMARTMIPS
Linus Torvalds1da177e2005-04-16 15:20:36 -0700222 help
Maciej W. Rozyckif638d192005-02-02 22:23:46 +0000223 This enables support for the MIPS Technologies Malta evaluation
Linus Torvalds1da177e2005-04-16 15:20:36 -0700224 board.
225
226config MIPS_SEAD
Ralf Baechled98cc842007-08-06 10:02:07 +0100227 bool "MIPS SEAD board"
Linus Torvalds1da177e2005-04-16 15:20:36 -0700228 select IRQ_CPU
229 select DMA_NONCOHERENT
Ralf Baechle36a88532007-03-01 11:56:43 +0000230 select SYS_HAS_EARLY_PRINTK
Ralf Baechle5e83d432005-10-29 19:32:41 +0100231 select MIPS_BOARDS_GEN
Ralf Baechle7cf80532005-10-20 22:33:09 +0100232 select SYS_HAS_CPU_MIPS32_R1
233 select SYS_HAS_CPU_MIPS32_R2
234 select SYS_HAS_CPU_MIPS64_R1
Yoichi Yuasaed5ba2f2005-09-03 15:56:21 -0700235 select SYS_SUPPORTS_32BIT_KERNEL
Ralf Baechle5e83d432005-10-29 19:32:41 +0100236 select SYS_SUPPORTS_64BIT_KERNEL if EXPERIMENTAL
237 select SYS_SUPPORTS_BIG_ENDIAN
238 select SYS_SUPPORTS_LITTLE_ENDIAN
Franck Bui-Huu9693a852007-02-02 17:41:47 +0100239 select SYS_SUPPORTS_SMARTMIPS
Maciej W. Rozyckif638d192005-02-02 22:23:46 +0000240 help
241 This enables support for the MIPS Technologies SEAD evaluation
242 board.
Linus Torvalds1da177e2005-04-16 15:20:36 -0700243
Ralf Baechlec78cbf42005-09-30 13:59:37 +0100244config MIPS_SIM
Martin Michlmayr3fa986f2006-05-09 23:34:53 +0200245 bool 'MIPS simulator (MIPSsim)'
Ralf Baechlec78cbf42005-09-30 13:59:37 +0100246 select DMA_NONCOHERENT
Ralf Baechle36a88532007-03-01 11:56:43 +0000247 select SYS_HAS_EARLY_PRINTK
Ralf Baechlec78cbf42005-09-30 13:59:37 +0100248 select IRQ_CPU
Marc St-Jean9267a302007-06-14 15:55:31 -0600249 select BOOT_RAW
Ralf Baechle7cf80532005-10-20 22:33:09 +0100250 select SYS_HAS_CPU_MIPS32_R1
251 select SYS_HAS_CPU_MIPS32_R2
Ralf Baechle36a88532007-03-01 11:56:43 +0000252 select SYS_HAS_EARLY_PRINTK
Ralf Baechlec78cbf42005-09-30 13:59:37 +0100253 select SYS_SUPPORTS_32BIT_KERNEL
254 select SYS_SUPPORTS_BIG_ENDIAN
Ralf Baechlef6e23732007-07-10 17:32:56 +0100255 select SYS_SUPPORTS_MULTITHREADING
Ralf Baechlec78cbf42005-09-30 13:59:37 +0100256 select SYS_SUPPORTS_LITTLE_ENDIAN
257 help
258 This option enables support for MIPS Technologies MIPSsim software
259 emulator.
260
Yoichi Yuasaade299d2007-07-27 15:25:43 +0900261config MARKEINS
262 bool "NEC EMMA2RH Mark-eins"
263 select DMA_NONCOHERENT
264 select HW_HAS_PCI
265 select IRQ_CPU
266 select SWAP_IO_SPACE
267 select SYS_SUPPORTS_32BIT_KERNEL
268 select SYS_SUPPORTS_BIG_ENDIAN
269 select SYS_SUPPORTS_LITTLE_ENDIAN
270 select SYS_HAS_CPU_R5000
271 help
272 This enables support for the R5432-based NEC Mark-eins
273 boards with R5500 CPU.
274
Ralf Baechle5e83d432005-10-29 19:32:41 +0100275config MACH_VR41XX
Yoichi Yuasa74142d62007-04-26 19:45:09 +0900276 bool "NEC VR4100 series based machines"
Ralf Baechle7cf80532005-10-20 22:33:09 +0100277 select SYS_HAS_CPU_VR41XX
Atsushi Nemoto9fd32cf2006-12-08 01:55:07 +0900278 select GENERIC_HARDIRQS_NO__DO_IRQ
Ralf Baechle5e83d432005-10-29 19:32:41 +0100279
Yoichi Yuasaade299d2007-07-27 15:25:43 +0900280config PNX8550_JBS
281 bool "Philips PNX8550 based JBS board"
282 select PNX8550
283 select SYS_SUPPORTS_LITTLE_ENDIAN
284
285config PNX8550_STB810
286 bool "Philips PNX8550 based STB810 board"
287 select PNX8550
288 select SYS_SUPPORTS_LITTLE_ENDIAN
289
Marc St-Jean9267a302007-06-14 15:55:31 -0600290config PMC_MSP
291 bool "PMC-Sierra MSP chipsets"
292 depends on EXPERIMENTAL
293 select DMA_NONCOHERENT
294 select SWAP_IO_SPACE
295 select NO_EXCEPT_FILL
296 select BOOT_RAW
297 select SYS_HAS_CPU_MIPS32_R1
298 select SYS_HAS_CPU_MIPS32_R2
299 select SYS_SUPPORTS_32BIT_KERNEL
300 select SYS_SUPPORTS_BIG_ENDIAN
301 select SYS_SUPPORTS_KGDB
302 select IRQ_CPU
303 select SERIAL_8250
304 select SERIAL_8250_CONSOLE
305 help
306 This adds support for the PMC-Sierra family of Multi-Service
307 Processor System-On-A-Chips. These parts include a number
308 of integrated peripherals, interfaces and DSPs in addition to
309 a variety of MIPS cores.
310
Ralf Baechle5e83d432005-10-29 19:32:41 +0100311config PMC_YOSEMITE
Martin Michlmayr3fa986f2006-05-09 23:34:53 +0200312 bool "PMC-Sierra Yosemite eval board"
Ralf Baechle5e83d432005-10-29 19:32:41 +0100313 select DMA_COHERENT
314 select HW_HAS_PCI
315 select IRQ_CPU
316 select IRQ_CPU_RM7K
317 select IRQ_CPU_RM9K
318 select SWAP_IO_SPACE
Ralf Baechle7cf80532005-10-20 22:33:09 +0100319 select SYS_HAS_CPU_RM9000
Ralf Baechle36a88532007-03-01 11:56:43 +0000320 select SYS_HAS_EARLY_PRINTK
Ralf Baechle5e83d432005-10-29 19:32:41 +0100321 select SYS_SUPPORTS_32BIT_KERNEL
322 select SYS_SUPPORTS_64BIT_KERNEL
323 select SYS_SUPPORTS_BIG_ENDIAN
324 select SYS_SUPPORTS_HIGHMEM
Ralf Baechlecc801072007-02-17 02:58:39 +0000325 select SYS_SUPPORTS_KGDB
Ralf Baechlee73ea272006-06-04 11:51:46 +0100326 select SYS_SUPPORTS_SMP
Ralf Baechle5e83d432005-10-29 19:32:41 +0100327 help
328 Yosemite is an evaluation board for the RM9000x2 processor
329 manufactured by PMC-Sierra.
Linus Torvalds1da177e2005-04-16 15:20:36 -0700330
Ralf Baechle07119622005-09-03 15:56:11 -0700331config QEMU
Martin Michlmayr3fa986f2006-05-09 23:34:53 +0200332 bool "Qemu"
Ralf Baechle07119622005-09-03 15:56:11 -0700333 select DMA_COHERENT
334 select GENERIC_ISA_DMA
335 select HAVE_STD_PC_SERIAL_PORT
336 select I8259
337 select ISA
Ralf Baechlede61b542007-07-12 17:41:23 +0100338 select PCSPEAKER
Ralf Baechle07119622005-09-03 15:56:11 -0700339 select SWAP_IO_SPACE
Ralf Baechle7cf80532005-10-20 22:33:09 +0100340 select SYS_HAS_CPU_MIPS32_R1
Ralf Baechle07119622005-09-03 15:56:11 -0700341 select SYS_SUPPORTS_32BIT_KERNEL
342 select SYS_SUPPORTS_BIG_ENDIAN
Aurelien Jarnoc8cc9612006-09-27 23:07:25 +0200343 select SYS_SUPPORTS_LITTLE_ENDIAN
Atsushi Nemotob1c6cd42006-07-03 00:09:47 +0900344 select ARCH_SPARSEMEM_ENABLE
Atsushi Nemoto9fd32cf2006-12-08 01:55:07 +0900345 select GENERIC_HARDIRQS_NO__DO_IRQ
Atsushi Nemoto72ede9b2007-03-18 01:01:39 +0900346 select NR_CPUS_DEFAULT_1
347 select SYS_SUPPORTS_SMP
Ralf Baechle07119622005-09-03 15:56:11 -0700348 help
Ralf Baechle5e83d432005-10-29 19:32:41 +0100349 Qemu is a software emulator which among other architectures also
350 can simulate a MIPS32 4Kc system. This patch adds support for the
351 system architecture that currently is being simulated by Qemu. It
352 will eventually be removed again when Qemu has the capability to
353 simulate actual MIPS hardware platforms. More information on Qemu
354 can be found at http://www.linux-mips.org/wiki/Qemu.
Ralf Baechle07119622005-09-03 15:56:11 -0700355
Linus Torvalds1da177e2005-04-16 15:20:36 -0700356config SGI_IP22
Martin Michlmayr3fa986f2006-05-09 23:34:53 +0200357 bool "SGI IP22 (Indy/Indigo2)"
Linus Torvalds1da177e2005-04-16 15:20:36 -0700358 select ARC
359 select ARC32
360 select BOOT_ELF32
361 select DMA_NONCOHERENT
Ralf Baechle5e83d432005-10-29 19:32:41 +0100362 select HW_HAS_EISA
Linus Torvalds1da177e2005-04-16 15:20:36 -0700363 select IP22_CPU_SCACHE
364 select IRQ_CPU
Ralf Baechleaa414df2006-11-30 01:14:51 +0000365 select GENERIC_ISA_DMA_SUPPORT_BROKEN
Linus Torvalds1da177e2005-04-16 15:20:36 -0700366 select SWAP_IO_SPACE
Ralf Baechle7cf80532005-10-20 22:33:09 +0100367 select SYS_HAS_CPU_R4X00
368 select SYS_HAS_CPU_R5000
Ralf Baechle36a88532007-03-01 11:56:43 +0000369 select SYS_HAS_EARLY_PRINTK
Yoichi Yuasaed5ba2f2005-09-03 15:56:21 -0700370 select SYS_SUPPORTS_32BIT_KERNEL
371 select SYS_SUPPORTS_64BIT_KERNEL
Ralf Baechle5e83d432005-10-29 19:32:41 +0100372 select SYS_SUPPORTS_BIG_ENDIAN
Linus Torvalds1da177e2005-04-16 15:20:36 -0700373 help
374 This are the SGI Indy, Challenge S and Indigo2, as well as certain
375 OEM variants like the Tandem CMN B006S. To compile a Linux kernel
376 that runs on these, say Y here.
377
378config SGI_IP27
Martin Michlmayr3fa986f2006-05-09 23:34:53 +0200379 bool "SGI IP27 (Origin200/2000)"
Linus Torvalds1da177e2005-04-16 15:20:36 -0700380 select ARC
381 select ARC64
Ralf Baechle5e83d432005-10-29 19:32:41 +0100382 select BOOT_ELF64
Linus Torvalds1da177e2005-04-16 15:20:36 -0700383 select DMA_IP27
Ralf Baechle36a88532007-03-01 11:56:43 +0000384 select SYS_HAS_EARLY_PRINTK
Linus Torvalds1da177e2005-04-16 15:20:36 -0700385 select HW_HAS_PCI
Ralf Baechle130e2fb2007-02-06 16:53:15 +0000386 select NR_CPUS_DEFAULT_64
Ralf Baechle7cf80532005-10-20 22:33:09 +0100387 select SYS_HAS_CPU_R10000
Yoichi Yuasaed5ba2f2005-09-03 15:56:21 -0700388 select SYS_SUPPORTS_64BIT_KERNEL
Ralf Baechle5e83d432005-10-29 19:32:41 +0100389 select SYS_SUPPORTS_BIG_ENDIAN
Ralf Baechlecc801072007-02-17 02:58:39 +0000390 select SYS_SUPPORTS_KGDB
Ralf Baechled8cb4e12006-06-11 23:03:08 +0100391 select SYS_SUPPORTS_NUMA
Ralf Baechle1a5c5de2006-11-02 17:23:33 +0000392 select SYS_SUPPORTS_SMP
Franck Bui-Huue77c2322006-12-01 18:22:27 +0100393 select GENERIC_HARDIRQS_NO__DO_IRQ
Linus Torvalds1da177e2005-04-16 15:20:36 -0700394 help
395 This are the SGI Origin 200, Origin 2000 and Onyx 2 Graphics
396 workstations. To compile a Linux kernel that runs on these, say Y
397 here.
398
Linus Torvalds1da177e2005-04-16 15:20:36 -0700399config SGI_IP32
Ralf Baechlecfd2afc2007-07-10 17:33:00 +0100400 bool "SGI IP32 (O2)"
Linus Torvalds1da177e2005-04-16 15:20:36 -0700401 select ARC
402 select ARC32
403 select BOOT_ELF32
Linus Torvalds1da177e2005-04-16 15:20:36 -0700404 select DMA_NONCOHERENT
405 select HW_HAS_PCI
406 select R5000_CPU_SCACHE
407 select RM7000_CPU_SCACHE
Ralf Baechle7cf80532005-10-20 22:33:09 +0100408 select SYS_HAS_CPU_R5000
409 select SYS_HAS_CPU_R10000 if BROKEN
410 select SYS_HAS_CPU_RM7000
Ralf Baechledd2f18f2006-01-19 14:55:42 +0000411 select SYS_HAS_CPU_NEVADA
Yoichi Yuasaed5ba2f2005-09-03 15:56:21 -0700412 select SYS_SUPPORTS_64BIT_KERNEL
Ralf Baechle5e83d432005-10-29 19:32:41 +0100413 select SYS_SUPPORTS_BIG_ENDIAN
Linus Torvalds1da177e2005-04-16 15:20:36 -0700414 help
415 If you want this kernel to run on SGI O2 workstation, say Y here.
416
Yoichi Yuasaade299d2007-07-27 15:25:43 +0900417config SIBYTE_CRHINE
418 bool "Sibyte BCM91120C-CRhine"
Ralf Baechle5e83d432005-10-29 19:32:41 +0100419 depends on EXPERIMENTAL
420 select BOOT_ELF32
421 select DMA_COHERENT
422 select SIBYTE_BCM1120
423 select SWAP_IO_SPACE
Ralf Baechle7cf80532005-10-20 22:33:09 +0100424 select SYS_HAS_CPU_SB1
Ralf Baechle5e83d432005-10-29 19:32:41 +0100425 select SYS_SUPPORTS_BIG_ENDIAN
426 select SYS_SUPPORTS_LITTLE_ENDIAN
427
Yoichi Yuasaade299d2007-07-27 15:25:43 +0900428config SIBYTE_CARMEL
429 bool "Sibyte BCM91120x-Carmel"
Ralf Baechle5e83d432005-10-29 19:32:41 +0100430 depends on EXPERIMENTAL
431 select BOOT_ELF32
432 select DMA_COHERENT
433 select SIBYTE_BCM1120
434 select SWAP_IO_SPACE
Ralf Baechle7cf80532005-10-20 22:33:09 +0100435 select SYS_HAS_CPU_SB1
Ralf Baechle5e83d432005-10-29 19:32:41 +0100436 select SYS_SUPPORTS_BIG_ENDIAN
437 select SYS_SUPPORTS_LITTLE_ENDIAN
438
439config SIBYTE_CRHONE
Martin Michlmayr3fa986f2006-05-09 23:34:53 +0200440 bool "Sibyte BCM91125C-CRhone"
Ralf Baechle5e83d432005-10-29 19:32:41 +0100441 depends on EXPERIMENTAL
442 select BOOT_ELF32
443 select DMA_COHERENT
444 select SIBYTE_BCM1125
445 select SWAP_IO_SPACE
Ralf Baechle7cf80532005-10-20 22:33:09 +0100446 select SYS_HAS_CPU_SB1
Ralf Baechle5e83d432005-10-29 19:32:41 +0100447 select SYS_SUPPORTS_BIG_ENDIAN
448 select SYS_SUPPORTS_HIGHMEM
449 select SYS_SUPPORTS_LITTLE_ENDIAN
450
Yoichi Yuasaade299d2007-07-27 15:25:43 +0900451config SIBYTE_RHONE
452 bool "Sibyte BCM91125E-Rhone"
453 depends on EXPERIMENTAL
454 select BOOT_ELF32
455 select DMA_COHERENT
456 select SIBYTE_BCM1125H
457 select SWAP_IO_SPACE
458 select SYS_HAS_CPU_SB1
459 select SYS_SUPPORTS_BIG_ENDIAN
460 select SYS_SUPPORTS_LITTLE_ENDIAN
461
462config SIBYTE_SWARM
463 bool "Sibyte BCM91250A-SWARM"
464 select BOOT_ELF32
465 select DMA_COHERENT
466 select NR_CPUS_DEFAULT_2
467 select SIBYTE_SB1250
468 select SWAP_IO_SPACE
469 select SYS_HAS_CPU_SB1
470 select SYS_SUPPORTS_BIG_ENDIAN
471 select SYS_SUPPORTS_HIGHMEM
472 select SYS_SUPPORTS_KGDB
473 select SYS_SUPPORTS_LITTLE_ENDIAN
474
475config SIBYTE_LITTLESUR
476 bool "Sibyte BCM91250C2-LittleSur"
477 depends on EXPERIMENTAL
478 select BOOT_ELF32
479 select DMA_COHERENT
480 select NR_CPUS_DEFAULT_2
481 select SIBYTE_SB1250
482 select SWAP_IO_SPACE
483 select SYS_HAS_CPU_SB1
484 select SYS_SUPPORTS_BIG_ENDIAN
485 select SYS_SUPPORTS_HIGHMEM
486 select SYS_SUPPORTS_LITTLE_ENDIAN
487
488config SIBYTE_SENTOSA
489 bool "Sibyte BCM91250E-Sentosa"
490 depends on EXPERIMENTAL
491 select BOOT_ELF32
492 select DMA_COHERENT
493 select NR_CPUS_DEFAULT_2
494 select SIBYTE_SB1250
495 select SWAP_IO_SPACE
496 select SYS_HAS_CPU_SB1
497 select SYS_SUPPORTS_BIG_ENDIAN
498 select SYS_SUPPORTS_LITTLE_ENDIAN
499
500config SIBYTE_PTSWARM
501 bool "Sibyte BCM91250PT-PTSWARM"
502 depends on EXPERIMENTAL
503 select BOOT_ELF32
504 select DMA_COHERENT
505 select NR_CPUS_DEFAULT_2
506 select SIBYTE_SB1250
507 select SWAP_IO_SPACE
508 select SYS_HAS_CPU_SB1
509 select SYS_SUPPORTS_BIG_ENDIAN
510 select SYS_SUPPORTS_HIGHMEM
511 select SYS_SUPPORTS_LITTLE_ENDIAN
512
513config SIBYTE_BIGSUR
514 bool "Sibyte BCM91480B-BigSur"
515 select BOOT_ELF32
516 select DMA_COHERENT
517 select NR_CPUS_DEFAULT_4
Yoichi Yuasaade299d2007-07-27 15:25:43 +0900518 select SIBYTE_BCM1x80
519 select SWAP_IO_SPACE
520 select SYS_HAS_CPU_SB1
521 select SYS_SUPPORTS_BIG_ENDIAN
522 select SYS_SUPPORTS_LITTLE_ENDIAN
523
Thomas Bogendoerfer14b36af2006-12-05 17:05:44 +0100524config SNI_RM
525 bool "SNI RM200/300/400"
Thomas Bogendoerfer4a0312f2006-06-13 13:59:01 +0200526 select ARC if CPU_LITTLE_ENDIAN
527 select ARC32 if CPU_LITTLE_ENDIAN
Ralf Baechle5e83d432005-10-29 19:32:41 +0100528 select ARCH_MAY_HAVE_PC_FDC
529 select BOOT_ELF32
530 select DMA_NONCOHERENT
531 select GENERIC_ISA_DMA
Ralf Baechle5e83d432005-10-29 19:32:41 +0100532 select HW_HAS_EISA
533 select HW_HAS_PCI
Thomas Bogendoerferc066a322006-12-28 18:22:32 +0100534 select IRQ_CPU
Ralf Baechle5e83d432005-10-29 19:32:41 +0100535 select I8259
536 select ISA
Ralf Baechlede61b542007-07-12 17:41:23 +0100537 select PCSPEAKER
Thomas Bogendoerfer4a0312f2006-06-13 13:59:01 +0200538 select SWAP_IO_SPACE if CPU_BIG_ENDIAN
Ralf Baechle7cf80532005-10-20 22:33:09 +0100539 select SYS_HAS_CPU_R4X00
Thomas Bogendoerfer4a0312f2006-06-13 13:59:01 +0200540 select SYS_HAS_CPU_R5000
Thomas Bogendoerferc066a322006-12-28 18:22:32 +0100541 select SYS_HAS_CPU_R10000
Thomas Bogendoerfer4a0312f2006-06-13 13:59:01 +0200542 select R5000_CPU_SCACHE
Ralf Baechle36a88532007-03-01 11:56:43 +0000543 select SYS_HAS_EARLY_PRINTK
Yoichi Yuasaed5ba2f2005-09-03 15:56:21 -0700544 select SYS_SUPPORTS_32BIT_KERNEL
Ralf Baechle5e83d432005-10-29 19:32:41 +0100545 select SYS_SUPPORTS_64BIT_KERNEL if EXPERIMENTAL
Thomas Bogendoerfer4a0312f2006-06-13 13:59:01 +0200546 select SYS_SUPPORTS_BIG_ENDIAN
Ralf Baechle5e83d432005-10-29 19:32:41 +0100547 select SYS_SUPPORTS_HIGHMEM
548 select SYS_SUPPORTS_LITTLE_ENDIAN
Linus Torvalds1da177e2005-04-16 15:20:36 -0700549 help
Thomas Bogendoerfer14b36af2006-12-05 17:05:44 +0100550 The SNI RM200/300/400 are MIPS-based machines manufactured by
551 Siemens Nixdorf Informationssysteme (SNI), parent company of Pyramid
Ralf Baechle5e83d432005-10-29 19:32:41 +0100552 Technology and now in turn merged with Fujitsu. Say Y here to
553 support this machine type.
Linus Torvalds1da177e2005-04-16 15:20:36 -0700554
Ralf Baechle5e83d432005-10-29 19:32:41 +0100555config TOSHIBA_JMR3927
Martin Michlmayr3fa986f2006-05-09 23:34:53 +0200556 bool "Toshiba JMR-TX3927 board"
Ralf Baechle5e83d432005-10-29 19:32:41 +0100557 select DMA_NONCOHERENT
558 select HW_HAS_PCI
559 select MIPS_TX3927
Atsushi Nemotoc87abd72007-08-02 23:36:02 +0900560 select IRQ_TXX9
Ralf Baechle5e83d432005-10-29 19:32:41 +0100561 select SWAP_IO_SPACE
Ralf Baechle7cf80532005-10-20 22:33:09 +0100562 select SYS_HAS_CPU_TX39XX
Ralf Baechle5e83d432005-10-29 19:32:41 +0100563 select SYS_SUPPORTS_32BIT_KERNEL
Sergei Shtylyov6a2603a2007-02-07 20:39:05 +0300564 select SYS_SUPPORTS_LITTLE_ENDIAN
Ralf Baechle5e83d432005-10-29 19:32:41 +0100565 select SYS_SUPPORTS_BIG_ENDIAN
Atsushi Nemoto21274352007-03-15 00:58:28 +0900566 select GENERIC_HARDIRQS_NO__DO_IRQ
Ralf Baechle5e83d432005-10-29 19:32:41 +0100567
568config TOSHIBA_RBTX4927
Yoichi Yuasa08a91282007-07-27 15:20:24 +0900569 bool "Toshiba RBTX49[23]7 board"
Ralf Baechle5e83d432005-10-29 19:32:41 +0100570 select DMA_NONCOHERENT
571 select HAS_TXX9_SERIAL
572 select HW_HAS_PCI
Atsushi Nemotoc87abd72007-08-02 23:36:02 +0900573 select IRQ_CPU
574 select IRQ_TXX9
575 select I8259 if TOSHIBA_FPCIB0
Ralf Baechle5e83d432005-10-29 19:32:41 +0100576 select SWAP_IO_SPACE
Ralf Baechle7cf80532005-10-20 22:33:09 +0100577 select SYS_HAS_CPU_TX49XX
Ralf Baechle5e83d432005-10-29 19:32:41 +0100578 select SYS_SUPPORTS_32BIT_KERNEL
579 select SYS_SUPPORTS_64BIT_KERNEL
Sergei Shtylyov6a2603a2007-02-07 20:39:05 +0300580 select SYS_SUPPORTS_LITTLE_ENDIAN
Ralf Baechle5e83d432005-10-29 19:32:41 +0100581 select SYS_SUPPORTS_BIG_ENDIAN
Ralf Baechlecc801072007-02-17 02:58:39 +0000582 select SYS_SUPPORTS_KGDB
Atsushi Nemoto9fd32cf2006-12-08 01:55:07 +0900583 select GENERIC_HARDIRQS_NO__DO_IRQ
Ralf Baechle5e83d432005-10-29 19:32:41 +0100584 help
585 This Toshiba board is based on the TX4927 processor. Say Y here to
586 support this machine type
Linus Torvalds1da177e2005-04-16 15:20:36 -0700587
Ralf Baechle23fbee92005-07-25 22:45:45 +0000588config TOSHIBA_RBTX4938
Martin Michlmayr3fa986f2006-05-09 23:34:53 +0200589 bool "Toshiba RBTX4938 board"
Ralf Baechle23fbee92005-07-25 22:45:45 +0000590 select DMA_NONCOHERENT
Ralf Baechle23fbee92005-07-25 22:45:45 +0000591 select HAS_TXX9_SERIAL
592 select HW_HAS_PCI
Atsushi Nemotoc87abd72007-08-02 23:36:02 +0900593 select IRQ_CPU
594 select IRQ_TXX9
Ralf Baechle23fbee92005-07-25 22:45:45 +0000595 select SWAP_IO_SPACE
Ralf Baechle7cf80532005-10-20 22:33:09 +0100596 select SYS_HAS_CPU_TX49XX
Ralf Baechle23fbee92005-07-25 22:45:45 +0000597 select SYS_SUPPORTS_32BIT_KERNEL
598 select SYS_SUPPORTS_LITTLE_ENDIAN
599 select SYS_SUPPORTS_BIG_ENDIAN
Ralf Baechlecc801072007-02-17 02:58:39 +0000600 select SYS_SUPPORTS_KGDB
Atsushi Nemoto9fd32cf2006-12-08 01:55:07 +0900601 select GENERIC_HARDIRQS_NO__DO_IRQ
Atsushi Nemoto3896b052007-06-22 23:21:55 +0900602 select GENERIC_GPIO
Ralf Baechle23fbee92005-07-25 22:45:45 +0000603 help
604 This Toshiba board is based on the TX4938 processor. Say Y here to
605 support this machine type
606
Yoichi Yuasaade299d2007-07-27 15:25:43 +0900607config WR_PPMC
608 bool "Wind River PPMC board"
609 select IRQ_CPU
610 select BOOT_ELF32
611 select DMA_NONCOHERENT
612 select HW_HAS_PCI
613 select PCI_GT64XXX_PCI0
614 select SWAP_IO_SPACE
615 select SYS_HAS_CPU_MIPS32_R1
616 select SYS_HAS_CPU_MIPS32_R2
617 select SYS_HAS_CPU_MIPS64_R1
618 select SYS_HAS_CPU_NEVADA
619 select SYS_HAS_CPU_RM7000
620 select SYS_SUPPORTS_32BIT_KERNEL
621 select SYS_SUPPORTS_64BIT_KERNEL
622 select SYS_SUPPORTS_BIG_ENDIAN
623 select SYS_SUPPORTS_LITTLE_ENDIAN
624 help
625 This enables support for the Wind River MIPS32 4KC PPMC evaluation
626 board, which is based on GT64120 bridge chip.
627
Linus Torvalds1da177e2005-04-16 15:20:36 -0700628endchoice
629
Yoichi Yuasac3543e22007-05-11 20:44:30 +0900630source "arch/mips/au1000/Kconfig"
Ralf Baechle5e83d432005-10-29 19:32:41 +0100631source "arch/mips/jazz/Kconfig"
Brian Murphy1f21d2b2007-08-21 22:34:16 +0200632source "arch/mips/lasat/Kconfig"
Ralf Baechle5e83d432005-10-29 19:32:41 +0100633source "arch/mips/pmc-sierra/Kconfig"
Ralf Baechle29c48692005-02-07 01:27:14 +0000634source "arch/mips/sgi-ip27/Kconfig"
Ralf Baechle38b18f722005-02-03 14:28:23 +0000635source "arch/mips/sibyte/Kconfig"
Ralf Baechle5e83d432005-10-29 19:32:41 +0100636source "arch/mips/tx4927/Kconfig"
Ralf Baechle23fbee92005-07-25 22:45:45 +0000637source "arch/mips/tx4938/Kconfig"
Ralf Baechle5e83d432005-10-29 19:32:41 +0100638source "arch/mips/vr41xx/Kconfig"
Ralf Baechle38b18f722005-02-03 14:28:23 +0000639
Ralf Baechle5e83d432005-10-29 19:32:41 +0100640endmenu
641
Linus Torvalds1da177e2005-04-16 15:20:36 -0700642config RWSEM_GENERIC_SPINLOCK
643 bool
644 default y
645
646config RWSEM_XCHGADD_ALGORITHM
647 bool
648
David Howellsf0d1b0b2006-12-08 02:37:49 -0800649config ARCH_HAS_ILOG2_U32
650 bool
651 default n
652
653config ARCH_HAS_ILOG2_U64
654 bool
655 default n
656
Akinobu Mita3c9ee7e2006-03-26 01:39:30 -0800657config GENERIC_FIND_NEXT_BIT
658 bool
659 default y
660
661config GENERIC_HWEIGHT
662 bool
663 default y
664
Linus Torvalds1da177e2005-04-16 15:20:36 -0700665config GENERIC_CALIBRATE_DELAY
666 bool
667 default y
668
Ralf Baechle8db02012006-10-02 16:54:48 +0100669config GENERIC_TIME
670 bool
671 default y
672
Atsushi Nemoto1cc89032006-04-04 13:11:45 +0900673config SCHED_NO_NO_OMIT_FRAME_POINTER
674 bool
675 default y
676
Franck Bui-Huue77c2322006-12-01 18:22:27 +0100677config GENERIC_HARDIRQS_NO__DO_IRQ
678 bool
679 default n
680
Linus Torvalds1da177e2005-04-16 15:20:36 -0700681#
682# Select some configuration options automatically based on user selections.
683#
684config ARC
685 bool
Linus Torvalds1da177e2005-04-16 15:20:36 -0700686
Ralf Baechle61ed2422005-09-15 08:52:34 +0000687config ARCH_MAY_HAVE_PC_FDC
688 bool
689
Marc St-Jean9267a302007-06-14 15:55:31 -0600690config BOOT_RAW
691 bool
692
Aurelien Jarnodf78b5c2007-09-05 08:58:26 +0200693config CFE
694 bool
695
Ralf Baechle4ce588c2005-09-03 15:56:19 -0700696config DMA_COHERENT
Linus Torvalds1da177e2005-04-16 15:20:36 -0700697 bool
698
Ralf Baechle4ce588c2005-09-03 15:56:19 -0700699config DMA_IP27
Linus Torvalds1da177e2005-04-16 15:20:36 -0700700 bool
701
Ralf Baechle4ce588c2005-09-03 15:56:19 -0700702config DMA_IP32
703 bool
704 select DMA_NEED_PCI_MAP_STATE
705
706config DMA_NONCOHERENT
707 bool
708 select DMA_NEED_PCI_MAP_STATE
709
710config DMA_NEED_PCI_MAP_STATE
Linus Torvalds1da177e2005-04-16 15:20:36 -0700711 bool
712
713config EARLY_PRINTK
Ralf Baechle36a88532007-03-01 11:56:43 +0000714 bool "Early printk" if EMBEDDED && DEBUG_KERNEL
715 depends on SYS_HAS_EARLY_PRINTK
716 default y
717 help
718 This option enables special console drivers which allow the kernel
719 to print messages very early in the bootup process.
720
721 This is useful for kernel debugging when your machine crashes very
Robert P. J. Day490dcc42007-05-20 12:11:07 -0400722 early before the console code is initialized. For normal operation,
723 it is not recommended because it looks ugly on some machines and
724 doesn't cooperate with an X server. You should normally say N here,
Ralf Baechle36a88532007-03-01 11:56:43 +0000725 unless you want to debug such a crash.
726
727config SYS_HAS_EARLY_PRINTK
Linus Torvalds1da177e2005-04-16 15:20:36 -0700728 bool
Linus Torvalds1da177e2005-04-16 15:20:36 -0700729
Ralf Baechledbb74542007-08-07 14:52:17 +0100730config HOTPLUG_CPU
731 bool
732 default n
733
Linus Torvalds1da177e2005-04-16 15:20:36 -0700734config I8259
735 bool
Linus Torvalds1da177e2005-04-16 15:20:36 -0700736
Linus Torvalds1da177e2005-04-16 15:20:36 -0700737config MIPS_BONITO64
738 bool
Linus Torvalds1da177e2005-04-16 15:20:36 -0700739
740config MIPS_MSC
741 bool
Linus Torvalds1da177e2005-04-16 15:20:36 -0700742
Brian Murphy1f21d2b2007-08-21 22:34:16 +0200743config MIPS_NILE4
744 bool
745
Linus Torvalds1da177e2005-04-16 15:20:36 -0700746config MIPS_DISABLE_OBSOLETE_IDE
747 bool
748
Maciej W. Rozyckid388d682007-05-29 15:08:07 +0100749config NO_IOPORT
750 def_bool n
751
Ralf Baechle8313da32007-08-24 16:48:30 +0100752config GENERIC_ISA_DMA
753 bool
754 select ZONE_DMA if GENERIC_ISA_DMA_SUPPORT_BROKEN=n
755
Ralf Baechleaa414df2006-11-30 01:14:51 +0000756config GENERIC_ISA_DMA_SUPPORT_BROKEN
757 bool
Ralf Baechle8313da32007-08-24 16:48:30 +0100758 select GENERIC_ISA_DMA
Ralf Baechleaa414df2006-11-30 01:14:51 +0000759
Yoichi Yuasa09663332007-05-22 00:05:58 +0900760config GENERIC_GPIO
761 bool
762
Ralf Baechle5e83d432005-10-29 19:32:41 +0100763#
Matt LaPlante3cb2fcc2006-11-30 05:22:59 +0100764# Endianess selection. Sufficiently obscure so many users don't know what to
Ralf Baechle5e83d432005-10-29 19:32:41 +0100765# answer,so we try hard to limit the available choices. Also the use of a
766# choice statement should be more obvious to the user.
767#
768choice
769 prompt "Endianess selection"
Linus Torvalds1da177e2005-04-16 15:20:36 -0700770 help
771 Some MIPS machines can be configured for either little or big endian
Ralf Baechle5e83d432005-10-29 19:32:41 +0100772 byte order. These modes require different kernels and a different
Matt LaPlante3cb2fcc2006-11-30 05:22:59 +0100773 Linux distribution. In general there is one preferred byteorder for a
Ralf Baechle5e83d432005-10-29 19:32:41 +0100774 particular system but some systems are just as commonly used in the
David Sterba3dde6ad2007-05-09 07:12:20 +0200775 one or the other endianness.
Ralf Baechle5e83d432005-10-29 19:32:41 +0100776
777config CPU_BIG_ENDIAN
778 bool "Big endian"
779 depends on SYS_SUPPORTS_BIG_ENDIAN
780
781config CPU_LITTLE_ENDIAN
782 bool "Little endian"
783 depends on SYS_SUPPORTS_LITTLE_ENDIAN
784 help
785
786endchoice
787
Ralf Baechle21162452007-02-09 17:08:58 +0000788config SYS_SUPPORTS_APM_EMULATION
789 bool
790
Ralf Baechle5e83d432005-10-29 19:32:41 +0100791config SYS_SUPPORTS_BIG_ENDIAN
792 bool
793
794config SYS_SUPPORTS_LITTLE_ENDIAN
795 bool
Linus Torvalds1da177e2005-04-16 15:20:36 -0700796
797config IRQ_CPU
798 bool
799
800config IRQ_CPU_RM7K
801 bool
802
Ralf Baechle5e83d432005-10-29 19:32:41 +0100803config IRQ_CPU_RM9K
804 bool
805
Marc St-Jean9267a302007-06-14 15:55:31 -0600806config IRQ_MSP_SLP
807 bool
808
809config IRQ_MSP_CIC
810 bool
811
Atsushi Nemoto8420fd02007-08-02 23:35:53 +0900812config IRQ_TXX9
813 bool
814
Yoichi Yuasad5ab1a62007-09-13 23:51:26 +0900815config IRQ_GT641XX
816 bool
817
Linus Torvalds1da177e2005-04-16 15:20:36 -0700818config MIPS_BOARDS_GEN
819 bool
Linus Torvalds1da177e2005-04-16 15:20:36 -0700820
Yoichi Yuasa252161e2007-03-14 21:51:26 +0900821config PCI_GT64XXX_PCI0
Linus Torvalds1da177e2005-04-16 15:20:36 -0700822 bool
Linus Torvalds1da177e2005-04-16 15:20:36 -0700823
Marc St-Jean9267a302007-06-14 15:55:31 -0600824config NO_EXCEPT_FILL
825 bool
826
Linus Torvalds1da177e2005-04-16 15:20:36 -0700827config MIPS_TX3927
828 bool
Linus Torvalds1da177e2005-04-16 15:20:36 -0700829 select HAS_TXX9_SERIAL
Linus Torvalds1da177e2005-04-16 15:20:36 -0700830
thomas@koeller.dyndns.org663c3d92006-08-27 13:51:48 +0200831config MIPS_RM9122
832 bool
833 select SERIAL_RM9000
thomas@koeller.dyndns.org663c3d92006-08-27 13:51:48 +0200834
Pete Popovbdf21b12005-07-14 17:47:57 +0000835config PNX8550
836 bool
837 select SOC_PNX8550
838
839config SOC_PNX8550
840 bool
Pete Popovbdf21b12005-07-14 17:47:57 +0000841 select DMA_NONCOHERENT
842 select HW_HAS_PCI
Ralf Baechleb8c2a772005-10-31 13:08:37 +0000843 select SYS_HAS_CPU_MIPS32_R1
Ralf Baechle36a88532007-03-01 11:56:43 +0000844 select SYS_HAS_EARLY_PRINTK
Ralf Baechle7cf80532005-10-20 22:33:09 +0100845 select SYS_SUPPORTS_32BIT_KERNEL
Franck Bui-Huue77c2322006-12-01 18:22:27 +0100846 select GENERIC_HARDIRQS_NO__DO_IRQ
Ralf Baechlecc801072007-02-17 02:58:39 +0000847 select SYS_SUPPORTS_KGDB
Florian Fainelli4ead1682007-05-22 21:44:42 +0200848 select GENERIC_GPIO
Pete Popovbdf21b12005-07-14 17:47:57 +0000849
Linus Torvalds1da177e2005-04-16 15:20:36 -0700850config SWAP_IO_SPACE
851 bool
852
dmitry pervushin355c4712006-05-21 14:53:06 +0400853config EMMA2RH
854 bool
855 depends on MARKEINS
856 default y
857
thomas@koeller.dyndns.org663c3d92006-08-27 13:51:48 +0200858config SERIAL_RM9000
859 bool
860
Ralf Baechle5e83d432005-10-29 19:32:41 +0100861config ARC32
862 bool
863
Linus Torvalds1da177e2005-04-16 15:20:36 -0700864config BOOT_ELF32
865 bool
Linus Torvalds1da177e2005-04-16 15:20:36 -0700866
867config MIPS_L1_CACHE_SHIFT
868 int
Thomas Bogendoerfer06cf5582007-06-20 23:36:47 +0200869 default "4" if MACH_DECSTATION
870 default "7" if SGI_IP27 || SNI_RM
Marc St-Jean9267a302007-06-14 15:55:31 -0600871 default "4" if PMC_MSP4200_EVAL
Linus Torvalds1da177e2005-04-16 15:20:36 -0700872 default "5"
873
Linus Torvalds1da177e2005-04-16 15:20:36 -0700874config HAVE_STD_PC_SERIAL_PORT
875 bool
876
Linus Torvalds1da177e2005-04-16 15:20:36 -0700877config ARC_CONSOLE
878 bool "ARC console support"
Ralf Baechle36a88532007-03-01 11:56:43 +0000879 depends on SGI_IP22 || (SNI_RM && CPU_LITTLE_ENDIAN)
Linus Torvalds1da177e2005-04-16 15:20:36 -0700880
881config ARC_MEMORY
882 bool
Thomas Bogendoerfer14b36af2006-12-05 17:05:44 +0100883 depends on MACH_JAZZ || SNI_RM || SGI_IP32
Linus Torvalds1da177e2005-04-16 15:20:36 -0700884 default y
885
886config ARC_PROMLIB
887 bool
Thomas Bogendoerfer14b36af2006-12-05 17:05:44 +0100888 depends on MACH_JAZZ || SNI_RM || SGI_IP22 || SGI_IP32
Linus Torvalds1da177e2005-04-16 15:20:36 -0700889 default y
890
891config ARC64
892 bool
Linus Torvalds1da177e2005-04-16 15:20:36 -0700893
894config BOOT_ELF64
895 bool
Linus Torvalds1da177e2005-04-16 15:20:36 -0700896
Linus Torvalds1da177e2005-04-16 15:20:36 -0700897menu "CPU selection"
898
899choice
900 prompt "CPU type"
901 default CPU_R4X00
902
Fuxin Zhang2a21c732007-06-06 14:52:43 +0800903config CPU_LOONGSON2
904 bool "Loongson 2"
905 depends on SYS_HAS_CPU_LOONGSON2
906 select CPU_SUPPORTS_32BIT_KERNEL
907 select CPU_SUPPORTS_64BIT_KERNEL
908 select CPU_SUPPORTS_HIGHMEM
909 help
910 The Loongson 2E processor implements the MIPS III instruction set
911 with many extensions.
912
Ralf Baechle6e760c82005-07-06 12:08:11 +0000913config CPU_MIPS32_R1
914 bool "MIPS32 Release 1"
Ralf Baechle7cf80532005-10-20 22:33:09 +0100915 depends on SYS_HAS_CPU_MIPS32_R1
Ralf Baechlef7062dd2006-04-24 14:58:53 +0100916 select CPU_HAS_LLSC
Ralf Baechle6e760c82005-07-06 12:08:11 +0000917 select CPU_HAS_PREFETCH
Ralf Baechle797798c2005-08-10 15:17:11 +0000918 select CPU_SUPPORTS_32BIT_KERNEL
Ralf Baechleec28f302006-03-05 00:45:33 +0000919 select CPU_SUPPORTS_HIGHMEM
Ralf Baechle6e760c82005-07-06 12:08:11 +0000920 help
Ralf Baechle5e83d432005-10-29 19:32:41 +0100921 Choose this option to build a kernel for release 1 or later of the
Ralf Baechle1e5f1ca2005-07-12 14:51:22 +0000922 MIPS32 architecture. Most modern embedded systems with a 32-bit
923 MIPS processor are based on a MIPS32 processor. If you know the
924 specific type of processor in your system, choose those that one
925 otherwise CPU_MIPS32_R1 is a safe bet for any MIPS32 system.
926 Release 2 of the MIPS32 architecture is available since several
927 years so chances are you even have a MIPS32 Release 2 processor
928 in which case you should choose CPU_MIPS32_R2 instead for better
929 performance.
930
931config CPU_MIPS32_R2
932 bool "MIPS32 Release 2"
Ralf Baechle7cf80532005-10-20 22:33:09 +0100933 depends on SYS_HAS_CPU_MIPS32_R2
Ralf Baechlef7062dd2006-04-24 14:58:53 +0100934 select CPU_HAS_LLSC
Ralf Baechle1e5f1ca2005-07-12 14:51:22 +0000935 select CPU_HAS_PREFETCH
Ralf Baechle797798c2005-08-10 15:17:11 +0000936 select CPU_SUPPORTS_32BIT_KERNEL
Ralf Baechleec28f302006-03-05 00:45:33 +0000937 select CPU_SUPPORTS_HIGHMEM
Ralf Baechle1e5f1ca2005-07-12 14:51:22 +0000938 help
Ralf Baechle5e83d432005-10-29 19:32:41 +0100939 Choose this option to build a kernel for release 2 or later of the
Ralf Baechle6e760c82005-07-06 12:08:11 +0000940 MIPS32 architecture. Most modern embedded systems with a 32-bit
941 MIPS processor are based on a MIPS32 processor. If you know the
942 specific type of processor in your system, choose those that one
943 otherwise CPU_MIPS32_R1 is a safe bet for any MIPS32 system.
Linus Torvalds1da177e2005-04-16 15:20:36 -0700944
Ralf Baechle6e760c82005-07-06 12:08:11 +0000945config CPU_MIPS64_R1
946 bool "MIPS64 Release 1"
Ralf Baechle7cf80532005-10-20 22:33:09 +0100947 depends on SYS_HAS_CPU_MIPS64_R1
Ralf Baechlef7062dd2006-04-24 14:58:53 +0100948 select CPU_HAS_LLSC
Ralf Baechle797798c2005-08-10 15:17:11 +0000949 select CPU_HAS_PREFETCH
Yoichi Yuasaed5ba2f2005-09-03 15:56:21 -0700950 select CPU_SUPPORTS_32BIT_KERNEL
951 select CPU_SUPPORTS_64BIT_KERNEL
Ralf Baechleec28f302006-03-05 00:45:33 +0000952 select CPU_SUPPORTS_HIGHMEM
Ralf Baechle6e760c82005-07-06 12:08:11 +0000953 help
954 Choose this option to build a kernel for release 1 or later of the
955 MIPS64 architecture. Many modern embedded systems with a 64-bit
956 MIPS processor are based on a MIPS64 processor. If you know the
957 specific type of processor in your system, choose those that one
958 otherwise CPU_MIPS64_R1 is a safe bet for any MIPS64 system.
Ralf Baechle1e5f1ca2005-07-12 14:51:22 +0000959 Release 2 of the MIPS64 architecture is available since several
960 years so chances are you even have a MIPS64 Release 2 processor
961 in which case you should choose CPU_MIPS64_R2 instead for better
962 performance.
963
964config CPU_MIPS64_R2
965 bool "MIPS64 Release 2"
Ralf Baechle7cf80532005-10-20 22:33:09 +0100966 depends on SYS_HAS_CPU_MIPS64_R2
Ralf Baechlef7062dd2006-04-24 14:58:53 +0100967 select CPU_HAS_LLSC
Ralf Baechle797798c2005-08-10 15:17:11 +0000968 select CPU_HAS_PREFETCH
Ralf Baechle1e5f1ca2005-07-12 14:51:22 +0000969 select CPU_SUPPORTS_32BIT_KERNEL
970 select CPU_SUPPORTS_64BIT_KERNEL
Ralf Baechleec28f302006-03-05 00:45:33 +0000971 select CPU_SUPPORTS_HIGHMEM
Ralf Baechle1e5f1ca2005-07-12 14:51:22 +0000972 help
973 Choose this option to build a kernel for release 2 or later of the
974 MIPS64 architecture. Many modern embedded systems with a 64-bit
975 MIPS processor are based on a MIPS64 processor. If you know the
976 specific type of processor in your system, choose those that one
977 otherwise CPU_MIPS64_R1 is a safe bet for any MIPS64 system.
Linus Torvalds1da177e2005-04-16 15:20:36 -0700978
979config CPU_R3000
980 bool "R3000"
Ralf Baechle7cf80532005-10-20 22:33:09 +0100981 depends on SYS_HAS_CPU_R3000
Ralf Baechlef7062dd2006-04-24 14:58:53 +0100982 select CPU_HAS_WB
Yoichi Yuasaed5ba2f2005-09-03 15:56:21 -0700983 select CPU_SUPPORTS_32BIT_KERNEL
Ralf Baechle797798c2005-08-10 15:17:11 +0000984 select CPU_SUPPORTS_HIGHMEM
Linus Torvalds1da177e2005-04-16 15:20:36 -0700985 help
986 Please make sure to pick the right CPU type. Linux/MIPS is not
987 designed to be generic, i.e. Kernels compiled for R3000 CPUs will
988 *not* work on R4000 machines and vice versa. However, since most
989 of the supported machines have an R4000 (or similar) CPU, R4x00
990 might be a safe bet. If the resulting kernel does not work,
991 try to recompile with R3000.
992
993config CPU_TX39XX
994 bool "R39XX"
Ralf Baechle7cf80532005-10-20 22:33:09 +0100995 depends on SYS_HAS_CPU_TX39XX
Yoichi Yuasaed5ba2f2005-09-03 15:56:21 -0700996 select CPU_SUPPORTS_32BIT_KERNEL
Linus Torvalds1da177e2005-04-16 15:20:36 -0700997
998config CPU_VR41XX
999 bool "R41xx"
Ralf Baechle7cf80532005-10-20 22:33:09 +01001000 depends on SYS_HAS_CPU_VR41XX
Yoichi Yuasaed5ba2f2005-09-03 15:56:21 -07001001 select CPU_SUPPORTS_32BIT_KERNEL
1002 select CPU_SUPPORTS_64BIT_KERNEL
Linus Torvalds1da177e2005-04-16 15:20:36 -07001003 help
Ralf Baechle5e83d432005-10-29 19:32:41 +01001004 The options selects support for the NEC VR4100 series of processors.
Linus Torvalds1da177e2005-04-16 15:20:36 -07001005 Only choose this option if you have one of these processors as a
1006 kernel built with this option will not run on any other type of
1007 processor or vice versa.
1008
1009config CPU_R4300
1010 bool "R4300"
Ralf Baechle7cf80532005-10-20 22:33:09 +01001011 depends on SYS_HAS_CPU_R4300
Ralf Baechlef7062dd2006-04-24 14:58:53 +01001012 select CPU_HAS_LLSC
Yoichi Yuasaed5ba2f2005-09-03 15:56:21 -07001013 select CPU_SUPPORTS_32BIT_KERNEL
1014 select CPU_SUPPORTS_64BIT_KERNEL
Linus Torvalds1da177e2005-04-16 15:20:36 -07001015 help
1016 MIPS Technologies R4300-series processors.
1017
1018config CPU_R4X00
1019 bool "R4x00"
Ralf Baechle7cf80532005-10-20 22:33:09 +01001020 depends on SYS_HAS_CPU_R4X00
Ralf Baechlef7062dd2006-04-24 14:58:53 +01001021 select CPU_HAS_LLSC
Yoichi Yuasaed5ba2f2005-09-03 15:56:21 -07001022 select CPU_SUPPORTS_32BIT_KERNEL
1023 select CPU_SUPPORTS_64BIT_KERNEL
Linus Torvalds1da177e2005-04-16 15:20:36 -07001024 help
1025 MIPS Technologies R4000-series processors other than 4300, including
1026 the R4000, R4400, R4600, and 4700.
1027
1028config CPU_TX49XX
1029 bool "R49XX"
Ralf Baechle7cf80532005-10-20 22:33:09 +01001030 depends on SYS_HAS_CPU_TX49XX
Ralf Baechlef7062dd2006-04-24 14:58:53 +01001031 select CPU_HAS_LLSC
Atsushi Nemotode862b42006-03-17 12:59:22 +09001032 select CPU_HAS_PREFETCH
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
1036config CPU_R5000
1037 bool "R5000"
Ralf Baechle7cf80532005-10-20 22:33:09 +01001038 depends on SYS_HAS_CPU_R5000
Ralf Baechlef7062dd2006-04-24 14:58:53 +01001039 select CPU_HAS_LLSC
Yoichi Yuasaed5ba2f2005-09-03 15:56:21 -07001040 select CPU_SUPPORTS_32BIT_KERNEL
1041 select CPU_SUPPORTS_64BIT_KERNEL
Linus Torvalds1da177e2005-04-16 15:20:36 -07001042 help
1043 MIPS Technologies R5000-series processors other than the Nevada.
1044
1045config CPU_R5432
1046 bool "R5432"
Ralf Baechle7cf80532005-10-20 22:33:09 +01001047 depends on SYS_HAS_CPU_R5432
Ralf Baechlef7062dd2006-04-24 14:58:53 +01001048 select CPU_HAS_LLSC
Ralf Baechle5e83d432005-10-29 19:32:41 +01001049 select CPU_SUPPORTS_32BIT_KERNEL
1050 select CPU_SUPPORTS_64BIT_KERNEL
Linus Torvalds1da177e2005-04-16 15:20:36 -07001051
1052config CPU_R6000
1053 bool "R6000"
Yoichi Yuasaed5ba2f2005-09-03 15:56:21 -07001054 depends on EXPERIMENTAL
Ralf Baechlef7062dd2006-04-24 14:58:53 +01001055 select CPU_HAS_LLSC
Ralf Baechle7cf80532005-10-20 22:33:09 +01001056 depends on SYS_HAS_CPU_R6000
Yoichi Yuasaed5ba2f2005-09-03 15:56:21 -07001057 select CPU_SUPPORTS_32BIT_KERNEL
Linus Torvalds1da177e2005-04-16 15:20:36 -07001058 help
1059 MIPS Technologies R6000 and R6000A series processors. Note these
Chris Dearmanc09b47d2006-06-20 17:15:20 +01001060 processors are extremely rare and the support for them is incomplete.
Linus Torvalds1da177e2005-04-16 15:20:36 -07001061
1062config CPU_NEVADA
1063 bool "RM52xx"
Ralf Baechle7cf80532005-10-20 22:33:09 +01001064 depends on SYS_HAS_CPU_NEVADA
Ralf Baechlef7062dd2006-04-24 14:58:53 +01001065 select CPU_HAS_LLSC
Yoichi Yuasaed5ba2f2005-09-03 15:56:21 -07001066 select CPU_SUPPORTS_32BIT_KERNEL
1067 select CPU_SUPPORTS_64BIT_KERNEL
Linus Torvalds1da177e2005-04-16 15:20:36 -07001068 help
1069 QED / PMC-Sierra RM52xx-series ("Nevada") processors.
1070
1071config CPU_R8000
1072 bool "R8000"
Yoichi Yuasaed5ba2f2005-09-03 15:56:21 -07001073 depends on EXPERIMENTAL
Ralf Baechle7cf80532005-10-20 22:33:09 +01001074 depends on SYS_HAS_CPU_R8000
Ralf Baechlef7062dd2006-04-24 14:58:53 +01001075 select CPU_HAS_LLSC
Ralf Baechle5e83d432005-10-29 19:32:41 +01001076 select CPU_HAS_PREFETCH
Yoichi Yuasaed5ba2f2005-09-03 15:56:21 -07001077 select CPU_SUPPORTS_64BIT_KERNEL
Linus Torvalds1da177e2005-04-16 15:20:36 -07001078 help
1079 MIPS Technologies R8000 processors. Note these processors are
1080 uncommon and the support for them is incomplete.
1081
1082config CPU_R10000
1083 bool "R10000"
Ralf Baechle7cf80532005-10-20 22:33:09 +01001084 depends on SYS_HAS_CPU_R10000
Ralf Baechlef7062dd2006-04-24 14:58:53 +01001085 select CPU_HAS_LLSC
Ralf Baechle5e83d432005-10-29 19:32:41 +01001086 select CPU_HAS_PREFETCH
Yoichi Yuasaed5ba2f2005-09-03 15:56:21 -07001087 select CPU_SUPPORTS_32BIT_KERNEL
1088 select CPU_SUPPORTS_64BIT_KERNEL
Ralf Baechle797798c2005-08-10 15:17:11 +00001089 select CPU_SUPPORTS_HIGHMEM
Linus Torvalds1da177e2005-04-16 15:20:36 -07001090 help
1091 MIPS Technologies R10000-series processors.
1092
1093config CPU_RM7000
1094 bool "RM7000"
Ralf Baechle7cf80532005-10-20 22:33:09 +01001095 depends on SYS_HAS_CPU_RM7000
Ralf Baechlef7062dd2006-04-24 14:58:53 +01001096 select CPU_HAS_LLSC
Ralf Baechle5e83d432005-10-29 19:32:41 +01001097 select CPU_HAS_PREFETCH
Yoichi Yuasaed5ba2f2005-09-03 15:56:21 -07001098 select CPU_SUPPORTS_32BIT_KERNEL
1099 select CPU_SUPPORTS_64BIT_KERNEL
Ralf Baechle797798c2005-08-10 15:17:11 +00001100 select CPU_SUPPORTS_HIGHMEM
Linus Torvalds1da177e2005-04-16 15:20:36 -07001101
1102config CPU_RM9000
1103 bool "RM9000"
Ralf Baechle7cf80532005-10-20 22:33:09 +01001104 depends on SYS_HAS_CPU_RM9000
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
Ralf Baechle0004a9d2006-10-31 03:45:07 +00001110 select WEAK_ORDERING
Linus Torvalds1da177e2005-04-16 15:20:36 -07001111
1112config CPU_SB1
1113 bool "SB1"
Ralf Baechle7cf80532005-10-20 22:33:09 +01001114 depends on SYS_HAS_CPU_SB1
Ralf Baechlef7062dd2006-04-24 14:58:53 +01001115 select CPU_HAS_LLSC
Yoichi Yuasaed5ba2f2005-09-03 15:56:21 -07001116 select CPU_SUPPORTS_32BIT_KERNEL
1117 select CPU_SUPPORTS_64BIT_KERNEL
Ralf Baechle797798c2005-08-10 15:17:11 +00001118 select CPU_SUPPORTS_HIGHMEM
Ralf Baechle0004a9d2006-10-31 03:45:07 +00001119 select WEAK_ORDERING
Linus Torvalds1da177e2005-04-16 15:20:36 -07001120
1121endchoice
1122
Fuxin Zhang2a21c732007-06-06 14:52:43 +08001123config SYS_HAS_CPU_LOONGSON2
1124 bool
1125
Ralf Baechle7cf80532005-10-20 22:33:09 +01001126config SYS_HAS_CPU_MIPS32_R1
1127 bool
1128
1129config SYS_HAS_CPU_MIPS32_R2
1130 bool
1131
1132config SYS_HAS_CPU_MIPS64_R1
1133 bool
1134
1135config SYS_HAS_CPU_MIPS64_R2
1136 bool
1137
1138config SYS_HAS_CPU_R3000
1139 bool
1140
1141config SYS_HAS_CPU_TX39XX
1142 bool
1143
1144config SYS_HAS_CPU_VR41XX
1145 bool
1146
1147config SYS_HAS_CPU_R4300
1148 bool
1149
1150config SYS_HAS_CPU_R4X00
1151 bool
1152
1153config SYS_HAS_CPU_TX49XX
1154 bool
1155
1156config SYS_HAS_CPU_R5000
1157 bool
1158
1159config SYS_HAS_CPU_R5432
1160 bool
1161
1162config SYS_HAS_CPU_R6000
1163 bool
1164
1165config SYS_HAS_CPU_NEVADA
1166 bool
1167
1168config SYS_HAS_CPU_R8000
1169 bool
1170
1171config SYS_HAS_CPU_R10000
1172 bool
1173
1174config SYS_HAS_CPU_RM7000
1175 bool
1176
1177config SYS_HAS_CPU_RM9000
1178 bool
1179
1180config SYS_HAS_CPU_SB1
1181 bool
1182
Ralf Baechle17099b12007-07-14 13:24:05 +01001183#
1184# CPU may reorder R->R, R->W, W->R, W->W
1185# Reordering beyond LL and SC is handled in WEAK_REORDERING_BEYOND_LLSC
1186#
Ralf Baechle0004a9d2006-10-31 03:45:07 +00001187config WEAK_ORDERING
1188 bool
Ralf Baechle17099b12007-07-14 13:24:05 +01001189
1190#
1191# CPU may reorder reads and writes beyond LL/SC
1192# CPU may reorder R->LL, R->LL, W->LL, W->LL, R->SC, R->SC, W->SC, W->SC
1193#
1194config WEAK_REORDERING_BEYOND_LLSC
1195 bool
Ralf Baechle5e83d432005-10-29 19:32:41 +01001196endmenu
1197
1198#
Chris Dearmanc09b47d2006-06-20 17:15:20 +01001199# These two indicate any level of the MIPS32 and MIPS64 architecture
Ralf Baechle5e83d432005-10-29 19:32:41 +01001200#
1201config CPU_MIPS32
1202 bool
1203 default y if CPU_MIPS32_R1 || CPU_MIPS32_R2
1204
1205config CPU_MIPS64
1206 bool
1207 default y if CPU_MIPS64_R1 || CPU_MIPS64_R2
1208
1209#
Chris Dearmanc09b47d2006-06-20 17:15:20 +01001210# These two indicate the revision of the architecture, either Release 1 or Release 2
Ralf Baechle5e83d432005-10-29 19:32:41 +01001211#
1212config CPU_MIPSR1
1213 bool
1214 default y if CPU_MIPS32_R1 || CPU_MIPS64_R1
1215
1216config CPU_MIPSR2
1217 bool
1218 default y if CPU_MIPS32_R2 || CPU_MIPS64_R2
1219
1220config SYS_SUPPORTS_32BIT_KERNEL
1221 bool
1222config SYS_SUPPORTS_64BIT_KERNEL
1223 bool
1224config CPU_SUPPORTS_32BIT_KERNEL
1225 bool
1226config CPU_SUPPORTS_64BIT_KERNEL
1227 bool
1228
1229menu "Kernel type"
1230
1231choice
1232
1233 prompt "Kernel code model"
1234 help
1235 You should only select this option if you have a workload that
1236 actually benefits from 64-bit processing or if your machine has
1237 large memory. You will only be presented a single option in this
1238 menu if your system does not support both 32-bit and 64-bit kernels.
1239
1240config 32BIT
1241 bool "32-bit kernel"
1242 depends on CPU_SUPPORTS_32BIT_KERNEL && SYS_SUPPORTS_32BIT_KERNEL
1243 select TRAD_SIGNALS
1244 help
1245 Select this option if you want to build a 32-bit kernel.
1246config 64BIT
1247 bool "64-bit kernel"
1248 depends on CPU_SUPPORTS_64BIT_KERNEL && SYS_SUPPORTS_64BIT_KERNEL
1249 help
1250 Select this option if you want to build a 64-bit kernel.
1251
1252endchoice
1253
Linus Torvalds1da177e2005-04-16 15:20:36 -07001254choice
1255 prompt "Kernel page size"
1256 default PAGE_SIZE_4KB
1257
1258config PAGE_SIZE_4KB
1259 bool "4kB"
1260 help
1261 This option select the standard 4kB Linux page size. On some
1262 R3000-family processors this is the only available page size. Using
1263 4kB page size will minimize memory consumption and is therefore
1264 recommended for low memory systems.
1265
1266config PAGE_SIZE_8KB
1267 bool "8kB"
1268 depends on EXPERIMENTAL && CPU_R8000
1269 help
1270 Using 8kB page size will result in higher performance kernel at
1271 the price of higher memory consumption. This option is available
1272 only on the R8000 processor. Not that at the time of this writing
1273 this option is still high experimental; there are also issues with
1274 compatibility of user applications.
1275
1276config PAGE_SIZE_16KB
1277 bool "16kB"
Ralf Baechle714bfad2006-05-17 14:04:30 +01001278 depends on !CPU_R3000 && !CPU_TX39XX
Linus Torvalds1da177e2005-04-16 15:20:36 -07001279 help
1280 Using 16kB page size will result in higher performance kernel at
1281 the price of higher memory consumption. This option is available on
Ralf Baechle714bfad2006-05-17 14:04:30 +01001282 all non-R3000 family processors. Note that you will need a suitable
1283 Linux distribution to support this.
Linus Torvalds1da177e2005-04-16 15:20:36 -07001284
1285config PAGE_SIZE_64KB
1286 bool "64kB"
1287 depends on EXPERIMENTAL && !CPU_R3000 && !CPU_TX39XX
1288 help
1289 Using 64kB page size will result in higher performance kernel at
1290 the price of higher memory consumption. This option is available on
1291 all non-R3000 family processor. Not that at the time of this
Ralf Baechle714bfad2006-05-17 14:04:30 +01001292 writing this option is still high experimental.
Linus Torvalds1da177e2005-04-16 15:20:36 -07001293
1294endchoice
1295
1296config BOARD_SCACHE
1297 bool
1298
1299config IP22_CPU_SCACHE
1300 bool
1301 select BOARD_SCACHE
1302
Chris Dearman9318c512006-06-20 17:15:20 +01001303#
1304# Support for a MIPS32 / MIPS64 style S-caches
1305#
1306config MIPS_CPU_SCACHE
1307 bool
1308 select BOARD_SCACHE
1309
Linus Torvalds1da177e2005-04-16 15:20:36 -07001310config R5000_CPU_SCACHE
1311 bool
1312 select BOARD_SCACHE
1313
1314config RM7000_CPU_SCACHE
1315 bool
1316 select BOARD_SCACHE
1317
1318config SIBYTE_DMA_PAGEOPS
1319 bool "Use DMA to clear/copy pages"
1320 depends on CPU_SB1
1321 help
1322 Instead of using the CPU to zero and copy pages, use a Data Mover
1323 channel. These DMA channels are otherwise unused by the standard
1324 SiByte Linux port. Seems to give a small performance benefit.
1325
1326config CPU_HAS_PREFETCH
Ralf Baechlec8094b52005-08-05 14:28:54 +00001327 bool
Linus Torvalds1da177e2005-04-16 15:20:36 -07001328
Ralf Baechle340ee4b2005-08-17 17:44:08 +00001329choice
1330 prompt "MIPS MT options"
Ralf Baechlef41ae0b2006-06-05 17:24:46 +01001331
1332config MIPS_MT_DISABLED
1333 bool "Disable multithreading support."
1334 help
1335 Use this option if your workload can't take advantage of
1336 MIPS hardware multithreading support. On systems that don't have
1337 the option of an MT-enabled processor this option will be the only
1338 option in this menu.
Ralf Baechle340ee4b2005-08-17 17:44:08 +00001339
Ralf Baechle59d6ab82006-10-06 17:36:20 +01001340config MIPS_MT_SMP
1341 bool "Use 1 TC on each available VPE for SMP"
1342 depends on SYS_SUPPORTS_MULTITHREADING
1343 select CPU_MIPSR2_IRQ_VI
Chris Dearmand725cf32007-05-08 14:05:39 +01001344 select CPU_MIPSR2_IRQ_EI
Ralf Baechle59d6ab82006-10-06 17:36:20 +01001345 select CPU_MIPSR2_SRS
1346 select MIPS_MT
Ralf Baechlef510aa32007-03-16 21:58:37 +00001347 select NR_CPUS_DEFAULT_2
Ralf Baechle59d6ab82006-10-06 17:36:20 +01001348 select SMP
1349 select SYS_SUPPORTS_SMP
1350 help
1351 This is a kernel model which is also known a VSMP or lately
1352 has been marketesed into SMVP.
1353
Ralf Baechle41c594a2006-04-05 09:45:45 +01001354config MIPS_MT_SMTC
1355 bool "SMTC: Use all TCs on all VPEs for SMP"
Ralf Baechlef41ae0b2006-06-05 17:24:46 +01001356 depends on CPU_MIPS32_R2
1357 #depends on CPU_MIPS64_R2 # once there is hardware ...
1358 depends on SYS_SUPPORTS_MULTITHREADING
Ralf Baechlef7062dd2006-04-24 14:58:53 +01001359 select CPU_MIPSR2_IRQ_VI
Chris Dearmand725cf32007-05-08 14:05:39 +01001360 select CPU_MIPSR2_IRQ_EI
Ralf Baechlef7062dd2006-04-24 14:58:53 +01001361 select CPU_MIPSR2_SRS
Ralf Baechlef41ae0b2006-06-05 17:24:46 +01001362 select MIPS_MT
Ralf Baechle130e2fb2007-02-06 16:53:15 +00001363 select NR_CPUS_DEFAULT_8
Ralf Baechle41c594a2006-04-05 09:45:45 +01001364 select SMP
Ralf Baechle73b76c72006-08-15 19:36:40 +01001365 select SYS_SUPPORTS_SMP
Ralf Baechlef41ae0b2006-06-05 17:24:46 +01001366 help
1367 This is a kernel model which is known a SMTC or lately has been
1368 marketesed into SMVP.
Ralf Baechle41c594a2006-04-05 09:45:45 +01001369
Ralf Baechle340ee4b2005-08-17 17:44:08 +00001370endchoice
1371
Ralf Baechlef41ae0b2006-06-05 17:24:46 +01001372config MIPS_MT
1373 bool
1374
1375config SYS_SUPPORTS_MULTITHREADING
1376 bool
1377
Ralf Baechlef088fc82006-04-05 09:45:47 +01001378config MIPS_MT_FPAFF
1379 bool "Dynamic FPU affinity for FP-intensive threads"
Ralf Baechlef088fc82006-04-05 09:45:47 +01001380 default y
Ralf Baechle07cc0c92007-07-27 19:31:10 +01001381 depends on MIPS_MT_SMP || MIPS_MT_SMTC
1382
1383config MIPS_VPE_LOADER
1384 bool "VPE loader support."
1385 depends on SYS_SUPPORTS_MULTITHREADING
1386 select CPU_MIPSR2_IRQ_VI
1387 select CPU_MIPSR2_IRQ_EI
1388 select CPU_MIPSR2_SRS
1389 select MIPS_MT
1390 help
1391 Includes a loader for loading an elf relocatable object
1392 onto another VPE and running it.
Ralf Baechlef088fc82006-04-05 09:45:47 +01001393
Ralf Baechleac8be952007-01-20 00:18:01 +00001394config MIPS_MT_SMTC_INSTANT_REPLAY
1395 bool "Low-latency Dispatch of Deferred SMTC IPIs"
Ralf Baechle619af722007-03-26 15:13:57 +01001396 depends on MIPS_MT_SMTC && !PREEMPT
Ralf Baechleac8be952007-01-20 00:18:01 +00001397 default y
1398 help
1399 SMTC pseudo-interrupts between TCs are deferred and queued
1400 if the target TC is interrupt-inhibited (IXMT). In the first
1401 SMTC prototypes, these queued IPIs were serviced on return
1402 to user mode, or on entry into the kernel idle loop. The
1403 INSTANT_REPLAY option dispatches them as part of local_irq_restore()
1404 processing, which adds runtime overhead (hence the option to turn
1405 it off), but ensures that IPIs are handled promptly even under
1406 heavy I/O interrupt load.
1407
Kevin D. Kissell0db34212007-07-12 16:21:08 +01001408config MIPS_MT_SMTC_IM_BACKSTOP
1409 bool "Use per-TC register bits as backstop for inhibited IM bits"
1410 depends on MIPS_MT_SMTC
1411 default y
1412 help
1413 To support multiple TC microthreads acting as "CPUs" within
1414 a VPE, VPE-wide interrupt mask bits must be specially manipulated
1415 during interrupt handling. To support legacy drivers and interrupt
1416 controller management code, SMTC has a "backstop" to track and
1417 if necessary restore the interrupt mask. This has some performance
1418 impact on interrupt service overhead. Disable it only if you know
1419 what you are doing.
1420
Kevin D. Kissellf571eff2007-08-03 19:38:03 +02001421config MIPS_MT_SMTC_IRQAFF
1422 bool "Support IRQ affinity API"
1423 depends on MIPS_MT_SMTC
1424 default n
1425 help
1426 Enables SMP IRQ affinity API (/proc/irq/*/smp_affinity, etc.)
1427 for SMTC Linux kernel. Requires platform support, of which
1428 an example can be found in the MIPS kernel i8259 and Malta
1429 platform code. It is recommended that MIPS_MT_SMTC_INSTANT_REPLAY
1430 be enabled if MIPS_MT_SMTC_IRQAFF is used. Adds overhead to
1431 interrupt dispatch, and should be used only if you know what
1432 you are doing.
1433
Ralf Baechlee01402b2005-07-14 15:57:16 +00001434config MIPS_VPE_LOADER_TOM
1435 bool "Load VPE program into memory hidden from linux"
1436 depends on MIPS_VPE_LOADER
1437 default y
1438 help
1439 The loader can use memory that is present but has been hidden from
1440 Linux using the kernel command line option "mem=xxMB". It's up to
1441 you to ensure the amount you put in the option and the space your
1442 program requires is less or equal to the amount physically present.
1443
1444# this should possibly be in drivers/char, but it is rather cpu related. Hmmm
1445config MIPS_VPE_APSP_API
Ralf Baechle5e83d432005-10-29 19:32:41 +01001446 bool "Enable support for AP/SP API (RTLX)"
1447 depends on MIPS_VPE_LOADER
1448 help
Ralf Baechlee01402b2005-07-14 15:57:16 +00001449
Ralf Baechle26009902006-04-05 09:45:45 +01001450config MIPS_APSP_KSPD
1451 bool "Enable KSPD"
1452 depends on MIPS_VPE_APSP_API
1453 default y
1454 help
1455 KSPD is a kernel daemon that accepts syscall requests from the SP
1456 side, actions them and returns the results. It also handles the
1457 "exit" syscall notifying other kernel modules the SP program is
1458 exiting. You probably want to say yes here.
1459
Linus Torvalds1da177e2005-04-16 15:20:36 -07001460config SB1_PASS_1_WORKAROUNDS
1461 bool
1462 depends on CPU_SB1_PASS_1
1463 default y
1464
1465config SB1_PASS_2_WORKAROUNDS
1466 bool
1467 depends on CPU_SB1 && (CPU_SB1_PASS_2_2 || CPU_SB1_PASS_2)
1468 default y
1469
1470config SB1_PASS_2_1_WORKAROUNDS
1471 bool
1472 depends on CPU_SB1 && CPU_SB1_PASS_2
1473 default y
1474
1475config 64BIT_PHYS_ADDR
Ralf Baechled806cb22007-08-02 00:36:08 +01001476 bool
Linus Torvalds1da177e2005-04-16 15:20:36 -07001477
Linus Torvalds1da177e2005-04-16 15:20:36 -07001478config CPU_HAS_LLSC
Ralf Baechlef7062dd2006-04-24 14:58:53 +01001479 bool
Linus Torvalds1da177e2005-04-16 15:20:36 -07001480
Franck Bui-Huu9693a852007-02-02 17:41:47 +01001481config CPU_HAS_SMARTMIPS
1482 depends on SYS_SUPPORTS_SMARTMIPS
1483 bool "Support for the SmartMIPS ASE"
1484 help
1485 SmartMIPS is a extension of the MIPS32 architecture aimed at
1486 increased security at both hardware and software level for
1487 smartcards. Enabling this option will allow proper use of the
1488 SmartMIPS instructions by Linux applications. However a kernel with
1489 this option will not work on a MIPS core without SmartMIPS core. If
1490 you don't know you probably don't have SmartMIPS and should say N
1491 here.
1492
Linus Torvalds1da177e2005-04-16 15:20:36 -07001493config CPU_HAS_WB
Ralf Baechlef7062dd2006-04-24 14:58:53 +01001494 bool
Ralf Baechlee01402b2005-07-14 15:57:16 +00001495
Fuxin Zhang2a21c732007-06-06 14:52:43 +08001496config 64BIT_CONTEXT
1497 bool "Save 64bit integer registers"
1498 depends on 32BIT && CPU_LOONGSON2
1499 help
1500 Loongson2 CPU is 64bit , when used in 32BIT mode, its integer
1501 registers can still be accessed as 64bit, mainly for multimedia
1502 instructions. We must have all 64bit save/restored to make sure
1503 those instructions to get correct result.
1504
Ralf Baechlef41ae0b2006-06-05 17:24:46 +01001505#
1506# Vectored interrupt mode is an R2 feature
1507#
Ralf Baechlee01402b2005-07-14 15:57:16 +00001508config CPU_MIPSR2_IRQ_VI
Ralf Baechlef41ae0b2006-06-05 17:24:46 +01001509 bool
Ralf Baechlee01402b2005-07-14 15:57:16 +00001510
Ralf Baechlef41ae0b2006-06-05 17:24:46 +01001511#
1512# Extended interrupt mode is an R2 feature
1513#
Ralf Baechlee01402b2005-07-14 15:57:16 +00001514config CPU_MIPSR2_IRQ_EI
Ralf Baechlef41ae0b2006-06-05 17:24:46 +01001515 bool
Ralf Baechlee01402b2005-07-14 15:57:16 +00001516
Ralf Baechlef41ae0b2006-06-05 17:24:46 +01001517#
1518# Shadow registers are an R2 feature
1519#
Ralf Baechlee01402b2005-07-14 15:57:16 +00001520config CPU_MIPSR2_SRS
Ralf Baechlef41ae0b2006-06-05 17:24:46 +01001521 bool
Ralf Baechlee01402b2005-07-14 15:57:16 +00001522
Linus Torvalds1da177e2005-04-16 15:20:36 -07001523config CPU_HAS_SYNC
1524 bool
1525 depends on !CPU_R3000
1526 default y
1527
1528#
Ralf Baechle797798c2005-08-10 15:17:11 +00001529# Use the generic interrupt handling code in kernel/irq/:
1530#
1531config GENERIC_HARDIRQS
1532 bool
1533 default y
1534
1535config GENERIC_IRQ_PROBE
1536 bool
1537 default y
1538
Ingo Molnar0d7012a2006-06-29 02:24:43 -07001539config IRQ_PER_CPU
Ingo Molnar0d7012a2006-06-29 02:24:43 -07001540 bool
Ingo Molnar0d7012a2006-06-29 02:24:43 -07001541
Ralf Baechle797798c2005-08-10 15:17:11 +00001542#
Linus Torvalds1da177e2005-04-16 15:20:36 -07001543# - Highmem only makes sense for the 32-bit kernel.
1544# - The current highmem code will only work properly on physically indexed
1545# caches such as R3000, SB1, R7000 or those that look like they're virtually
1546# indexed such as R4000/R4400 SC and MC versions or R10000. So for the
1547# moment we protect the user and offer the highmem option only on machines
1548# where it's known to be safe. This will not offer highmem on a few systems
1549# such as MIPS32 and MIPS64 CPUs which may have virtual and physically
1550# indexed CPUs but we're playing safe.
Ralf Baechle797798c2005-08-10 15:17:11 +00001551# - We use SYS_SUPPORTS_HIGHMEM to offer highmem only for systems where we
1552# know they might have memory configurations that could make use of highmem
1553# support.
Linus Torvalds1da177e2005-04-16 15:20:36 -07001554#
1555config HIGHMEM
1556 bool "High Memory Support"
Ralf Baechle797798c2005-08-10 15:17:11 +00001557 depends on 32BIT && CPU_SUPPORTS_HIGHMEM && SYS_SUPPORTS_HIGHMEM
1558
1559config CPU_SUPPORTS_HIGHMEM
1560 bool
1561
1562config SYS_SUPPORTS_HIGHMEM
1563 bool
Linus Torvalds1da177e2005-04-16 15:20:36 -07001564
Franck Bui-Huu9693a852007-02-02 17:41:47 +01001565config SYS_SUPPORTS_SMARTMIPS
1566 bool
1567
Yoichi Yuasab4819b52005-06-25 14:54:31 -07001568config ARCH_FLATMEM_ENABLE
1569 def_bool y
1570 depends on !NUMA
1571
Ralf Baechled8cb4e12006-06-11 23:03:08 +01001572config ARCH_DISCONTIGMEM_ENABLE
1573 bool
1574 default y if SGI_IP27
1575 help
David Sterba3dde6ad2007-05-09 07:12:20 +02001576 Say Y to support efficient handling of discontiguous physical memory,
Ralf Baechled8cb4e12006-06-11 23:03:08 +01001577 for architectures which are either NUMA (Non-Uniform Memory Access)
1578 or have huge holes in the physical address space for other reasons.
1579 See <file:Documentation/vm/numa> for more.
1580
Atsushi Nemotob1c6cd42006-07-03 00:09:47 +09001581config ARCH_SPARSEMEM_ENABLE
1582 bool
Atsushi Nemoto7de58fa2006-07-05 01:22:44 +09001583 select SPARSEMEM_STATIC
Atsushi Nemoto31473742006-07-03 00:09:47 +09001584
Ralf Baechled8cb4e12006-06-11 23:03:08 +01001585config NUMA
1586 bool "NUMA Support"
1587 depends on SYS_SUPPORTS_NUMA
1588 help
1589 Say Y to compile the kernel to support NUMA (Non-Uniform Memory
1590 Access). This option improves performance on systems with more
1591 than two nodes; on two node systems it is generally better to
1592 leave it disabled; on single node systems disable this option
1593 disabled.
1594
1595config SYS_SUPPORTS_NUMA
1596 bool
1597
Yasunori Gotoc80d79d2006-04-10 22:53:53 -07001598config NODES_SHIFT
1599 int
1600 default "6"
1601 depends on NEED_MULTIPLE_NODES
1602
Yoichi Yuasab4819b52005-06-25 14:54:31 -07001603source "mm/Kconfig"
1604
Linus Torvalds1da177e2005-04-16 15:20:36 -07001605config SMP
1606 bool "Multi-Processing support"
Ralf Baechlee73ea272006-06-04 11:51:46 +01001607 depends on SYS_SUPPORTS_SMP
Ralf Baechleb4b30a52006-08-03 17:34:24 +01001608 select IRQ_PER_CPU
Ralf Baechlee73ea272006-06-04 11:51:46 +01001609 help
Linus Torvalds1da177e2005-04-16 15:20:36 -07001610 This enables support for systems with more than one CPU. If you have
1611 a system with only one CPU, like most personal computers, say N. If
1612 you have a system with more than one CPU, say Y.
1613
1614 If you say N here, the kernel will run on single and multiprocessor
1615 machines, but will use only one CPU of a multiprocessor machine. If
1616 you say Y here, the kernel will run on many, but not all,
1617 singleprocessor machines. On a singleprocessor machine, the kernel
1618 will run faster if you say N here.
1619
1620 People using multiprocessor machines who say Y here should also say
1621 Y to "Enhanced Real Time Clock Support", below.
1622
1623 See also the <file:Documentation/smp.txt> and the SMP-HOWTO
1624 available at <http://www.tldp.org/docs.html#howto>.
1625
1626 If you don't know what to do here, say N.
1627
Ralf Baechlee73ea272006-06-04 11:51:46 +01001628config SYS_SUPPORTS_SMP
1629 bool
1630
Atsushi Nemoto72ede9b2007-03-18 01:01:39 +09001631config NR_CPUS_DEFAULT_1
1632 bool
1633
Ralf Baechle130e2fb2007-02-06 16:53:15 +00001634config NR_CPUS_DEFAULT_2
1635 bool
1636
1637config NR_CPUS_DEFAULT_4
1638 bool
1639
1640config NR_CPUS_DEFAULT_8
1641 bool
1642
1643config NR_CPUS_DEFAULT_16
1644 bool
1645
1646config NR_CPUS_DEFAULT_32
1647 bool
1648
1649config NR_CPUS_DEFAULT_64
1650 bool
1651
Linus Torvalds1da177e2005-04-16 15:20:36 -07001652config NR_CPUS
1653 int "Maximum number of CPUs (2-64)"
Atsushi Nemoto72ede9b2007-03-18 01:01:39 +09001654 range 1 64 if NR_CPUS_DEFAULT_1
Linus Torvalds1da177e2005-04-16 15:20:36 -07001655 depends on SMP
Atsushi Nemoto72ede9b2007-03-18 01:01:39 +09001656 default "1" if NR_CPUS_DEFAULT_1
Ralf Baechle130e2fb2007-02-06 16:53:15 +00001657 default "2" if NR_CPUS_DEFAULT_2
1658 default "4" if NR_CPUS_DEFAULT_4
1659 default "8" if NR_CPUS_DEFAULT_8
1660 default "16" if NR_CPUS_DEFAULT_16
1661 default "32" if NR_CPUS_DEFAULT_32
1662 default "64" if NR_CPUS_DEFAULT_64
Linus Torvalds1da177e2005-04-16 15:20:36 -07001663 help
1664 This allows you to specify the maximum number of CPUs which this
1665 kernel will support. The maximum supported value is 32 for 32-bit
1666 kernel and 64 for 64-bit kernels; the minimum value which makes
Atsushi Nemoto72ede9b2007-03-18 01:01:39 +09001667 sense is 1 for Qemu (useful only for kernel debugging purposes)
1668 and 2 for all others.
Linus Torvalds1da177e2005-04-16 15:20:36 -07001669
1670 This is purely to save memory - each supported CPU adds
Atsushi Nemoto72ede9b2007-03-18 01:01:39 +09001671 approximately eight kilobytes to the kernel image. For best
1672 performance should round up your number of processors to the next
1673 power of two.
Linus Torvalds1da177e2005-04-16 15:20:36 -07001674
Atsushi Nemoto1723b4a2006-06-20 00:19:13 +09001675#
1676# Timer Interrupt Frequency Configuration
1677#
1678
1679choice
1680 prompt "Timer frequency"
1681 default HZ_250
1682 help
1683 Allows the configuration of the timer frequency.
1684
1685 config HZ_48
1686 bool "48 HZ" if SYS_SUPPORTS_48HZ
1687
1688 config HZ_100
1689 bool "100 HZ" if SYS_SUPPORTS_100HZ || SYS_SUPPORTS_ARBIT_HZ
1690
1691 config HZ_128
1692 bool "128 HZ" if SYS_SUPPORTS_128HZ || SYS_SUPPORTS_ARBIT_HZ
1693
1694 config HZ_250
1695 bool "250 HZ" if SYS_SUPPORTS_250HZ || SYS_SUPPORTS_ARBIT_HZ
1696
1697 config HZ_256
1698 bool "256 HZ" if SYS_SUPPORTS_256HZ || SYS_SUPPORTS_ARBIT_HZ
1699
1700 config HZ_1000
1701 bool "1000 HZ" if SYS_SUPPORTS_1000HZ || SYS_SUPPORTS_ARBIT_HZ
1702
1703 config HZ_1024
1704 bool "1024 HZ" if SYS_SUPPORTS_1024HZ || SYS_SUPPORTS_ARBIT_HZ
1705
1706endchoice
1707
1708config SYS_SUPPORTS_48HZ
1709 bool
1710
1711config SYS_SUPPORTS_100HZ
1712 bool
1713
1714config SYS_SUPPORTS_128HZ
1715 bool
1716
1717config SYS_SUPPORTS_250HZ
1718 bool
1719
1720config SYS_SUPPORTS_256HZ
1721 bool
1722
1723config SYS_SUPPORTS_1000HZ
1724 bool
1725
1726config SYS_SUPPORTS_1024HZ
1727 bool
1728
1729config SYS_SUPPORTS_ARBIT_HZ
1730 bool
1731 default y if !SYS_SUPPORTS_48HZ && !SYS_SUPPORTS_100HZ && \
1732 !SYS_SUPPORTS_128HZ && !SYS_SUPPORTS_250HZ && \
1733 !SYS_SUPPORTS_256HZ && !SYS_SUPPORTS_1000HZ && \
1734 !SYS_SUPPORTS_1024HZ
1735
1736config HZ
1737 int
1738 default 48 if HZ_48
1739 default 100 if HZ_100
1740 default 128 if HZ_128
1741 default 250 if HZ_250
1742 default 256 if HZ_256
1743 default 1000 if HZ_1000
1744 default 1024 if HZ_1024
1745
Ralf Baechlee80de852005-07-11 20:45:51 +00001746source "kernel/Kconfig.preempt"
Linus Torvalds1da177e2005-04-16 15:20:36 -07001747
Linus Torvalds1da177e2005-04-16 15:20:36 -07001748config MIPS_INSANE_LARGE
1749 bool "Support for large 64-bit configurations"
Ralf Baechle875d43e2005-09-03 15:56:16 -07001750 depends on CPU_R10000 && 64BIT
Linus Torvalds1da177e2005-04-16 15:20:36 -07001751 help
1752 MIPS R10000 does support a 44 bit / 16TB address space as opposed to
1753 previous 64-bit processors which only supported 40 bit / 1TB. If you
1754 need processes of more than 1TB virtual address space, say Y here.
1755 This will result in additional memory usage, so it is not
1756 recommended for normal users.
1757
Atsushi Nemotoea6e9422007-01-16 23:29:11 +09001758config KEXEC
1759 bool "Kexec system call (EXPERIMENTAL)"
1760 depends on EXPERIMENTAL
1761 help
1762 kexec is a system call that implements the ability to shutdown your
1763 current kernel, and to start another kernel. It is like a reboot
David Sterba3dde6ad2007-05-09 07:12:20 +02001764 but it is independent of the system firmware. And like a reboot
Atsushi Nemotoea6e9422007-01-16 23:29:11 +09001765 you can start any kernel with it, not just Linux.
1766
1767 The name comes from the similiarity to the exec system call.
1768
1769 It is an ongoing process to be certain the hardware in a machine
1770 is properly shutdown, so do not be surprised if this code does not
1771 initially work for you. It may help to enable device hotplugging
1772 support. As of this writing the exact hardware interface is
1773 strongly in flux, so no good recommendation can be made.
1774
1775config SECCOMP
1776 bool "Enable seccomp to safely compute untrusted bytecode"
Ralf Baechle293c5bd2007-07-25 16:19:33 +01001777 depends on PROC_FS
Atsushi Nemotoea6e9422007-01-16 23:29:11 +09001778 default y
1779 help
1780 This kernel feature is useful for number crunching applications
1781 that may need to compute untrusted bytecode during their
1782 execution. By using pipes or other transports made available to
1783 the process as file descriptors supporting the read/write
1784 syscalls, it's possible to isolate those applications in
1785 their own address space using seccomp. Once seccomp is
1786 enabled via /proc/<pid>/seccomp, it cannot be disabled
1787 and the task is only allowed to execute a few safe syscalls
1788 defined by each seccomp mode.
1789
1790 If unsure, say Y. Only embedded should say N here.
1791
Ralf Baechle5e83d432005-10-29 19:32:41 +01001792endmenu
1793
Linus Torvalds1da177e2005-04-16 15:20:36 -07001794config RWSEM_GENERIC_SPINLOCK
1795 bool
1796 default y
1797
Atsushi Nemoto1df0f0f2006-09-26 23:44:01 +09001798config LOCKDEP_SUPPORT
1799 bool
1800 default y
1801
1802config STACKTRACE_SUPPORT
1803 bool
1804 default y
1805
Ralf Baechleb6c35392005-11-25 11:35:40 +00001806source "init/Kconfig"
1807
Linus Torvalds1da177e2005-04-16 15:20:36 -07001808menu "Bus options (PCI, PCMCIA, EISA, ISA, TC)"
1809
Ralf Baechle5e83d432005-10-29 19:32:41 +01001810config HW_HAS_EISA
1811 bool
Linus Torvalds1da177e2005-04-16 15:20:36 -07001812config HW_HAS_PCI
1813 bool
1814
1815config PCI
1816 bool "Support for PCI controller"
1817 depends on HW_HAS_PCI
Ralf Baechleabb4ae42007-10-11 23:46:03 +01001818 select PCI_DOMAINS
Linus Torvalds1da177e2005-04-16 15:20:36 -07001819 help
1820 Find out whether you have a PCI motherboard. PCI is the name of a
1821 bus system, i.e. the way the CPU talks to the other stuff inside
1822 your box. Other bus systems are ISA, EISA, or VESA. If you have PCI,
1823 say Y, otherwise N.
1824
1825 The PCI-HOWTO, available from
1826 <http://www.tldp.org/docs.html#howto>, contains valuable
1827 information about which PCI hardware does work under Linux and which
1828 doesn't.
1829
1830config PCI_DOMAINS
1831 bool
Linus Torvalds1da177e2005-04-16 15:20:36 -07001832
1833source "drivers/pci/Kconfig"
1834
1835#
1836# ISA support is now enabled via select. Too many systems still have the one
1837# or other ISA chip on the board that users don't know about so don't expect
1838# users to choose the right thing ...
1839#
1840config ISA
1841 bool
1842
1843config EISA
1844 bool "EISA support"
Ralf Baechle5e83d432005-10-29 19:32:41 +01001845 depends on HW_HAS_EISA
Linus Torvalds1da177e2005-04-16 15:20:36 -07001846 select ISA
Ralf Baechleaa414df2006-11-30 01:14:51 +00001847 select GENERIC_ISA_DMA
Linus Torvalds1da177e2005-04-16 15:20:36 -07001848 ---help---
1849 The Extended Industry Standard Architecture (EISA) bus was
1850 developed as an open alternative to the IBM MicroChannel bus.
1851
1852 The EISA bus provided some of the features of the IBM MicroChannel
1853 bus while maintaining backward compatibility with cards made for
1854 the older ISA bus. The EISA bus saw limited use between 1988 and
1855 1995 when it was made obsolete by the PCI bus.
1856
1857 Say Y here if you are building a kernel for an EISA-based machine.
1858
1859 Otherwise, say N.
1860
1861source "drivers/eisa/Kconfig"
1862
1863config TC
1864 bool "TURBOchannel support"
1865 depends on MACH_DECSTATION
1866 help
1867 TurboChannel is a DEC (now Compaq (now HP)) bus for Alpha and MIPS
1868 processors. Documentation on writing device drivers for TurboChannel
1869 is available at:
1870 <http://www.cs.arizona.edu/computer.help/policy/DIGITAL_unix/AA-PS3HD-TET1_html/TITLE.html>.
1871
1872#config ACCESSBUS
1873# bool "Access.Bus support"
1874# depends on TC
1875
1876config MMU
1877 bool
1878 default y
1879
Ralf Baechlede61b542007-07-12 17:41:23 +01001880config PCSPEAKER
Michael Neulinge5c6c8e2006-03-14 00:11:50 -05001881 bool
1882
Linus Torvalds1da177e2005-04-16 15:20:36 -07001883source "drivers/pcmcia/Kconfig"
1884
1885source "drivers/pci/hotplug/Kconfig"
1886
1887endmenu
1888
1889menu "Executable file formats"
1890
1891source "fs/Kconfig.binfmt"
1892
1893config TRAD_SIGNALS
1894 bool
Linus Torvalds1da177e2005-04-16 15:20:36 -07001895
Linus Torvalds1da177e2005-04-16 15:20:36 -07001896config BINFMT_IRIX
1897 bool "Include IRIX binary compatibility"
Ralf Baechle5e83d432005-10-29 19:32:41 +01001898 depends on CPU_BIG_ENDIAN && 32BIT && BROKEN
Linus Torvalds1da177e2005-04-16 15:20:36 -07001899
1900config MIPS32_COMPAT
1901 bool "Kernel support for Linux/MIPS 32-bit binary compatibility"
Ralf Baechle875d43e2005-09-03 15:56:16 -07001902 depends on 64BIT
Linus Torvalds1da177e2005-04-16 15:20:36 -07001903 help
1904 Select this option if you want Linux/MIPS 32-bit binary
1905 compatibility. Since all software available for Linux/MIPS is
1906 currently 32-bit you should say Y here.
1907
1908config COMPAT
1909 bool
1910 depends on MIPS32_COMPAT
1911 default y
1912
Atsushi Nemoto05e43962006-11-07 18:02:44 +09001913config SYSVIPC_COMPAT
1914 bool
1915 depends on COMPAT && SYSVIPC
1916 default y
1917
Linus Torvalds1da177e2005-04-16 15:20:36 -07001918config MIPS32_O32
1919 bool "Kernel support for o32 binaries"
1920 depends on MIPS32_COMPAT
1921 help
1922 Select this option if you want to run o32 binaries. These are pure
1923 32-bit binaries as used by the 32-bit Linux/MIPS port. Most of
1924 existing binaries are in this format.
1925
1926 If unsure, say Y.
1927
1928config MIPS32_N32
1929 bool "Kernel support for n32 binaries"
1930 depends on MIPS32_COMPAT
1931 help
1932 Select this option if you want to run n32 binaries. These are
1933 64-bit binaries using 32-bit quantities for addressing and certain
1934 data that would normally be 64-bit. They are used in special
1935 cases.
1936
1937 If unsure, say N.
1938
1939config BINFMT_ELF32
1940 bool
1941 default y if MIPS32_O32 || MIPS32_N32
1942
Ralf Baechle21162452007-02-09 17:08:58 +00001943endmenu
Linus Torvalds1da177e2005-04-16 15:20:36 -07001944
Ralf Baechle21162452007-02-09 17:08:58 +00001945menu "Power management options"
Rodolfo Giometti952fa952006-06-05 17:43:10 +02001946
Ralf Baechle21162452007-02-09 17:08:58 +00001947source "kernel/power/Kconfig"
Rodolfo Giometti952fa952006-06-05 17:43:10 +02001948
Linus Torvalds1da177e2005-04-16 15:20:36 -07001949endmenu
1950
Sam Ravnborgd5950b42005-07-11 21:03:49 -07001951source "net/Kconfig"
1952
Linus Torvalds1da177e2005-04-16 15:20:36 -07001953source "drivers/Kconfig"
1954
1955source "fs/Kconfig"
1956
Ralf Baechle5e83d432005-10-29 19:32:41 +01001957source "arch/mips/oprofile/Kconfig"
1958
Linus Torvalds1da177e2005-04-16 15:20:36 -07001959source "arch/mips/Kconfig.debug"
1960
1961source "security/Kconfig"
1962
1963source "crypto/Kconfig"
1964
1965source "lib/Kconfig"