blob: 3a83f2a1b240212108d48ec07ab3c5945393d6c4 [file] [log] [blame]
Linus Torvalds1da177e2005-04-16 15:20:36 -07001config MIPS
2 bool
3 default y
Sam Ravnborgec7748b2008-02-09 10:46:40 +01004 select HAVE_IDE
Mathieu Desnoyers42d4b832008-02-02 15:10:34 -05005 select HAVE_OPROFILE
Jason Wessel88547002008-07-29 15:58:53 -05006 select HAVE_ARCH_KGDB
Linus Torvalds1da177e2005-04-16 15:20:36 -07007 # Horrible source of confusion. Die, die, die ...
8 select EMBEDDED
Ralf Baechle90b02342007-10-11 23:46:09 +01009 select RTC_LIB
Linus Torvalds1da177e2005-04-16 15:20:36 -070010
Linus Torvalds1da177e2005-04-16 15:20:36 -070011mainmenu "Linux/MIPS Kernel Configuration"
12
Linus Torvalds1da177e2005-04-16 15:20:36 -070013menu "Machine selection"
14
Christoph Lameter5ac6da62007-02-10 01:43:14 -080015config ZONE_DMA
16 bool
Christoph Lameter5ac6da62007-02-10 01:43:14 -080017
Ralf Baechle5e83d432005-10-29 19:32:41 +010018choice
19 prompt "System type"
20 default SGI_IP22
Linus Torvalds1da177e2005-04-16 15:20:36 -070021
Yoichi Yuasac3543e22007-05-11 20:44:30 +090022config MACH_ALCHEMY
23 bool "Alchemy processor based machines"
Linus Torvalds1da177e2005-04-16 15:20:36 -070024
Ralf Baechle35189fa2006-06-18 16:39:46 +010025config BASLER_EXCITE
Thomas Koellerbe915892007-02-23 01:40:34 +010026 bool "Basler eXcite smart camera"
Ralf Baechle42f77542007-10-18 17:48:11 +010027 select CEVT_R4K
Ralf Baechle940f6b42007-11-24 22:33:28 +000028 select CSRC_R4K
Ralf Baechle35189fa2006-06-18 16:39:46 +010029 select DMA_COHERENT
30 select HW_HAS_PCI
31 select IRQ_CPU
32 select IRQ_CPU_RM7K
33 select IRQ_CPU_RM9K
thomas@koeller.dyndns.org663c3d92006-08-27 13:51:48 +020034 select MIPS_RM9122
Ralf Baechle35189fa2006-06-18 16:39:46 +010035 select SYS_HAS_CPU_RM9000
36 select SYS_SUPPORTS_32BIT_KERNEL
Ralf Baechle35189fa2006-06-18 16:39:46 +010037 select SYS_SUPPORTS_BIG_ENDIAN
38 help
39 The eXcite is a smart camera platform manufactured by
Thomas Koellerbe915892007-02-23 01:40:34 +010040 Basler Vision Technologies AG.
Ralf Baechle35189fa2006-06-18 16:39:46 +010041
Aurelien Jarno1c0c13e2007-09-25 15:40:12 +020042config BCM47XX
43 bool "BCM47XX based boards"
Ralf Baechle42f77542007-10-18 17:48:11 +010044 select CEVT_R4K
Ralf Baechle940f6b42007-11-24 22:33:28 +000045 select CSRC_R4K
Aurelien Jarno1c0c13e2007-09-25 15:40:12 +020046 select DMA_NONCOHERENT
47 select HW_HAS_PCI
48 select IRQ_CPU
49 select SYS_HAS_CPU_MIPS32_R1
50 select SYS_SUPPORTS_32BIT_KERNEL
51 select SYS_SUPPORTS_LITTLE_ENDIAN
52 select SSB
53 select SSB_DRIVER_MIPS
Aurelien Jarno2f02c152007-12-11 11:30:34 +010054 select SSB_DRIVER_EXTIF
Aurelien Jarnob06f3e12008-10-14 11:44:26 +020055 select SSB_EMBEDDED
Aurelien Jarno2f02c152007-12-11 11:30:34 +010056 select SSB_PCICORE_HOSTMODE if PCI
Aurelien Jarno1c0c13e2007-09-25 15:40:12 +020057 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"
Ralf Baechle42f77542007-10-18 17:48:11 +010065 select CEVT_R4K
Ralf Baechle940f6b42007-11-24 22:33:28 +000066 select CSRC_R4K
Yoichi Yuasa1097c6a2007-10-22 19:43:15 +090067 select CEVT_GT641XX
Linus Torvalds1da177e2005-04-16 15:20:36 -070068 select DMA_NONCOHERENT
69 select HW_HAS_PCI
Ralf Baechled865bea2007-10-11 23:46:10 +010070 select I8253
Linus Torvalds1da177e2005-04-16 15:20:36 -070071 select I8259
72 select IRQ_CPU
Yoichi Yuasad5ab1a62007-09-13 23:51:26 +090073 select IRQ_GT641XX
Yoichi Yuasa252161e2007-03-14 21:51:26 +090074 select PCI_GT64XXX_PCI0
Ralf Baechle7cf80532005-10-20 22:33:09 +010075 select SYS_HAS_CPU_NEVADA
Yoichi Yuasa0a22e0d2007-03-02 12:42:33 +090076 select SYS_HAS_EARLY_PRINTK
Yoichi Yuasaed5ba2f2005-09-03 15:56:21 -070077 select SYS_SUPPORTS_32BIT_KERNEL
Florian Fainelli0e8774b2008-01-15 19:42:57 +010078 select SYS_SUPPORTS_64BIT_KERNEL
Ralf Baechle5e83d432005-10-29 19:32:41 +010079 select SYS_SUPPORTS_LITTLE_ENDIAN
Atsushi Nemoto9fd32cf2006-12-08 01:55:07 +090080 select GENERIC_HARDIRQS_NO__DO_IRQ
Linus Torvalds1da177e2005-04-16 15:20:36 -070081
82config MACH_DECSTATION
Martin Michlmayr3fa986f2006-05-09 23:34:53 +020083 bool "DECstations"
Linus Torvalds1da177e2005-04-16 15:20:36 -070084 select BOOT_ELF32
Yoichi Yuasa6457d9f2008-04-25 12:11:44 +090085 select CEVT_DS1287
Ralf Baechle42f77542007-10-18 17:48:11 +010086 select CEVT_R4K
Yoichi Yuasa42474172008-04-24 09:48:40 +090087 select CSRC_IOASIC
Ralf Baechle940f6b42007-11-24 22:33:28 +000088 select CSRC_R4K
Maciej W. Rozycki20d60d92007-10-23 12:43:11 +010089 select CPU_DADDI_WORKAROUNDS if 64BIT
90 select CPU_R4000_WORKAROUNDS if 64BIT
91 select CPU_R4400_WORKAROUNDS if 64BIT
Linus Torvalds1da177e2005-04-16 15:20:36 -070092 select DMA_NONCOHERENT
Maciej W. Rozyckid388d682007-05-29 15:08:07 +010093 select NO_IOPORT
Linus Torvalds1da177e2005-04-16 15:20:36 -070094 select IRQ_CPU
Ralf Baechle7cf80532005-10-20 22:33:09 +010095 select SYS_HAS_CPU_R3000
96 select SYS_HAS_CPU_R4X00
Yoichi Yuasaed5ba2f2005-09-03 15:56:21 -070097 select SYS_SUPPORTS_32BIT_KERNEL
98 select SYS_SUPPORTS_64BIT_KERNEL if EXPERIMENTAL
Ralf Baechle5e83d432005-10-29 19:32:41 +010099 select SYS_SUPPORTS_LITTLE_ENDIAN
Atsushi Nemoto1723b4a2006-06-20 00:19:13 +0900100 select SYS_SUPPORTS_128HZ
101 select SYS_SUPPORTS_256HZ
102 select SYS_SUPPORTS_1024HZ
Ralf Baechle5e83d432005-10-29 19:32:41 +0100103 help
Linus Torvalds1da177e2005-04-16 15:20:36 -0700104 This enables support for DEC's MIPS based workstations. For details
105 see the Linux/MIPS FAQ on <http://www.linux-mips.org/> and the
106 DECstation porting pages on <http://decstation.unix-ag.org/>.
107
108 If you have one of the following DECstation Models you definitely
109 want to choose R4xx0 for the CPU Type:
110
Ralf Baechle93088162007-08-29 14:21:45 +0100111 DECstation 5000/50
112 DECstation 5000/150
113 DECstation 5000/260
114 DECsystem 5900/260
Linus Torvalds1da177e2005-04-16 15:20:36 -0700115
116 otherwise choose R3000.
117
Ralf Baechle5e83d432005-10-29 19:32:41 +0100118config MACH_JAZZ
Martin Michlmayr3fa986f2006-05-09 23:34:53 +0200119 bool "Jazz family of machines"
Ralf Baechle5e83d432005-10-29 19:32:41 +0100120 select ARC
121 select ARC32
122 select ARCH_MAY_HAVE_PC_FDC
Ralf Baechle42f77542007-10-18 17:48:11 +0100123 select CEVT_R4K
Ralf Baechle940f6b42007-11-24 22:33:28 +0000124 select CSRC_R4K
Thomas Bogendoerfere2defae2007-12-02 13:00:32 +0100125 select DEFAULT_SGI_PARTITION if CPU_BIG_ENDIAN
Ralf Baechle5e83d432005-10-29 19:32:41 +0100126 select GENERIC_ISA_DMA
Thomas Bogendoerferea202c62007-08-25 11:01:50 +0200127 select IRQ_CPU
Ralf Baechled865bea2007-10-11 23:46:10 +0100128 select I8253
Ralf Baechle5e83d432005-10-29 19:32:41 +0100129 select I8259
130 select ISA
Ralf Baechle7cf80532005-10-20 22:33:09 +0100131 select SYS_HAS_CPU_R4X00
Ralf Baechle5e83d432005-10-29 19:32:41 +0100132 select SYS_SUPPORTS_32BIT_KERNEL
133 select SYS_SUPPORTS_64BIT_KERNEL if EXPERIMENTAL
Atsushi Nemoto1723b4a2006-06-20 00:19:13 +0900134 select SYS_SUPPORTS_100HZ
Atsushi Nemoto9fd32cf2006-12-08 01:55:07 +0900135 select GENERIC_HARDIRQS_NO__DO_IRQ
Linus Torvalds1da177e2005-04-16 15:20:36 -0700136 help
Ralf Baechle5e83d432005-10-29 19:32:41 +0100137 This a family of machines based on the MIPS R4030 chipset which was
138 used by several vendors to build RISC/os and Windows NT workstations.
139 Members include the Acer PICA, MIPS Magnum 4000, MIPS Millenium and
140 Olivetti M700-10 workstations.
141
Brian Murphy1f21d2b2007-08-21 22:34:16 +0200142config LASAT
143 bool "LASAT Networks platforms"
Ralf Baechle42f77542007-10-18 17:48:11 +0100144 select CEVT_R4K
Ralf Baechle940f6b42007-11-24 22:33:28 +0000145 select CSRC_R4K
Brian Murphy1f21d2b2007-08-21 22:34:16 +0200146 select DMA_NONCOHERENT
147 select SYS_HAS_EARLY_PRINTK
148 select HW_HAS_PCI
Ralf Baechlea5ccfe52007-10-14 23:49:33 +0100149 select IRQ_CPU
Brian Murphy1f21d2b2007-08-21 22:34:16 +0200150 select PCI_GT64XXX_PCI0
151 select MIPS_NILE4
152 select R5000_CPU_SCACHE
153 select SYS_HAS_CPU_R5000
154 select SYS_SUPPORTS_32BIT_KERNEL
155 select SYS_SUPPORTS_64BIT_KERNEL if BROKEN
156 select SYS_SUPPORTS_LITTLE_ENDIAN
157 select GENERIC_HARDIRQS_NO__DO_IRQ
158
Yoichi Yuasaade299d2007-07-27 15:25:43 +0900159config LEMOTE_FULONG
160 bool "Lemote Fulong mini-PC"
161 select ARCH_SPARSEMEM_ENABLE
Ralf Baechle42f77542007-10-18 17:48:11 +0100162 select CEVT_R4K
Ralf Baechle940f6b42007-11-24 22:33:28 +0000163 select CSRC_R4K
Yoichi Yuasaade299d2007-07-27 15:25:43 +0900164 select SYS_HAS_CPU_LOONGSON2
165 select DMA_NONCOHERENT
166 select BOOT_ELF32
167 select BOARD_SCACHE
168 select HAVE_STD_PC_SERIAL_PORT
169 select HW_HAS_PCI
170 select I8259
171 select ISA
172 select IRQ_CPU
173 select SYS_SUPPORTS_32BIT_KERNEL
174 select SYS_SUPPORTS_64BIT_KERNEL
175 select SYS_SUPPORTS_LITTLE_ENDIAN
176 select SYS_SUPPORTS_HIGHMEM
177 select SYS_HAS_EARLY_PRINTK
178 select GENERIC_HARDIRQS_NO__DO_IRQ
Ralf Baechle23dd6d32007-08-24 16:49:23 +0100179 select GENERIC_ISA_DMA_SUPPORT_BROKEN
Yoichi Yuasaade299d2007-07-27 15:25:43 +0900180 select CPU_HAS_WB
181 help
182 Lemote Fulong mini-PC board based on the Chinese Loongson-2E CPU and
183 an FPGA northbridge
184
Linus Torvalds1da177e2005-04-16 15:20:36 -0700185config MIPS_MALTA
Martin Michlmayr3fa986f2006-05-09 23:34:53 +0200186 bool "MIPS Malta board"
Ralf Baechle61ed2422005-09-15 08:52:34 +0000187 select ARCH_MAY_HAVE_PC_FDC
Linus Torvalds1da177e2005-04-16 15:20:36 -0700188 select BOOT_ELF32
Ralf Baechlefa71c962008-01-29 10:15:00 +0000189 select BOOT_RAW
Ralf Baechle42f77542007-10-18 17:48:11 +0100190 select CEVT_R4K
Ralf Baechle940f6b42007-11-24 22:33:28 +0000191 select CSRC_R4K
Linus Torvalds1da177e2005-04-16 15:20:36 -0700192 select DMA_NONCOHERENT
193 select GENERIC_ISA_DMA
Ralf Baechleaa414df2006-11-30 01:14:51 +0000194 select IRQ_CPU
Ralf Baechle39b8d522008-04-28 17:14:26 +0100195 select IRQ_GIC
Linus Torvalds1da177e2005-04-16 15:20:36 -0700196 select HW_HAS_PCI
Ralf Baechled865bea2007-10-11 23:46:10 +0100197 select I8253
Linus Torvalds1da177e2005-04-16 15:20:36 -0700198 select I8259
Ralf Baechle5e83d432005-10-29 19:32:41 +0100199 select MIPS_BOARDS_GEN
200 select MIPS_BONITO64
Chris Dearman9318c512006-06-20 17:15:20 +0100201 select MIPS_CPU_SCACHE
Yoichi Yuasa252161e2007-03-14 21:51:26 +0900202 select PCI_GT64XXX_PCI0
Ralf Baechle5e83d432005-10-29 19:32:41 +0100203 select MIPS_MSC
Linus Torvalds1da177e2005-04-16 15:20:36 -0700204 select SWAP_IO_SPACE
Ralf Baechle7cf80532005-10-20 22:33:09 +0100205 select SYS_HAS_CPU_MIPS32_R1
206 select SYS_HAS_CPU_MIPS32_R2
207 select SYS_HAS_CPU_MIPS64_R1
208 select SYS_HAS_CPU_NEVADA
209 select SYS_HAS_CPU_RM7000
Ralf Baechle36a88532007-03-01 11:56:43 +0000210 select SYS_HAS_EARLY_PRINTK
Yoichi Yuasaed5ba2f2005-09-03 15:56:21 -0700211 select SYS_SUPPORTS_32BIT_KERNEL
212 select SYS_SUPPORTS_64BIT_KERNEL
Ralf Baechle5e83d432005-10-29 19:32:41 +0100213 select SYS_SUPPORTS_BIG_ENDIAN
214 select SYS_SUPPORTS_LITTLE_ENDIAN
Ralf Baechle4a16ff42008-10-04 00:06:29 +0100215 select SYS_SUPPORTS_MIPS_CMP if BROKEN # because SYNC_R4K is broken
Ralf Baechlef41ae0b2006-06-05 17:24:46 +0100216 select SYS_SUPPORTS_MULTITHREADING
Franck Bui-Huu9693a852007-02-02 17:41:47 +0100217 select SYS_SUPPORTS_SMARTMIPS
Linus Torvalds1da177e2005-04-16 15:20:36 -0700218 help
Maciej W. Rozyckif638d192005-02-02 22:23:46 +0000219 This enables support for the MIPS Technologies Malta evaluation
Linus Torvalds1da177e2005-04-16 15:20:36 -0700220 board.
221
Ralf Baechlec78cbf42005-09-30 13:59:37 +0100222config MIPS_SIM
Martin Michlmayr3fa986f2006-05-09 23:34:53 +0200223 bool 'MIPS simulator (MIPSsim)'
Ralf Baechle42f77542007-10-18 17:48:11 +0100224 select CEVT_R4K
Ralf Baechle940f6b42007-11-24 22:33:28 +0000225 select CSRC_R4K
Ralf Baechlec78cbf42005-09-30 13:59:37 +0100226 select DMA_NONCOHERENT
Ralf Baechle36a88532007-03-01 11:56:43 +0000227 select SYS_HAS_EARLY_PRINTK
Ralf Baechlec78cbf42005-09-30 13:59:37 +0100228 select IRQ_CPU
Marc St-Jean9267a302007-06-14 15:55:31 -0600229 select BOOT_RAW
Ralf Baechle7cf80532005-10-20 22:33:09 +0100230 select SYS_HAS_CPU_MIPS32_R1
231 select SYS_HAS_CPU_MIPS32_R2
Ralf Baechle36a88532007-03-01 11:56:43 +0000232 select SYS_HAS_EARLY_PRINTK
Ralf Baechlec78cbf42005-09-30 13:59:37 +0100233 select SYS_SUPPORTS_32BIT_KERNEL
234 select SYS_SUPPORTS_BIG_ENDIAN
Ralf Baechlef6e23732007-07-10 17:32:56 +0100235 select SYS_SUPPORTS_MULTITHREADING
Ralf Baechlec78cbf42005-09-30 13:59:37 +0100236 select SYS_SUPPORTS_LITTLE_ENDIAN
237 help
238 This option enables support for MIPS Technologies MIPSsim software
239 emulator.
240
Yoichi Yuasaade299d2007-07-27 15:25:43 +0900241config MARKEINS
242 bool "NEC EMMA2RH Mark-eins"
Ralf Baechle42f77542007-10-18 17:48:11 +0100243 select CEVT_R4K
Ralf Baechle940f6b42007-11-24 22:33:28 +0000244 select CSRC_R4K
Yoichi Yuasaade299d2007-07-27 15:25:43 +0900245 select DMA_NONCOHERENT
246 select HW_HAS_PCI
247 select IRQ_CPU
248 select SWAP_IO_SPACE
249 select SYS_SUPPORTS_32BIT_KERNEL
250 select SYS_SUPPORTS_BIG_ENDIAN
251 select SYS_SUPPORTS_LITTLE_ENDIAN
252 select SYS_HAS_CPU_R5000
253 help
254 This enables support for the R5432-based NEC Mark-eins
255 boards with R5500 CPU.
256
Ralf Baechle5e83d432005-10-29 19:32:41 +0100257config MACH_VR41XX
Yoichi Yuasa74142d62007-04-26 19:45:09 +0900258 bool "NEC VR4100 series based machines"
Ralf Baechle42f77542007-10-18 17:48:11 +0100259 select CEVT_R4K
Ralf Baechle940f6b42007-11-24 22:33:28 +0000260 select CSRC_R4K
Ralf Baechle7cf80532005-10-20 22:33:09 +0100261 select SYS_HAS_CPU_VR41XX
Atsushi Nemoto9fd32cf2006-12-08 01:55:07 +0900262 select GENERIC_HARDIRQS_NO__DO_IRQ
Ralf Baechle5e83d432005-10-29 19:32:41 +0100263
Daniel Lairdedb63102008-06-16 15:49:21 +0100264config NXP_STB220
265 bool "NXP STB220 board"
266 select SOC_PNX833X
267 help
268 Support for NXP Semiconductors STB220 Development Board.
269
270config NXP_STB225
271 bool "NXP 225 board"
272 select SOC_PNX833X
273 select SOC_PNX8335
274 help
275 Support for NXP Semiconductors STB225 Development Board.
276
Yoichi Yuasaade299d2007-07-27 15:25:43 +0900277config PNX8550_JBS
Daniel Lairda92b0582008-03-06 09:07:18 +0000278 bool "NXP PNX8550 based JBS board"
Yoichi Yuasaade299d2007-07-27 15:25:43 +0900279 select PNX8550
280 select SYS_SUPPORTS_LITTLE_ENDIAN
281
282config PNX8550_STB810
Daniel Lairda92b0582008-03-06 09:07:18 +0000283 bool "NXP PNX8550 based STB810 board"
Yoichi Yuasaade299d2007-07-27 15:25:43 +0900284 select PNX8550
285 select SYS_SUPPORTS_LITTLE_ENDIAN
286
Marc St-Jean9267a302007-06-14 15:55:31 -0600287config PMC_MSP
288 bool "PMC-Sierra MSP chipsets"
289 depends on EXPERIMENTAL
290 select DMA_NONCOHERENT
291 select SWAP_IO_SPACE
292 select NO_EXCEPT_FILL
293 select BOOT_RAW
294 select SYS_HAS_CPU_MIPS32_R1
295 select SYS_HAS_CPU_MIPS32_R2
296 select SYS_SUPPORTS_32BIT_KERNEL
297 select SYS_SUPPORTS_BIG_ENDIAN
Marc St-Jean9267a302007-06-14 15:55:31 -0600298 select IRQ_CPU
299 select SERIAL_8250
300 select SERIAL_8250_CONSOLE
301 help
302 This adds support for the PMC-Sierra family of Multi-Service
303 Processor System-On-A-Chips. These parts include a number
304 of integrated peripherals, interfaces and DSPs in addition to
305 a variety of MIPS cores.
306
Ralf Baechle5e83d432005-10-29 19:32:41 +0100307config PMC_YOSEMITE
Martin Michlmayr3fa986f2006-05-09 23:34:53 +0200308 bool "PMC-Sierra Yosemite eval board"
Ralf Baechle42f77542007-10-18 17:48:11 +0100309 select CEVT_R4K
Ralf Baechle940f6b42007-11-24 22:33:28 +0000310 select CSRC_R4K
Ralf Baechle5e83d432005-10-29 19:32:41 +0100311 select DMA_COHERENT
312 select HW_HAS_PCI
313 select IRQ_CPU
314 select IRQ_CPU_RM7K
315 select IRQ_CPU_RM9K
316 select SWAP_IO_SPACE
Ralf Baechle7cf80532005-10-20 22:33:09 +0100317 select SYS_HAS_CPU_RM9000
Ralf Baechle36a88532007-03-01 11:56:43 +0000318 select SYS_HAS_EARLY_PRINTK
Ralf Baechle5e83d432005-10-29 19:32:41 +0100319 select SYS_SUPPORTS_32BIT_KERNEL
320 select SYS_SUPPORTS_64BIT_KERNEL
321 select SYS_SUPPORTS_BIG_ENDIAN
322 select SYS_SUPPORTS_HIGHMEM
Ralf Baechlee73ea272006-06-04 11:51:46 +0100323 select SYS_SUPPORTS_SMP
Ralf Baechle5e83d432005-10-29 19:32:41 +0100324 help
325 Yosemite is an evaluation board for the RM9000x2 processor
326 manufactured by PMC-Sierra.
Linus Torvalds1da177e2005-04-16 15:20:36 -0700327
Linus Torvalds1da177e2005-04-16 15:20:36 -0700328config SGI_IP22
Martin Michlmayr3fa986f2006-05-09 23:34:53 +0200329 bool "SGI IP22 (Indy/Indigo2)"
Linus Torvalds1da177e2005-04-16 15:20:36 -0700330 select ARC
331 select ARC32
332 select BOOT_ELF32
Ralf Baechle42f77542007-10-18 17:48:11 +0100333 select CEVT_R4K
Ralf Baechle940f6b42007-11-24 22:33:28 +0000334 select CSRC_R4K
Thomas Bogendoerfere2defae2007-12-02 13:00:32 +0100335 select DEFAULT_SGI_PARTITION
Linus Torvalds1da177e2005-04-16 15:20:36 -0700336 select DMA_NONCOHERENT
Ralf Baechle5e83d432005-10-29 19:32:41 +0100337 select HW_HAS_EISA
Ralf Baechled865bea2007-10-11 23:46:10 +0100338 select I8253
Thomas Bogendoerfer68de4802007-11-23 20:34:16 +0100339 select I8259
Linus Torvalds1da177e2005-04-16 15:20:36 -0700340 select IP22_CPU_SCACHE
341 select IRQ_CPU
Ralf Baechleaa414df2006-11-30 01:14:51 +0000342 select GENERIC_ISA_DMA_SUPPORT_BROKEN
Thomas Bogendoerfere2defae2007-12-02 13:00:32 +0100343 select SGI_HAS_DS1286
344 select SGI_HAS_I8042
345 select SGI_HAS_INDYDOG
Thomas Bogendoerfer36e5c212008-07-16 14:06:15 +0200346 select SGI_HAS_HAL2
Thomas Bogendoerfere2defae2007-12-02 13:00:32 +0100347 select SGI_HAS_SEEQ
348 select SGI_HAS_WD93
349 select SGI_HAS_ZILOG
Linus Torvalds1da177e2005-04-16 15:20:36 -0700350 select SWAP_IO_SPACE
Ralf Baechle7cf80532005-10-20 22:33:09 +0100351 select SYS_HAS_CPU_R4X00
352 select SYS_HAS_CPU_R5000
Ralf Baechle36a88532007-03-01 11:56:43 +0000353 select SYS_HAS_EARLY_PRINTK
Yoichi Yuasaed5ba2f2005-09-03 15:56:21 -0700354 select SYS_SUPPORTS_32BIT_KERNEL
355 select SYS_SUPPORTS_64BIT_KERNEL
Ralf Baechle5e83d432005-10-29 19:32:41 +0100356 select SYS_SUPPORTS_BIG_ENDIAN
Linus Torvalds1da177e2005-04-16 15:20:36 -0700357 help
358 This are the SGI Indy, Challenge S and Indigo2, as well as certain
359 OEM variants like the Tandem CMN B006S. To compile a Linux kernel
360 that runs on these, say Y here.
361
362config SGI_IP27
Martin Michlmayr3fa986f2006-05-09 23:34:53 +0200363 bool "SGI IP27 (Origin200/2000)"
Linus Torvalds1da177e2005-04-16 15:20:36 -0700364 select ARC
365 select ARC64
Ralf Baechle5e83d432005-10-29 19:32:41 +0100366 select BOOT_ELF64
Thomas Bogendoerfere2defae2007-12-02 13:00:32 +0100367 select DEFAULT_SGI_PARTITION
Linus Torvalds1da177e2005-04-16 15:20:36 -0700368 select DMA_IP27
Ralf Baechle36a88532007-03-01 11:56:43 +0000369 select SYS_HAS_EARLY_PRINTK
Linus Torvalds1da177e2005-04-16 15:20:36 -0700370 select HW_HAS_PCI
Ralf Baechle130e2fb2007-02-06 16:53:15 +0000371 select NR_CPUS_DEFAULT_64
Ralf Baechle7cf80532005-10-20 22:33:09 +0100372 select SYS_HAS_CPU_R10000
Yoichi Yuasaed5ba2f2005-09-03 15:56:21 -0700373 select SYS_SUPPORTS_64BIT_KERNEL
Ralf Baechle5e83d432005-10-29 19:32:41 +0100374 select SYS_SUPPORTS_BIG_ENDIAN
Ralf Baechled8cb4e12006-06-11 23:03:08 +0100375 select SYS_SUPPORTS_NUMA
Ralf Baechle1a5c5de2006-11-02 17:23:33 +0000376 select SYS_SUPPORTS_SMP
Franck Bui-Huue77c2322006-12-01 18:22:27 +0100377 select GENERIC_HARDIRQS_NO__DO_IRQ
Linus Torvalds1da177e2005-04-16 15:20:36 -0700378 help
379 This are the SGI Origin 200, Origin 2000 and Onyx 2 Graphics
380 workstations. To compile a Linux kernel that runs on these, say Y
381 here.
382
Thomas Bogendoerfere2defae2007-12-02 13:00:32 +0100383config SGI_IP28
384 bool "SGI IP28 (Indigo2 R10k) (EXPERIMENTAL)"
385 depends on EXPERIMENTAL
386 select ARC
387 select ARC64
388 select BOOT_ELF64
389 select CEVT_R4K
390 select CSRC_R4K
391 select DEFAULT_SGI_PARTITION
392 select DMA_NONCOHERENT
393 select GENERIC_ISA_DMA_SUPPORT_BROKEN
394 select IRQ_CPU
395 select HW_HAS_EISA
396 select I8253
397 select I8259
398 select SGI_HAS_DS1286
399 select SGI_HAS_I8042
400 select SGI_HAS_INDYDOG
Thomas Bogendoerfer5b438c42008-07-10 20:29:55 +0200401 select SGI_HAS_HAL2
Thomas Bogendoerfere2defae2007-12-02 13:00:32 +0100402 select SGI_HAS_SEEQ
403 select SGI_HAS_WD93
404 select SGI_HAS_ZILOG
405 select SWAP_IO_SPACE
406 select SYS_HAS_CPU_R10000
407 select SYS_HAS_EARLY_PRINTK
408 select SYS_SUPPORTS_64BIT_KERNEL
409 select SYS_SUPPORTS_BIG_ENDIAN
410 help
411 This is the SGI Indigo2 with R10000 processor. To compile a Linux
412 kernel that runs on these, say Y here.
413
Linus Torvalds1da177e2005-04-16 15:20:36 -0700414config SGI_IP32
Ralf Baechlecfd2afc2007-07-10 17:33:00 +0100415 bool "SGI IP32 (O2)"
Linus Torvalds1da177e2005-04-16 15:20:36 -0700416 select ARC
417 select ARC32
418 select BOOT_ELF32
Ralf Baechle42f77542007-10-18 17:48:11 +0100419 select CEVT_R4K
Ralf Baechle940f6b42007-11-24 22:33:28 +0000420 select CSRC_R4K
Linus Torvalds1da177e2005-04-16 15:20:36 -0700421 select DMA_NONCOHERENT
422 select HW_HAS_PCI
Ralf Baechledd67b152007-10-14 14:02:26 +0100423 select IRQ_CPU
Linus Torvalds1da177e2005-04-16 15:20:36 -0700424 select R5000_CPU_SCACHE
425 select RM7000_CPU_SCACHE
Ralf Baechle7cf80532005-10-20 22:33:09 +0100426 select SYS_HAS_CPU_R5000
427 select SYS_HAS_CPU_R10000 if BROKEN
428 select SYS_HAS_CPU_RM7000
Ralf Baechledd2f18f2006-01-19 14:55:42 +0000429 select SYS_HAS_CPU_NEVADA
Yoichi Yuasaed5ba2f2005-09-03 15:56:21 -0700430 select SYS_SUPPORTS_64BIT_KERNEL
Ralf Baechle5e83d432005-10-29 19:32:41 +0100431 select SYS_SUPPORTS_BIG_ENDIAN
Linus Torvalds1da177e2005-04-16 15:20:36 -0700432 help
433 If you want this kernel to run on SGI O2 workstation, say Y here.
434
Yoichi Yuasaade299d2007-07-27 15:25:43 +0900435config SIBYTE_CRHINE
436 bool "Sibyte BCM91120C-CRhine"
Ralf Baechle5e83d432005-10-29 19:32:41 +0100437 depends on EXPERIMENTAL
438 select BOOT_ELF32
439 select DMA_COHERENT
440 select SIBYTE_BCM1120
441 select SWAP_IO_SPACE
Ralf Baechle7cf80532005-10-20 22:33:09 +0100442 select SYS_HAS_CPU_SB1
Ralf Baechle5e83d432005-10-29 19:32:41 +0100443 select SYS_SUPPORTS_BIG_ENDIAN
444 select SYS_SUPPORTS_LITTLE_ENDIAN
445
Yoichi Yuasaade299d2007-07-27 15:25:43 +0900446config SIBYTE_CARMEL
447 bool "Sibyte BCM91120x-Carmel"
Ralf Baechle5e83d432005-10-29 19:32:41 +0100448 depends on EXPERIMENTAL
449 select BOOT_ELF32
450 select DMA_COHERENT
451 select SIBYTE_BCM1120
452 select SWAP_IO_SPACE
Ralf Baechle7cf80532005-10-20 22:33:09 +0100453 select SYS_HAS_CPU_SB1
Ralf Baechle5e83d432005-10-29 19:32:41 +0100454 select SYS_SUPPORTS_BIG_ENDIAN
455 select SYS_SUPPORTS_LITTLE_ENDIAN
456
457config SIBYTE_CRHONE
Martin Michlmayr3fa986f2006-05-09 23:34:53 +0200458 bool "Sibyte BCM91125C-CRhone"
Ralf Baechle5e83d432005-10-29 19:32:41 +0100459 depends on EXPERIMENTAL
460 select BOOT_ELF32
461 select DMA_COHERENT
462 select SIBYTE_BCM1125
463 select SWAP_IO_SPACE
Ralf Baechle7cf80532005-10-20 22:33:09 +0100464 select SYS_HAS_CPU_SB1
Ralf Baechle5e83d432005-10-29 19:32:41 +0100465 select SYS_SUPPORTS_BIG_ENDIAN
466 select SYS_SUPPORTS_HIGHMEM
467 select SYS_SUPPORTS_LITTLE_ENDIAN
468
Yoichi Yuasaade299d2007-07-27 15:25:43 +0900469config SIBYTE_RHONE
470 bool "Sibyte BCM91125E-Rhone"
471 depends on EXPERIMENTAL
472 select BOOT_ELF32
473 select DMA_COHERENT
474 select SIBYTE_BCM1125H
475 select SWAP_IO_SPACE
476 select SYS_HAS_CPU_SB1
477 select SYS_SUPPORTS_BIG_ENDIAN
478 select SYS_SUPPORTS_LITTLE_ENDIAN
479
480config SIBYTE_SWARM
481 bool "Sibyte BCM91250A-SWARM"
482 select BOOT_ELF32
483 select DMA_COHERENT
484 select NR_CPUS_DEFAULT_2
485 select SIBYTE_SB1250
486 select SWAP_IO_SPACE
487 select SYS_HAS_CPU_SB1
488 select SYS_SUPPORTS_BIG_ENDIAN
489 select SYS_SUPPORTS_HIGHMEM
Yoichi Yuasaade299d2007-07-27 15:25:43 +0900490 select SYS_SUPPORTS_LITTLE_ENDIAN
Ralf Baechlecce335ae2007-11-03 02:05:43 +0000491 select ZONE_DMA32 if 64BIT
Yoichi Yuasaade299d2007-07-27 15:25:43 +0900492
493config SIBYTE_LITTLESUR
494 bool "Sibyte BCM91250C2-LittleSur"
495 depends on EXPERIMENTAL
496 select BOOT_ELF32
497 select DMA_COHERENT
498 select NR_CPUS_DEFAULT_2
499 select SIBYTE_SB1250
500 select SWAP_IO_SPACE
501 select SYS_HAS_CPU_SB1
502 select SYS_SUPPORTS_BIG_ENDIAN
503 select SYS_SUPPORTS_HIGHMEM
504 select SYS_SUPPORTS_LITTLE_ENDIAN
505
506config SIBYTE_SENTOSA
507 bool "Sibyte BCM91250E-Sentosa"
508 depends on EXPERIMENTAL
509 select BOOT_ELF32
510 select DMA_COHERENT
511 select NR_CPUS_DEFAULT_2
512 select SIBYTE_SB1250
513 select SWAP_IO_SPACE
514 select SYS_HAS_CPU_SB1
515 select SYS_SUPPORTS_BIG_ENDIAN
516 select SYS_SUPPORTS_LITTLE_ENDIAN
517
Yoichi Yuasaade299d2007-07-27 15:25:43 +0900518config SIBYTE_BIGSUR
519 bool "Sibyte BCM91480B-BigSur"
520 select BOOT_ELF32
521 select DMA_COHERENT
522 select NR_CPUS_DEFAULT_4
Yoichi Yuasaade299d2007-07-27 15:25:43 +0900523 select SIBYTE_BCM1x80
524 select SWAP_IO_SPACE
525 select SYS_HAS_CPU_SB1
526 select SYS_SUPPORTS_BIG_ENDIAN
Ralf Baechle651194f2007-11-01 21:55:39 +0000527 select SYS_SUPPORTS_HIGHMEM
Yoichi Yuasaade299d2007-07-27 15:25:43 +0900528 select SYS_SUPPORTS_LITTLE_ENDIAN
Ralf Baechlecce335ae2007-11-03 02:05:43 +0000529 select ZONE_DMA32 if 64BIT
Yoichi Yuasaade299d2007-07-27 15:25:43 +0900530
Thomas Bogendoerfer14b36af2006-12-05 17:05:44 +0100531config SNI_RM
532 bool "SNI RM200/300/400"
Thomas Bogendoerfer4a0312f2006-06-13 13:59:01 +0200533 select ARC if CPU_LITTLE_ENDIAN
534 select ARC32 if CPU_LITTLE_ENDIAN
Thomas Bogendoerfer231a35d2008-01-04 23:31:07 +0100535 select SNIPROM if CPU_BIG_ENDIAN
Ralf Baechle5e83d432005-10-29 19:32:41 +0100536 select ARCH_MAY_HAVE_PC_FDC
537 select BOOT_ELF32
Ralf Baechle42f77542007-10-18 17:48:11 +0100538 select CEVT_R4K
Ralf Baechle940f6b42007-11-24 22:33:28 +0000539 select CSRC_R4K
Thomas Bogendoerfere2defae2007-12-02 13:00:32 +0100540 select DEFAULT_SGI_PARTITION if CPU_BIG_ENDIAN
Ralf Baechle5e83d432005-10-29 19:32:41 +0100541 select DMA_NONCOHERENT
542 select GENERIC_ISA_DMA
Ralf Baechle5e83d432005-10-29 19:32:41 +0100543 select HW_HAS_EISA
544 select HW_HAS_PCI
Thomas Bogendoerferc066a322006-12-28 18:22:32 +0100545 select IRQ_CPU
Ralf Baechled865bea2007-10-11 23:46:10 +0100546 select I8253
Ralf Baechle5e83d432005-10-29 19:32:41 +0100547 select I8259
548 select ISA
Thomas Bogendoerfer4a0312f2006-06-13 13:59:01 +0200549 select SWAP_IO_SPACE if CPU_BIG_ENDIAN
Ralf Baechle7cf80532005-10-20 22:33:09 +0100550 select SYS_HAS_CPU_R4X00
Thomas Bogendoerfer4a0312f2006-06-13 13:59:01 +0200551 select SYS_HAS_CPU_R5000
Thomas Bogendoerferc066a322006-12-28 18:22:32 +0100552 select SYS_HAS_CPU_R10000
Thomas Bogendoerfer4a0312f2006-06-13 13:59:01 +0200553 select R5000_CPU_SCACHE
Ralf Baechle36a88532007-03-01 11:56:43 +0000554 select SYS_HAS_EARLY_PRINTK
Yoichi Yuasaed5ba2f2005-09-03 15:56:21 -0700555 select SYS_SUPPORTS_32BIT_KERNEL
Ralf Baechle5e83d432005-10-29 19:32:41 +0100556 select SYS_SUPPORTS_64BIT_KERNEL if EXPERIMENTAL
Thomas Bogendoerfer4a0312f2006-06-13 13:59:01 +0200557 select SYS_SUPPORTS_BIG_ENDIAN
Ralf Baechle5e83d432005-10-29 19:32:41 +0100558 select SYS_SUPPORTS_HIGHMEM
559 select SYS_SUPPORTS_LITTLE_ENDIAN
Linus Torvalds1da177e2005-04-16 15:20:36 -0700560 help
Thomas Bogendoerfer14b36af2006-12-05 17:05:44 +0100561 The SNI RM200/300/400 are MIPS-based machines manufactured by
562 Siemens Nixdorf Informationssysteme (SNI), parent company of Pyramid
Ralf Baechle5e83d432005-10-29 19:32:41 +0100563 Technology and now in turn merged with Fujitsu. Say Y here to
564 support this machine type.
Linus Torvalds1da177e2005-04-16 15:20:36 -0700565
Atsushi Nemotoedcaf1a2008-07-11 23:27:54 +0900566config MACH_TX39XX
567 bool "Toshiba TX39 series based machines"
Ralf Baechle5e83d432005-10-29 19:32:41 +0100568
Atsushi Nemotoedcaf1a2008-07-11 23:27:54 +0900569config MACH_TX49XX
570 bool "Toshiba TX49 series based machines"
Ralf Baechle23fbee92005-07-25 22:45:45 +0000571
Ralf Baechle73b43902008-07-16 16:12:25 +0100572config MIKROTIK_RB532
573 bool "Mikrotik RB532 boards"
574 select CEVT_R4K
575 select CSRC_R4K
576 select DMA_NONCOHERENT
577 select GENERIC_HARDIRQS_NO__DO_IRQ
578 select HW_HAS_PCI
579 select IRQ_CPU
580 select SYS_HAS_CPU_MIPS32_R1
581 select SYS_SUPPORTS_32BIT_KERNEL
582 select SYS_SUPPORTS_LITTLE_ENDIAN
583 select SWAP_IO_SPACE
584 select BOOT_RAW
Florian Fainellid888e252008-08-23 18:54:34 +0200585 select ARCH_REQUIRE_GPIOLIB
Ralf Baechle73b43902008-07-16 16:12:25 +0100586 help
587 Support the Mikrotik(tm) RouterBoard 532 series,
588 based on the IDT RC32434 SoC.
589
Yoichi Yuasaade299d2007-07-27 15:25:43 +0900590config WR_PPMC
591 bool "Wind River PPMC board"
Ralf Baechle42f77542007-10-18 17:48:11 +0100592 select CEVT_R4K
Ralf Baechle940f6b42007-11-24 22:33:28 +0000593 select CSRC_R4K
Yoichi Yuasaade299d2007-07-27 15:25:43 +0900594 select IRQ_CPU
595 select BOOT_ELF32
596 select DMA_NONCOHERENT
597 select HW_HAS_PCI
598 select PCI_GT64XXX_PCI0
599 select SWAP_IO_SPACE
600 select SYS_HAS_CPU_MIPS32_R1
601 select SYS_HAS_CPU_MIPS32_R2
602 select SYS_HAS_CPU_MIPS64_R1
603 select SYS_HAS_CPU_NEVADA
604 select SYS_HAS_CPU_RM7000
605 select SYS_SUPPORTS_32BIT_KERNEL
606 select SYS_SUPPORTS_64BIT_KERNEL
607 select SYS_SUPPORTS_BIG_ENDIAN
608 select SYS_SUPPORTS_LITTLE_ENDIAN
609 help
610 This enables support for the Wind River MIPS32 4KC PPMC evaluation
611 board, which is based on GT64120 bridge chip.
612
Linus Torvalds1da177e2005-04-16 15:20:36 -0700613endchoice
614
Ralf Baechlee8c7c482008-09-16 19:12:16 +0200615source "arch/mips/alchemy/Kconfig"
Yoichi Yuasa9c746ed2007-12-12 22:39:54 +0900616source "arch/mips/basler/excite/Kconfig"
Ralf Baechle5e83d432005-10-29 19:32:41 +0100617source "arch/mips/jazz/Kconfig"
Brian Murphy1f21d2b2007-08-21 22:34:16 +0200618source "arch/mips/lasat/Kconfig"
Ralf Baechle5e83d432005-10-29 19:32:41 +0100619source "arch/mips/pmc-sierra/Kconfig"
Ralf Baechle29c48692005-02-07 01:27:14 +0000620source "arch/mips/sgi-ip27/Kconfig"
Ralf Baechle38b18f722005-02-03 14:28:23 +0000621source "arch/mips/sibyte/Kconfig"
Atsushi Nemoto22b1d702008-07-11 00:31:36 +0900622source "arch/mips/txx9/Kconfig"
Ralf Baechle5e83d432005-10-29 19:32:41 +0100623source "arch/mips/vr41xx/Kconfig"
Ralf Baechle38b18f722005-02-03 14:28:23 +0000624
Ralf Baechle5e83d432005-10-29 19:32:41 +0100625endmenu
626
Linus Torvalds1da177e2005-04-16 15:20:36 -0700627config RWSEM_GENERIC_SPINLOCK
628 bool
629 default y
630
631config RWSEM_XCHGADD_ALGORITHM
632 bool
633
David Howellsf0d1b0b2006-12-08 02:37:49 -0800634config ARCH_HAS_ILOG2_U32
635 bool
636 default n
637
638config ARCH_HAS_ILOG2_U64
639 bool
640 default n
641
Ralf Baechle00a58252007-12-06 16:53:19 +0000642config ARCH_SUPPORTS_OPROFILE
643 bool
644 default y if !MIPS_MT_SMTC
645
Akinobu Mita3c9ee7e2006-03-26 01:39:30 -0800646config GENERIC_FIND_NEXT_BIT
647 bool
648 default y
649
650config GENERIC_HWEIGHT
651 bool
652 default y
653
Linus Torvalds1da177e2005-04-16 15:20:36 -0700654config GENERIC_CALIBRATE_DELAY
655 bool
656 default y
657
Ralf Baechle7bcf7712007-10-11 23:46:09 +0100658config GENERIC_CLOCKEVENTS
659 bool
660 default y
661
Ralf Baechle8db02012006-10-02 16:54:48 +0100662config GENERIC_TIME
663 bool
664 default y
665
Ralf Baechlef5ff0a22007-08-13 15:26:12 +0100666config GENERIC_CMOS_UPDATE
667 bool
668 default y
669
Atsushi Nemoto1cc89032006-04-04 13:11:45 +0900670config SCHED_NO_NO_OMIT_FRAME_POINTER
671 bool
672 default y
673
Franck Bui-Huue77c2322006-12-01 18:22:27 +0100674config GENERIC_HARDIRQS_NO__DO_IRQ
675 bool
676 default n
677
Linus Torvalds1da177e2005-04-16 15:20:36 -0700678#
679# Select some configuration options automatically based on user selections.
680#
681config ARC
682 bool
Linus Torvalds1da177e2005-04-16 15:20:36 -0700683
Ralf Baechle61ed2422005-09-15 08:52:34 +0000684config ARCH_MAY_HAVE_PC_FDC
685 bool
686
Marc St-Jean9267a302007-06-14 15:55:31 -0600687config BOOT_RAW
688 bool
689
Ralf Baechle217dd112007-11-01 01:57:55 +0000690config CEVT_BCM1480
691 bool
692
Yoichi Yuasa6457d9f2008-04-25 12:11:44 +0900693config CEVT_DS1287
694 bool
695
Yoichi Yuasa1097c6a2007-10-22 19:43:15 +0900696config CEVT_GT641XX
697 bool
698
Ralf Baechle42f77542007-10-18 17:48:11 +0100699config CEVT_R4K
700 bool
701
Ralf Baechle217dd112007-11-01 01:57:55 +0000702config CEVT_SB1250
703 bool
704
Atsushi Nemoto229f7732007-10-25 01:34:09 +0900705config CEVT_TXX9
706 bool
707
Ralf Baechle217dd112007-11-01 01:57:55 +0000708config CSRC_BCM1480
709 bool
710
Yoichi Yuasa42474172008-04-24 09:48:40 +0900711config CSRC_IOASIC
712 bool
713
Ralf Baechle940f6b42007-11-24 22:33:28 +0000714config CSRC_R4K
715 bool
716
Ralf Baechle217dd112007-11-01 01:57:55 +0000717config CSRC_SB1250
718 bool
719
Atsushi Nemotoa9aec7f2008-04-05 00:55:41 +0900720config GPIO_TXX9
721 select GENERIC_GPIO
Michael Buesch7444a722008-07-25 01:46:11 -0700722 select ARCH_REQUIRE_GPIOLIB
Atsushi Nemotoa9aec7f2008-04-05 00:55:41 +0900723 bool
724
Aurelien Jarnodf78b5c2007-09-05 08:58:26 +0200725config CFE
726 bool
727
Ralf Baechle4ce588c2005-09-03 15:56:19 -0700728config DMA_COHERENT
Linus Torvalds1da177e2005-04-16 15:20:36 -0700729 bool
730
Ralf Baechle4ce588c2005-09-03 15:56:19 -0700731config DMA_IP27
Linus Torvalds1da177e2005-04-16 15:20:36 -0700732 bool
733
Ralf Baechle4ce588c2005-09-03 15:56:19 -0700734config DMA_NONCOHERENT
735 bool
736 select DMA_NEED_PCI_MAP_STATE
737
738config DMA_NEED_PCI_MAP_STATE
Linus Torvalds1da177e2005-04-16 15:20:36 -0700739 bool
740
741config EARLY_PRINTK
Ralf Baechle36a88532007-03-01 11:56:43 +0000742 bool "Early printk" if EMBEDDED && DEBUG_KERNEL
743 depends on SYS_HAS_EARLY_PRINTK
744 default y
745 help
746 This option enables special console drivers which allow the kernel
747 to print messages very early in the bootup process.
748
749 This is useful for kernel debugging when your machine crashes very
Robert P. J. Day490dcc42007-05-20 12:11:07 -0400750 early before the console code is initialized. For normal operation,
751 it is not recommended because it looks ugly on some machines and
752 doesn't cooperate with an X server. You should normally say N here,
Ralf Baechle36a88532007-03-01 11:56:43 +0000753 unless you want to debug such a crash.
754
755config SYS_HAS_EARLY_PRINTK
Linus Torvalds1da177e2005-04-16 15:20:36 -0700756 bool
Linus Torvalds1da177e2005-04-16 15:20:36 -0700757
Ralf Baechledbb74542007-08-07 14:52:17 +0100758config HOTPLUG_CPU
759 bool
760 default n
761
Linus Torvalds1da177e2005-04-16 15:20:36 -0700762config I8259
763 bool
Linus Torvalds1da177e2005-04-16 15:20:36 -0700764
Linus Torvalds1da177e2005-04-16 15:20:36 -0700765config MIPS_BONITO64
766 bool
Linus Torvalds1da177e2005-04-16 15:20:36 -0700767
768config MIPS_MSC
769 bool
Linus Torvalds1da177e2005-04-16 15:20:36 -0700770
Brian Murphy1f21d2b2007-08-21 22:34:16 +0200771config MIPS_NILE4
772 bool
773
Linus Torvalds1da177e2005-04-16 15:20:36 -0700774config MIPS_DISABLE_OBSOLETE_IDE
775 bool
776
Ralf Baechle39b8d522008-04-28 17:14:26 +0100777config SYNC_R4K
778 bool
779
Maciej W. Rozyckid388d682007-05-29 15:08:07 +0100780config NO_IOPORT
781 def_bool n
782
Ralf Baechle8313da32007-08-24 16:48:30 +0100783config GENERIC_ISA_DMA
784 bool
785 select ZONE_DMA if GENERIC_ISA_DMA_SUPPORT_BROKEN=n
786
Ralf Baechleaa414df2006-11-30 01:14:51 +0000787config GENERIC_ISA_DMA_SUPPORT_BROKEN
788 bool
Ralf Baechle8313da32007-08-24 16:48:30 +0100789 select GENERIC_ISA_DMA
Ralf Baechleaa414df2006-11-30 01:14:51 +0000790
Yoichi Yuasa09663332007-05-22 00:05:58 +0900791config GENERIC_GPIO
792 bool
793
Ralf Baechle5e83d432005-10-29 19:32:41 +0100794#
Matt LaPlante3cb2fcc2006-11-30 05:22:59 +0100795# Endianess selection. Sufficiently obscure so many users don't know what to
Ralf Baechle5e83d432005-10-29 19:32:41 +0100796# answer,so we try hard to limit the available choices. Also the use of a
797# choice statement should be more obvious to the user.
798#
799choice
800 prompt "Endianess selection"
Linus Torvalds1da177e2005-04-16 15:20:36 -0700801 help
802 Some MIPS machines can be configured for either little or big endian
Ralf Baechle5e83d432005-10-29 19:32:41 +0100803 byte order. These modes require different kernels and a different
Matt LaPlante3cb2fcc2006-11-30 05:22:59 +0100804 Linux distribution. In general there is one preferred byteorder for a
Ralf Baechle5e83d432005-10-29 19:32:41 +0100805 particular system but some systems are just as commonly used in the
David Sterba3dde6ad2007-05-09 07:12:20 +0200806 one or the other endianness.
Ralf Baechle5e83d432005-10-29 19:32:41 +0100807
808config CPU_BIG_ENDIAN
809 bool "Big endian"
810 depends on SYS_SUPPORTS_BIG_ENDIAN
811
812config CPU_LITTLE_ENDIAN
813 bool "Little endian"
814 depends on SYS_SUPPORTS_LITTLE_ENDIAN
815 help
816
817endchoice
818
Ralf Baechle21162452007-02-09 17:08:58 +0000819config SYS_SUPPORTS_APM_EMULATION
820 bool
821
Ralf Baechle5e83d432005-10-29 19:32:41 +0100822config SYS_SUPPORTS_BIG_ENDIAN
823 bool
824
825config SYS_SUPPORTS_LITTLE_ENDIAN
826 bool
Linus Torvalds1da177e2005-04-16 15:20:36 -0700827
828config IRQ_CPU
829 bool
830
831config IRQ_CPU_RM7K
832 bool
833
Ralf Baechle5e83d432005-10-29 19:32:41 +0100834config IRQ_CPU_RM9K
835 bool
836
Marc St-Jean9267a302007-06-14 15:55:31 -0600837config IRQ_MSP_SLP
838 bool
839
840config IRQ_MSP_CIC
841 bool
842
Atsushi Nemoto8420fd02007-08-02 23:35:53 +0900843config IRQ_TXX9
844 bool
845
Yoichi Yuasad5ab1a62007-09-13 23:51:26 +0900846config IRQ_GT641XX
847 bool
848
Ralf Baechle39b8d522008-04-28 17:14:26 +0100849config IRQ_GIC
850 bool
851
Linus Torvalds1da177e2005-04-16 15:20:36 -0700852config MIPS_BOARDS_GEN
853 bool
Linus Torvalds1da177e2005-04-16 15:20:36 -0700854
Yoichi Yuasa252161e2007-03-14 21:51:26 +0900855config PCI_GT64XXX_PCI0
Linus Torvalds1da177e2005-04-16 15:20:36 -0700856 bool
Linus Torvalds1da177e2005-04-16 15:20:36 -0700857
Marc St-Jean9267a302007-06-14 15:55:31 -0600858config NO_EXCEPT_FILL
859 bool
860
thomas@koeller.dyndns.org663c3d92006-08-27 13:51:48 +0200861config MIPS_RM9122
862 bool
863 select SERIAL_RM9000
thomas@koeller.dyndns.org663c3d92006-08-27 13:51:48 +0200864
Daniel Lairdedb63102008-06-16 15:49:21 +0100865config SOC_PNX833X
866 bool
867 select CEVT_R4K
868 select CSRC_R4K
869 select IRQ_CPU
870 select DMA_NONCOHERENT
871 select SYS_HAS_CPU_MIPS32_R2
872 select SYS_SUPPORTS_32BIT_KERNEL
873 select SYS_SUPPORTS_LITTLE_ENDIAN
874 select SYS_SUPPORTS_BIG_ENDIAN
875 select GENERIC_HARDIRQS_NO__DO_IRQ
876 select GENERIC_GPIO
877 select CPU_MIPSR2_IRQ_VI
878
879config SOC_PNX8335
880 bool
881 select SOC_PNX833X
882
Pete Popovbdf21b12005-07-14 17:47:57 +0000883config PNX8550
884 bool
885 select SOC_PNX8550
886
887config SOC_PNX8550
888 bool
Pete Popovbdf21b12005-07-14 17:47:57 +0000889 select DMA_NONCOHERENT
890 select HW_HAS_PCI
Ralf Baechleb8c2a772005-10-31 13:08:37 +0000891 select SYS_HAS_CPU_MIPS32_R1
Ralf Baechle36a88532007-03-01 11:56:43 +0000892 select SYS_HAS_EARLY_PRINTK
Ralf Baechle7cf80532005-10-20 22:33:09 +0100893 select SYS_SUPPORTS_32BIT_KERNEL
Franck Bui-Huue77c2322006-12-01 18:22:27 +0100894 select GENERIC_HARDIRQS_NO__DO_IRQ
Florian Fainelli4ead1682007-05-22 21:44:42 +0200895 select GENERIC_GPIO
Pete Popovbdf21b12005-07-14 17:47:57 +0000896
Linus Torvalds1da177e2005-04-16 15:20:36 -0700897config SWAP_IO_SPACE
898 bool
899
dmitry pervushin355c4712006-05-21 14:53:06 +0400900config EMMA2RH
901 bool
902 depends on MARKEINS
903 default y
904
thomas@koeller.dyndns.org663c3d92006-08-27 13:51:48 +0200905config SERIAL_RM9000
906 bool
907
Thomas Bogendoerfere2defae2007-12-02 13:00:32 +0100908config SGI_HAS_DS1286
909 bool
910
911config SGI_HAS_INDYDOG
912 bool
913
Thomas Bogendoerfer5b438c42008-07-10 20:29:55 +0200914config SGI_HAS_HAL2
915 bool
916
Thomas Bogendoerfere2defae2007-12-02 13:00:32 +0100917config SGI_HAS_SEEQ
918 bool
919
920config SGI_HAS_WD93
921 bool
922
923config SGI_HAS_ZILOG
924 bool
925
926config SGI_HAS_I8042
927 bool
928
929config DEFAULT_SGI_PARTITION
930 bool
931
Ralf Baechle5e83d432005-10-29 19:32:41 +0100932config ARC32
933 bool
934
Thomas Bogendoerfer231a35d2008-01-04 23:31:07 +0100935config SNIPROM
936 bool
937
Linus Torvalds1da177e2005-04-16 15:20:36 -0700938config BOOT_ELF32
939 bool
Linus Torvalds1da177e2005-04-16 15:20:36 -0700940
941config MIPS_L1_CACHE_SHIFT
942 int
Ralf Baechle73b43902008-07-16 16:12:25 +0100943 default "4" if MACH_DECSTATION || MIKROTIK_RB532
Thomas Bogendoerfer7e3297d2008-06-27 23:52:26 +0200944 default "7" if SGI_IP22 || SGI_IP27 || SGI_IP28 || SNI_RM
Marc St-Jean9267a302007-06-14 15:55:31 -0600945 default "4" if PMC_MSP4200_EVAL
Linus Torvalds1da177e2005-04-16 15:20:36 -0700946 default "5"
947
Linus Torvalds1da177e2005-04-16 15:20:36 -0700948config HAVE_STD_PC_SERIAL_PORT
949 bool
950
Linus Torvalds1da177e2005-04-16 15:20:36 -0700951config ARC_CONSOLE
952 bool "ARC console support"
Thomas Bogendoerfere2defae2007-12-02 13:00:32 +0100953 depends on SGI_IP22 || SGI_IP28 || (SNI_RM && CPU_LITTLE_ENDIAN)
Linus Torvalds1da177e2005-04-16 15:20:36 -0700954
955config ARC_MEMORY
956 bool
Thomas Bogendoerfer14b36af2006-12-05 17:05:44 +0100957 depends on MACH_JAZZ || SNI_RM || SGI_IP32
Linus Torvalds1da177e2005-04-16 15:20:36 -0700958 default y
959
960config ARC_PROMLIB
961 bool
Thomas Bogendoerfere2defae2007-12-02 13:00:32 +0100962 depends on MACH_JAZZ || SNI_RM || SGI_IP22 || SGI_IP28 || SGI_IP32
Linus Torvalds1da177e2005-04-16 15:20:36 -0700963 default y
964
965config ARC64
966 bool
Linus Torvalds1da177e2005-04-16 15:20:36 -0700967
968config BOOT_ELF64
969 bool
Linus Torvalds1da177e2005-04-16 15:20:36 -0700970
Linus Torvalds1da177e2005-04-16 15:20:36 -0700971menu "CPU selection"
972
973choice
974 prompt "CPU type"
975 default CPU_R4X00
976
Fuxin Zhang2a21c732007-06-06 14:52:43 +0800977config CPU_LOONGSON2
978 bool "Loongson 2"
979 depends on SYS_HAS_CPU_LOONGSON2
980 select CPU_SUPPORTS_32BIT_KERNEL
981 select CPU_SUPPORTS_64BIT_KERNEL
982 select CPU_SUPPORTS_HIGHMEM
983 help
984 The Loongson 2E processor implements the MIPS III instruction set
985 with many extensions.
986
Ralf Baechle6e760c82005-07-06 12:08:11 +0000987config CPU_MIPS32_R1
988 bool "MIPS32 Release 1"
Ralf Baechle7cf80532005-10-20 22:33:09 +0100989 depends on SYS_HAS_CPU_MIPS32_R1
Ralf Baechlef7062dd2006-04-24 14:58:53 +0100990 select CPU_HAS_LLSC
Ralf Baechle6e760c82005-07-06 12:08:11 +0000991 select CPU_HAS_PREFETCH
Ralf Baechle797798c2005-08-10 15:17:11 +0000992 select CPU_SUPPORTS_32BIT_KERNEL
Ralf Baechleec28f302006-03-05 00:45:33 +0000993 select CPU_SUPPORTS_HIGHMEM
Ralf Baechle6e760c82005-07-06 12:08:11 +0000994 help
Ralf Baechle5e83d432005-10-29 19:32:41 +0100995 Choose this option to build a kernel for release 1 or later of the
Ralf Baechle1e5f1ca2005-07-12 14:51:22 +0000996 MIPS32 architecture. Most modern embedded systems with a 32-bit
997 MIPS processor are based on a MIPS32 processor. If you know the
998 specific type of processor in your system, choose those that one
999 otherwise CPU_MIPS32_R1 is a safe bet for any MIPS32 system.
1000 Release 2 of the MIPS32 architecture is available since several
1001 years so chances are you even have a MIPS32 Release 2 processor
1002 in which case you should choose CPU_MIPS32_R2 instead for better
1003 performance.
1004
1005config CPU_MIPS32_R2
1006 bool "MIPS32 Release 2"
Ralf Baechle7cf80532005-10-20 22:33:09 +01001007 depends on SYS_HAS_CPU_MIPS32_R2
Ralf Baechlef7062dd2006-04-24 14:58:53 +01001008 select CPU_HAS_LLSC
Ralf Baechle1e5f1ca2005-07-12 14:51:22 +00001009 select CPU_HAS_PREFETCH
Ralf Baechle797798c2005-08-10 15:17:11 +00001010 select CPU_SUPPORTS_32BIT_KERNEL
Ralf Baechleec28f302006-03-05 00:45:33 +00001011 select CPU_SUPPORTS_HIGHMEM
Ralf Baechle1e5f1ca2005-07-12 14:51:22 +00001012 help
Ralf Baechle5e83d432005-10-29 19:32:41 +01001013 Choose this option to build a kernel for release 2 or later of the
Ralf Baechle6e760c82005-07-06 12:08:11 +00001014 MIPS32 architecture. Most modern embedded systems with a 32-bit
1015 MIPS processor are based on a MIPS32 processor. If you know the
1016 specific type of processor in your system, choose those that one
1017 otherwise CPU_MIPS32_R1 is a safe bet for any MIPS32 system.
Linus Torvalds1da177e2005-04-16 15:20:36 -07001018
Ralf Baechle6e760c82005-07-06 12:08:11 +00001019config CPU_MIPS64_R1
1020 bool "MIPS64 Release 1"
Ralf Baechle7cf80532005-10-20 22:33:09 +01001021 depends on SYS_HAS_CPU_MIPS64_R1
Ralf Baechlef7062dd2006-04-24 14:58:53 +01001022 select CPU_HAS_LLSC
Ralf Baechle797798c2005-08-10 15:17:11 +00001023 select CPU_HAS_PREFETCH
Yoichi Yuasaed5ba2f2005-09-03 15:56:21 -07001024 select CPU_SUPPORTS_32BIT_KERNEL
1025 select CPU_SUPPORTS_64BIT_KERNEL
Ralf Baechleec28f302006-03-05 00:45:33 +00001026 select CPU_SUPPORTS_HIGHMEM
Ralf Baechle6e760c82005-07-06 12:08:11 +00001027 help
1028 Choose this option to build a kernel for release 1 or later of the
1029 MIPS64 architecture. Many modern embedded systems with a 64-bit
1030 MIPS processor are based on a MIPS64 processor. If you know the
1031 specific type of processor in your system, choose those that one
1032 otherwise CPU_MIPS64_R1 is a safe bet for any MIPS64 system.
Ralf Baechle1e5f1ca2005-07-12 14:51:22 +00001033 Release 2 of the MIPS64 architecture is available since several
1034 years so chances are you even have a MIPS64 Release 2 processor
1035 in which case you should choose CPU_MIPS64_R2 instead for better
1036 performance.
1037
1038config CPU_MIPS64_R2
1039 bool "MIPS64 Release 2"
Ralf Baechle7cf80532005-10-20 22:33:09 +01001040 depends on SYS_HAS_CPU_MIPS64_R2
Ralf Baechlef7062dd2006-04-24 14:58:53 +01001041 select CPU_HAS_LLSC
Ralf Baechle797798c2005-08-10 15:17:11 +00001042 select CPU_HAS_PREFETCH
Ralf Baechle1e5f1ca2005-07-12 14:51:22 +00001043 select CPU_SUPPORTS_32BIT_KERNEL
1044 select CPU_SUPPORTS_64BIT_KERNEL
Ralf Baechleec28f302006-03-05 00:45:33 +00001045 select CPU_SUPPORTS_HIGHMEM
Ralf Baechle1e5f1ca2005-07-12 14:51:22 +00001046 help
1047 Choose this option to build a kernel for release 2 or later of the
1048 MIPS64 architecture. Many modern embedded systems with a 64-bit
1049 MIPS processor are based on a MIPS64 processor. If you know the
1050 specific type of processor in your system, choose those that one
1051 otherwise CPU_MIPS64_R1 is a safe bet for any MIPS64 system.
Linus Torvalds1da177e2005-04-16 15:20:36 -07001052
1053config CPU_R3000
1054 bool "R3000"
Ralf Baechle7cf80532005-10-20 22:33:09 +01001055 depends on SYS_HAS_CPU_R3000
Ralf Baechlef7062dd2006-04-24 14:58:53 +01001056 select CPU_HAS_WB
Yoichi Yuasaed5ba2f2005-09-03 15:56:21 -07001057 select CPU_SUPPORTS_32BIT_KERNEL
Ralf Baechle797798c2005-08-10 15:17:11 +00001058 select CPU_SUPPORTS_HIGHMEM
Linus Torvalds1da177e2005-04-16 15:20:36 -07001059 help
1060 Please make sure to pick the right CPU type. Linux/MIPS is not
1061 designed to be generic, i.e. Kernels compiled for R3000 CPUs will
1062 *not* work on R4000 machines and vice versa. However, since most
1063 of the supported machines have an R4000 (or similar) CPU, R4x00
1064 might be a safe bet. If the resulting kernel does not work,
1065 try to recompile with R3000.
1066
1067config CPU_TX39XX
1068 bool "R39XX"
Ralf Baechle7cf80532005-10-20 22:33:09 +01001069 depends on SYS_HAS_CPU_TX39XX
Yoichi Yuasaed5ba2f2005-09-03 15:56:21 -07001070 select CPU_SUPPORTS_32BIT_KERNEL
Linus Torvalds1da177e2005-04-16 15:20:36 -07001071
1072config CPU_VR41XX
1073 bool "R41xx"
Ralf Baechle7cf80532005-10-20 22:33:09 +01001074 depends on SYS_HAS_CPU_VR41XX
Yoichi Yuasaed5ba2f2005-09-03 15:56:21 -07001075 select CPU_SUPPORTS_32BIT_KERNEL
1076 select CPU_SUPPORTS_64BIT_KERNEL
Linus Torvalds1da177e2005-04-16 15:20:36 -07001077 help
Ralf Baechle5e83d432005-10-29 19:32:41 +01001078 The options selects support for the NEC VR4100 series of processors.
Linus Torvalds1da177e2005-04-16 15:20:36 -07001079 Only choose this option if you have one of these processors as a
1080 kernel built with this option will not run on any other type of
1081 processor or vice versa.
1082
1083config CPU_R4300
1084 bool "R4300"
Ralf Baechle7cf80532005-10-20 22:33:09 +01001085 depends on SYS_HAS_CPU_R4300
Ralf Baechlef7062dd2006-04-24 14:58:53 +01001086 select CPU_HAS_LLSC
Yoichi Yuasaed5ba2f2005-09-03 15:56:21 -07001087 select CPU_SUPPORTS_32BIT_KERNEL
1088 select CPU_SUPPORTS_64BIT_KERNEL
Linus Torvalds1da177e2005-04-16 15:20:36 -07001089 help
1090 MIPS Technologies R4300-series processors.
1091
1092config CPU_R4X00
1093 bool "R4x00"
Ralf Baechle7cf80532005-10-20 22:33:09 +01001094 depends on SYS_HAS_CPU_R4X00
Ralf Baechlef7062dd2006-04-24 14:58:53 +01001095 select CPU_HAS_LLSC
Yoichi Yuasaed5ba2f2005-09-03 15:56:21 -07001096 select CPU_SUPPORTS_32BIT_KERNEL
1097 select CPU_SUPPORTS_64BIT_KERNEL
Linus Torvalds1da177e2005-04-16 15:20:36 -07001098 help
1099 MIPS Technologies R4000-series processors other than 4300, including
1100 the R4000, R4400, R4600, and 4700.
1101
1102config CPU_TX49XX
1103 bool "R49XX"
Ralf Baechle7cf80532005-10-20 22:33:09 +01001104 depends on SYS_HAS_CPU_TX49XX
Ralf Baechlef7062dd2006-04-24 14:58:53 +01001105 select CPU_HAS_LLSC
Atsushi Nemotode862b42006-03-17 12:59:22 +09001106 select CPU_HAS_PREFETCH
Yoichi Yuasaed5ba2f2005-09-03 15:56:21 -07001107 select CPU_SUPPORTS_32BIT_KERNEL
1108 select CPU_SUPPORTS_64BIT_KERNEL
Linus Torvalds1da177e2005-04-16 15:20:36 -07001109
1110config CPU_R5000
1111 bool "R5000"
Ralf Baechle7cf80532005-10-20 22:33:09 +01001112 depends on SYS_HAS_CPU_R5000
Ralf Baechlef7062dd2006-04-24 14:58:53 +01001113 select CPU_HAS_LLSC
Yoichi Yuasaed5ba2f2005-09-03 15:56:21 -07001114 select CPU_SUPPORTS_32BIT_KERNEL
1115 select CPU_SUPPORTS_64BIT_KERNEL
Linus Torvalds1da177e2005-04-16 15:20:36 -07001116 help
1117 MIPS Technologies R5000-series processors other than the Nevada.
1118
1119config CPU_R5432
1120 bool "R5432"
Ralf Baechle7cf80532005-10-20 22:33:09 +01001121 depends on SYS_HAS_CPU_R5432
Ralf Baechlef7062dd2006-04-24 14:58:53 +01001122 select CPU_HAS_LLSC
Ralf Baechle5e83d432005-10-29 19:32:41 +01001123 select CPU_SUPPORTS_32BIT_KERNEL
1124 select CPU_SUPPORTS_64BIT_KERNEL
Linus Torvalds1da177e2005-04-16 15:20:36 -07001125
1126config CPU_R6000
1127 bool "R6000"
Yoichi Yuasaed5ba2f2005-09-03 15:56:21 -07001128 depends on EXPERIMENTAL
Ralf Baechlef7062dd2006-04-24 14:58:53 +01001129 select CPU_HAS_LLSC
Ralf Baechle7cf80532005-10-20 22:33:09 +01001130 depends on SYS_HAS_CPU_R6000
Yoichi Yuasaed5ba2f2005-09-03 15:56:21 -07001131 select CPU_SUPPORTS_32BIT_KERNEL
Linus Torvalds1da177e2005-04-16 15:20:36 -07001132 help
1133 MIPS Technologies R6000 and R6000A series processors. Note these
Chris Dearmanc09b47d2006-06-20 17:15:20 +01001134 processors are extremely rare and the support for them is incomplete.
Linus Torvalds1da177e2005-04-16 15:20:36 -07001135
1136config CPU_NEVADA
1137 bool "RM52xx"
Ralf Baechle7cf80532005-10-20 22:33:09 +01001138 depends on SYS_HAS_CPU_NEVADA
Ralf Baechlef7062dd2006-04-24 14:58:53 +01001139 select CPU_HAS_LLSC
Yoichi Yuasaed5ba2f2005-09-03 15:56:21 -07001140 select CPU_SUPPORTS_32BIT_KERNEL
1141 select CPU_SUPPORTS_64BIT_KERNEL
Linus Torvalds1da177e2005-04-16 15:20:36 -07001142 help
1143 QED / PMC-Sierra RM52xx-series ("Nevada") processors.
1144
1145config CPU_R8000
1146 bool "R8000"
Yoichi Yuasaed5ba2f2005-09-03 15:56:21 -07001147 depends on EXPERIMENTAL
Ralf Baechle7cf80532005-10-20 22:33:09 +01001148 depends on SYS_HAS_CPU_R8000
Ralf Baechlef7062dd2006-04-24 14:58:53 +01001149 select CPU_HAS_LLSC
Ralf Baechle5e83d432005-10-29 19:32:41 +01001150 select CPU_HAS_PREFETCH
Yoichi Yuasaed5ba2f2005-09-03 15:56:21 -07001151 select CPU_SUPPORTS_64BIT_KERNEL
Linus Torvalds1da177e2005-04-16 15:20:36 -07001152 help
1153 MIPS Technologies R8000 processors. Note these processors are
1154 uncommon and the support for them is incomplete.
1155
1156config CPU_R10000
1157 bool "R10000"
Ralf Baechle7cf80532005-10-20 22:33:09 +01001158 depends on SYS_HAS_CPU_R10000
Ralf Baechlef7062dd2006-04-24 14:58:53 +01001159 select CPU_HAS_LLSC
Ralf Baechle5e83d432005-10-29 19:32:41 +01001160 select CPU_HAS_PREFETCH
Yoichi Yuasaed5ba2f2005-09-03 15:56:21 -07001161 select CPU_SUPPORTS_32BIT_KERNEL
1162 select CPU_SUPPORTS_64BIT_KERNEL
Ralf Baechle797798c2005-08-10 15:17:11 +00001163 select CPU_SUPPORTS_HIGHMEM
Linus Torvalds1da177e2005-04-16 15:20:36 -07001164 help
1165 MIPS Technologies R10000-series processors.
1166
1167config CPU_RM7000
1168 bool "RM7000"
Ralf Baechle7cf80532005-10-20 22:33:09 +01001169 depends on SYS_HAS_CPU_RM7000
Ralf Baechlef7062dd2006-04-24 14:58:53 +01001170 select CPU_HAS_LLSC
Ralf Baechle5e83d432005-10-29 19:32:41 +01001171 select CPU_HAS_PREFETCH
Yoichi Yuasaed5ba2f2005-09-03 15:56:21 -07001172 select CPU_SUPPORTS_32BIT_KERNEL
1173 select CPU_SUPPORTS_64BIT_KERNEL
Ralf Baechle797798c2005-08-10 15:17:11 +00001174 select CPU_SUPPORTS_HIGHMEM
Linus Torvalds1da177e2005-04-16 15:20:36 -07001175
1176config CPU_RM9000
1177 bool "RM9000"
Ralf Baechle7cf80532005-10-20 22:33:09 +01001178 depends on SYS_HAS_CPU_RM9000
Ralf Baechlef7062dd2006-04-24 14:58:53 +01001179 select CPU_HAS_LLSC
Ralf Baechle5e83d432005-10-29 19:32:41 +01001180 select CPU_HAS_PREFETCH
Yoichi Yuasaed5ba2f2005-09-03 15:56:21 -07001181 select CPU_SUPPORTS_32BIT_KERNEL
1182 select CPU_SUPPORTS_64BIT_KERNEL
Ralf Baechle797798c2005-08-10 15:17:11 +00001183 select CPU_SUPPORTS_HIGHMEM
Ralf Baechle0004a9d2006-10-31 03:45:07 +00001184 select WEAK_ORDERING
Linus Torvalds1da177e2005-04-16 15:20:36 -07001185
1186config CPU_SB1
1187 bool "SB1"
Ralf Baechle7cf80532005-10-20 22:33:09 +01001188 depends on SYS_HAS_CPU_SB1
Ralf Baechlef7062dd2006-04-24 14:58:53 +01001189 select CPU_HAS_LLSC
Yoichi Yuasaed5ba2f2005-09-03 15:56:21 -07001190 select CPU_SUPPORTS_32BIT_KERNEL
1191 select CPU_SUPPORTS_64BIT_KERNEL
Ralf Baechle797798c2005-08-10 15:17:11 +00001192 select CPU_SUPPORTS_HIGHMEM
Ralf Baechle0004a9d2006-10-31 03:45:07 +00001193 select WEAK_ORDERING
Linus Torvalds1da177e2005-04-16 15:20:36 -07001194
1195endchoice
1196
Fuxin Zhang2a21c732007-06-06 14:52:43 +08001197config SYS_HAS_CPU_LOONGSON2
1198 bool
1199
Ralf Baechle7cf80532005-10-20 22:33:09 +01001200config SYS_HAS_CPU_MIPS32_R1
1201 bool
1202
1203config SYS_HAS_CPU_MIPS32_R2
1204 bool
1205
1206config SYS_HAS_CPU_MIPS64_R1
1207 bool
1208
1209config SYS_HAS_CPU_MIPS64_R2
1210 bool
1211
1212config SYS_HAS_CPU_R3000
1213 bool
1214
1215config SYS_HAS_CPU_TX39XX
1216 bool
1217
1218config SYS_HAS_CPU_VR41XX
1219 bool
1220
1221config SYS_HAS_CPU_R4300
1222 bool
1223
1224config SYS_HAS_CPU_R4X00
1225 bool
1226
1227config SYS_HAS_CPU_TX49XX
1228 bool
1229
1230config SYS_HAS_CPU_R5000
1231 bool
1232
1233config SYS_HAS_CPU_R5432
1234 bool
1235
1236config SYS_HAS_CPU_R6000
1237 bool
1238
1239config SYS_HAS_CPU_NEVADA
1240 bool
1241
1242config SYS_HAS_CPU_R8000
1243 bool
1244
1245config SYS_HAS_CPU_R10000
1246 bool
1247
1248config SYS_HAS_CPU_RM7000
1249 bool
1250
1251config SYS_HAS_CPU_RM9000
1252 bool
1253
1254config SYS_HAS_CPU_SB1
1255 bool
1256
Ralf Baechle17099b12007-07-14 13:24:05 +01001257#
1258# CPU may reorder R->R, R->W, W->R, W->W
1259# Reordering beyond LL and SC is handled in WEAK_REORDERING_BEYOND_LLSC
1260#
Ralf Baechle0004a9d2006-10-31 03:45:07 +00001261config WEAK_ORDERING
1262 bool
Ralf Baechle17099b12007-07-14 13:24:05 +01001263
1264#
1265# CPU may reorder reads and writes beyond LL/SC
1266# CPU may reorder R->LL, R->LL, W->LL, W->LL, R->SC, R->SC, W->SC, W->SC
1267#
1268config WEAK_REORDERING_BEYOND_LLSC
1269 bool
Ralf Baechle5e83d432005-10-29 19:32:41 +01001270endmenu
1271
1272#
Chris Dearmanc09b47d2006-06-20 17:15:20 +01001273# These two indicate any level of the MIPS32 and MIPS64 architecture
Ralf Baechle5e83d432005-10-29 19:32:41 +01001274#
1275config CPU_MIPS32
1276 bool
1277 default y if CPU_MIPS32_R1 || CPU_MIPS32_R2
1278
1279config CPU_MIPS64
1280 bool
1281 default y if CPU_MIPS64_R1 || CPU_MIPS64_R2
1282
1283#
Chris Dearmanc09b47d2006-06-20 17:15:20 +01001284# These two indicate the revision of the architecture, either Release 1 or Release 2
Ralf Baechle5e83d432005-10-29 19:32:41 +01001285#
1286config CPU_MIPSR1
1287 bool
1288 default y if CPU_MIPS32_R1 || CPU_MIPS64_R1
1289
1290config CPU_MIPSR2
1291 bool
1292 default y if CPU_MIPS32_R2 || CPU_MIPS64_R2
1293
1294config SYS_SUPPORTS_32BIT_KERNEL
1295 bool
1296config SYS_SUPPORTS_64BIT_KERNEL
1297 bool
1298config CPU_SUPPORTS_32BIT_KERNEL
1299 bool
1300config CPU_SUPPORTS_64BIT_KERNEL
1301 bool
1302
David Daney8192c9e2008-09-23 00:04:26 -07001303#
1304# Set to y for ptrace access to watch registers.
1305#
1306config HARDWARE_WATCHPOINTS
1307 bool
1308 default y if CPU_MIPS32 || CPU_MIPS64
1309
Ralf Baechle5e83d432005-10-29 19:32:41 +01001310menu "Kernel type"
1311
1312choice
1313
1314 prompt "Kernel code model"
1315 help
1316 You should only select this option if you have a workload that
1317 actually benefits from 64-bit processing or if your machine has
1318 large memory. You will only be presented a single option in this
1319 menu if your system does not support both 32-bit and 64-bit kernels.
1320
1321config 32BIT
1322 bool "32-bit kernel"
1323 depends on CPU_SUPPORTS_32BIT_KERNEL && SYS_SUPPORTS_32BIT_KERNEL
1324 select TRAD_SIGNALS
1325 help
1326 Select this option if you want to build a 32-bit kernel.
1327config 64BIT
1328 bool "64-bit kernel"
1329 depends on CPU_SUPPORTS_64BIT_KERNEL && SYS_SUPPORTS_64BIT_KERNEL
1330 help
1331 Select this option if you want to build a 64-bit kernel.
1332
1333endchoice
1334
Linus Torvalds1da177e2005-04-16 15:20:36 -07001335choice
1336 prompt "Kernel page size"
1337 default PAGE_SIZE_4KB
1338
1339config PAGE_SIZE_4KB
1340 bool "4kB"
1341 help
1342 This option select the standard 4kB Linux page size. On some
1343 R3000-family processors this is the only available page size. Using
1344 4kB page size will minimize memory consumption and is therefore
1345 recommended for low memory systems.
1346
1347config PAGE_SIZE_8KB
1348 bool "8kB"
1349 depends on EXPERIMENTAL && CPU_R8000
1350 help
1351 Using 8kB page size will result in higher performance kernel at
1352 the price of higher memory consumption. This option is available
1353 only on the R8000 processor. Not that at the time of this writing
1354 this option is still high experimental; there are also issues with
1355 compatibility of user applications.
1356
1357config PAGE_SIZE_16KB
1358 bool "16kB"
Ralf Baechle714bfad2006-05-17 14:04:30 +01001359 depends on !CPU_R3000 && !CPU_TX39XX
Linus Torvalds1da177e2005-04-16 15:20:36 -07001360 help
1361 Using 16kB page size will result in higher performance kernel at
1362 the price of higher memory consumption. This option is available on
Ralf Baechle714bfad2006-05-17 14:04:30 +01001363 all non-R3000 family processors. Note that you will need a suitable
1364 Linux distribution to support this.
Linus Torvalds1da177e2005-04-16 15:20:36 -07001365
1366config PAGE_SIZE_64KB
1367 bool "64kB"
1368 depends on EXPERIMENTAL && !CPU_R3000 && !CPU_TX39XX
1369 help
1370 Using 64kB page size will result in higher performance kernel at
1371 the price of higher memory consumption. This option is available on
1372 all non-R3000 family processor. Not that at the time of this
Ralf Baechle714bfad2006-05-17 14:04:30 +01001373 writing this option is still high experimental.
Linus Torvalds1da177e2005-04-16 15:20:36 -07001374
1375endchoice
1376
1377config BOARD_SCACHE
1378 bool
1379
1380config IP22_CPU_SCACHE
1381 bool
1382 select BOARD_SCACHE
1383
Chris Dearman9318c512006-06-20 17:15:20 +01001384#
1385# Support for a MIPS32 / MIPS64 style S-caches
1386#
1387config MIPS_CPU_SCACHE
1388 bool
1389 select BOARD_SCACHE
1390
Linus Torvalds1da177e2005-04-16 15:20:36 -07001391config R5000_CPU_SCACHE
1392 bool
1393 select BOARD_SCACHE
1394
1395config RM7000_CPU_SCACHE
1396 bool
1397 select BOARD_SCACHE
1398
1399config SIBYTE_DMA_PAGEOPS
1400 bool "Use DMA to clear/copy pages"
1401 depends on CPU_SB1
1402 help
1403 Instead of using the CPU to zero and copy pages, use a Data Mover
1404 channel. These DMA channels are otherwise unused by the standard
1405 SiByte Linux port. Seems to give a small performance benefit.
1406
1407config CPU_HAS_PREFETCH
Ralf Baechlec8094b52005-08-05 14:28:54 +00001408 bool
Linus Torvalds1da177e2005-04-16 15:20:36 -07001409
Ralf Baechle340ee4b2005-08-17 17:44:08 +00001410choice
1411 prompt "MIPS MT options"
Ralf Baechlef41ae0b2006-06-05 17:24:46 +01001412
1413config MIPS_MT_DISABLED
1414 bool "Disable multithreading support."
1415 help
1416 Use this option if your workload can't take advantage of
1417 MIPS hardware multithreading support. On systems that don't have
1418 the option of an MT-enabled processor this option will be the only
1419 option in this menu.
Ralf Baechle340ee4b2005-08-17 17:44:08 +00001420
Ralf Baechle59d6ab82006-10-06 17:36:20 +01001421config MIPS_MT_SMP
1422 bool "Use 1 TC on each available VPE for SMP"
1423 depends on SYS_SUPPORTS_MULTITHREADING
1424 select CPU_MIPSR2_IRQ_VI
Chris Dearmand725cf32007-05-08 14:05:39 +01001425 select CPU_MIPSR2_IRQ_EI
Ralf Baechle59d6ab82006-10-06 17:36:20 +01001426 select MIPS_MT
Ralf Baechlef510aa32007-03-16 21:58:37 +00001427 select NR_CPUS_DEFAULT_2
Ralf Baechle59d6ab82006-10-06 17:36:20 +01001428 select SMP
Ralf Baechle0ab7aef2007-03-02 20:42:04 +00001429 select SYS_SUPPORTS_SCHED_SMT if SMP
Ralf Baechle59d6ab82006-10-06 17:36:20 +01001430 select SYS_SUPPORTS_SMP
Ralf Baechle87353d82007-11-19 12:23:51 +00001431 select SMP_UP
Ralf Baechle59d6ab82006-10-06 17:36:20 +01001432 help
1433 This is a kernel model which is also known a VSMP or lately
1434 has been marketesed into SMVP.
1435
Ralf Baechle41c594a2006-04-05 09:45:45 +01001436config MIPS_MT_SMTC
1437 bool "SMTC: Use all TCs on all VPEs for SMP"
Ralf Baechlef41ae0b2006-06-05 17:24:46 +01001438 depends on CPU_MIPS32_R2
1439 #depends on CPU_MIPS64_R2 # once there is hardware ...
1440 depends on SYS_SUPPORTS_MULTITHREADING
Ralf Baechlef7062dd2006-04-24 14:58:53 +01001441 select CPU_MIPSR2_IRQ_VI
Chris Dearmand725cf32007-05-08 14:05:39 +01001442 select CPU_MIPSR2_IRQ_EI
Ralf Baechlef41ae0b2006-06-05 17:24:46 +01001443 select MIPS_MT
Ralf Baechle130e2fb2007-02-06 16:53:15 +00001444 select NR_CPUS_DEFAULT_8
Ralf Baechle41c594a2006-04-05 09:45:45 +01001445 select SMP
Ralf Baechle73b76c72006-08-15 19:36:40 +01001446 select SYS_SUPPORTS_SMP
Ralf Baechle87353d82007-11-19 12:23:51 +00001447 select SMP_UP
Ralf Baechlef41ae0b2006-06-05 17:24:46 +01001448 help
1449 This is a kernel model which is known a SMTC or lately has been
1450 marketesed into SMVP.
Ralf Baechle41c594a2006-04-05 09:45:45 +01001451
Ralf Baechle340ee4b2005-08-17 17:44:08 +00001452endchoice
1453
Ralf Baechlef41ae0b2006-06-05 17:24:46 +01001454config MIPS_MT
1455 bool
1456
Ralf Baechle0ab7aef2007-03-02 20:42:04 +00001457config SCHED_SMT
1458 bool "SMT (multithreading) scheduler support"
1459 depends on SYS_SUPPORTS_SCHED_SMT
1460 default n
1461 help
1462 SMT scheduler support improves the CPU scheduler's decision making
1463 when dealing with MIPS MT enabled cores at a cost of slightly
1464 increased overhead in some places. If unsure say N here.
1465
1466config SYS_SUPPORTS_SCHED_SMT
1467 bool
1468
1469
Ralf Baechlef41ae0b2006-06-05 17:24:46 +01001470config SYS_SUPPORTS_MULTITHREADING
1471 bool
1472
Ralf Baechlef088fc82006-04-05 09:45:47 +01001473config MIPS_MT_FPAFF
1474 bool "Dynamic FPU affinity for FP-intensive threads"
Ralf Baechlef088fc82006-04-05 09:45:47 +01001475 default y
Ralf Baechle07cc0c92007-07-27 19:31:10 +01001476 depends on MIPS_MT_SMP || MIPS_MT_SMTC
1477
1478config MIPS_VPE_LOADER
1479 bool "VPE loader support."
1480 depends on SYS_SUPPORTS_MULTITHREADING
1481 select CPU_MIPSR2_IRQ_VI
1482 select CPU_MIPSR2_IRQ_EI
Ralf Baechle07cc0c92007-07-27 19:31:10 +01001483 select MIPS_MT
1484 help
1485 Includes a loader for loading an elf relocatable object
1486 onto another VPE and running it.
Ralf Baechlef088fc82006-04-05 09:45:47 +01001487
Kevin D. Kissell0db34212007-07-12 16:21:08 +01001488config MIPS_MT_SMTC_IM_BACKSTOP
1489 bool "Use per-TC register bits as backstop for inhibited IM bits"
1490 depends on MIPS_MT_SMTC
Kevin D. Kissell8531a352008-09-09 21:48:52 +02001491 default n
Kevin D. Kissell0db34212007-07-12 16:21:08 +01001492 help
1493 To support multiple TC microthreads acting as "CPUs" within
1494 a VPE, VPE-wide interrupt mask bits must be specially manipulated
1495 during interrupt handling. To support legacy drivers and interrupt
1496 controller management code, SMTC has a "backstop" to track and
1497 if necessary restore the interrupt mask. This has some performance
Kevin D. Kissell8531a352008-09-09 21:48:52 +02001498 impact on interrupt service overhead.
Kevin D. Kissell0db34212007-07-12 16:21:08 +01001499
Kevin D. Kissellf571eff2007-08-03 19:38:03 +02001500config MIPS_MT_SMTC_IRQAFF
1501 bool "Support IRQ affinity API"
1502 depends on MIPS_MT_SMTC
1503 default n
1504 help
1505 Enables SMP IRQ affinity API (/proc/irq/*/smp_affinity, etc.)
1506 for SMTC Linux kernel. Requires platform support, of which
1507 an example can be found in the MIPS kernel i8259 and Malta
Kevin D. Kissell8531a352008-09-09 21:48:52 +02001508 platform code. Adds some overhead to interrupt dispatch, and
1509 should be used only if you know what you are doing.
Kevin D. Kissellf571eff2007-08-03 19:38:03 +02001510
Ralf Baechlee01402b2005-07-14 15:57:16 +00001511config MIPS_VPE_LOADER_TOM
1512 bool "Load VPE program into memory hidden from linux"
1513 depends on MIPS_VPE_LOADER
1514 default y
1515 help
1516 The loader can use memory that is present but has been hidden from
1517 Linux using the kernel command line option "mem=xxMB". It's up to
1518 you to ensure the amount you put in the option and the space your
1519 program requires is less or equal to the amount physically present.
1520
1521# this should possibly be in drivers/char, but it is rather cpu related. Hmmm
1522config MIPS_VPE_APSP_API
Ralf Baechle5e83d432005-10-29 19:32:41 +01001523 bool "Enable support for AP/SP API (RTLX)"
1524 depends on MIPS_VPE_LOADER
1525 help
Ralf Baechlee01402b2005-07-14 15:57:16 +00001526
Ralf Baechle26009902006-04-05 09:45:45 +01001527config MIPS_APSP_KSPD
1528 bool "Enable KSPD"
1529 depends on MIPS_VPE_APSP_API
1530 default y
1531 help
1532 KSPD is a kernel daemon that accepts syscall requests from the SP
1533 side, actions them and returns the results. It also handles the
1534 "exit" syscall notifying other kernel modules the SP program is
1535 exiting. You probably want to say yes here.
1536
Ralf Baechle4a16ff42008-10-04 00:06:29 +01001537config MIPS_CMP
1538 bool "MIPS CMP framework support"
1539 depends on SYS_SUPPORTS_MIPS_CMP
1540 select SYNC_R4K if BROKEN
1541 select SYS_SUPPORTS_SMP
1542 select SYS_SUPPORTS_SCHED_SMT if SMP
1543 select WEAK_ORDERING
1544 default n
1545 help
1546 This is a placeholder option for the GCMP work. It will need to
1547 be handled differently...
1548
Linus Torvalds1da177e2005-04-16 15:20:36 -07001549config SB1_PASS_1_WORKAROUNDS
1550 bool
1551 depends on CPU_SB1_PASS_1
1552 default y
1553
1554config SB1_PASS_2_WORKAROUNDS
1555 bool
1556 depends on CPU_SB1 && (CPU_SB1_PASS_2_2 || CPU_SB1_PASS_2)
1557 default y
1558
1559config SB1_PASS_2_1_WORKAROUNDS
1560 bool
1561 depends on CPU_SB1 && CPU_SB1_PASS_2
1562 default y
1563
1564config 64BIT_PHYS_ADDR
Ralf Baechled806cb22007-08-02 00:36:08 +01001565 bool
Linus Torvalds1da177e2005-04-16 15:20:36 -07001566
Linus Torvalds1da177e2005-04-16 15:20:36 -07001567config CPU_HAS_LLSC
Ralf Baechlef7062dd2006-04-24 14:58:53 +01001568 bool
Linus Torvalds1da177e2005-04-16 15:20:36 -07001569
Franck Bui-Huu9693a852007-02-02 17:41:47 +01001570config CPU_HAS_SMARTMIPS
1571 depends on SYS_SUPPORTS_SMARTMIPS
1572 bool "Support for the SmartMIPS ASE"
1573 help
1574 SmartMIPS is a extension of the MIPS32 architecture aimed at
1575 increased security at both hardware and software level for
1576 smartcards. Enabling this option will allow proper use of the
1577 SmartMIPS instructions by Linux applications. However a kernel with
1578 this option will not work on a MIPS core without SmartMIPS core. If
1579 you don't know you probably don't have SmartMIPS and should say N
1580 here.
1581
Linus Torvalds1da177e2005-04-16 15:20:36 -07001582config CPU_HAS_WB
Ralf Baechlef7062dd2006-04-24 14:58:53 +01001583 bool
Ralf Baechlee01402b2005-07-14 15:57:16 +00001584
Ralf Baechlef41ae0b2006-06-05 17:24:46 +01001585#
1586# Vectored interrupt mode is an R2 feature
1587#
Ralf Baechlee01402b2005-07-14 15:57:16 +00001588config CPU_MIPSR2_IRQ_VI
Ralf Baechlef41ae0b2006-06-05 17:24:46 +01001589 bool
Ralf Baechlee01402b2005-07-14 15:57:16 +00001590
Ralf Baechlef41ae0b2006-06-05 17:24:46 +01001591#
1592# Extended interrupt mode is an R2 feature
1593#
Ralf Baechlee01402b2005-07-14 15:57:16 +00001594config CPU_MIPSR2_IRQ_EI
Ralf Baechlef41ae0b2006-06-05 17:24:46 +01001595 bool
Ralf Baechlee01402b2005-07-14 15:57:16 +00001596
Linus Torvalds1da177e2005-04-16 15:20:36 -07001597config CPU_HAS_SYNC
1598 bool
1599 depends on !CPU_R3000
1600 default y
1601
Ralf Baechleea580402007-10-11 23:46:09 +01001602config GENERIC_CLOCKEVENTS_BROADCAST
1603 bool
1604
Linus Torvalds1da177e2005-04-16 15:20:36 -07001605#
Maciej W. Rozycki20d60d92007-10-23 12:43:11 +01001606# CPU non-features
1607#
1608config CPU_DADDI_WORKAROUNDS
1609 bool
1610
1611config CPU_R4000_WORKAROUNDS
1612 bool
1613 select CPU_R4400_WORKAROUNDS
1614
1615config CPU_R4400_WORKAROUNDS
1616 bool
1617
1618#
Ralf Baechle797798c2005-08-10 15:17:11 +00001619# Use the generic interrupt handling code in kernel/irq/:
1620#
1621config GENERIC_HARDIRQS
1622 bool
1623 default y
1624
1625config GENERIC_IRQ_PROBE
1626 bool
1627 default y
1628
Ingo Molnar0d7012a2006-06-29 02:24:43 -07001629config IRQ_PER_CPU
Ingo Molnar0d7012a2006-06-29 02:24:43 -07001630 bool
Ingo Molnar0d7012a2006-06-29 02:24:43 -07001631
Ralf Baechle797798c2005-08-10 15:17:11 +00001632#
Linus Torvalds1da177e2005-04-16 15:20:36 -07001633# - Highmem only makes sense for the 32-bit kernel.
1634# - The current highmem code will only work properly on physically indexed
1635# caches such as R3000, SB1, R7000 or those that look like they're virtually
1636# indexed such as R4000/R4400 SC and MC versions or R10000. So for the
1637# moment we protect the user and offer the highmem option only on machines
1638# where it's known to be safe. This will not offer highmem on a few systems
1639# such as MIPS32 and MIPS64 CPUs which may have virtual and physically
1640# indexed CPUs but we're playing safe.
Ralf Baechle797798c2005-08-10 15:17:11 +00001641# - We use SYS_SUPPORTS_HIGHMEM to offer highmem only for systems where we
1642# know they might have memory configurations that could make use of highmem
1643# support.
Linus Torvalds1da177e2005-04-16 15:20:36 -07001644#
1645config HIGHMEM
1646 bool "High Memory Support"
Ralf Baechle797798c2005-08-10 15:17:11 +00001647 depends on 32BIT && CPU_SUPPORTS_HIGHMEM && SYS_SUPPORTS_HIGHMEM
1648
1649config CPU_SUPPORTS_HIGHMEM
1650 bool
1651
1652config SYS_SUPPORTS_HIGHMEM
1653 bool
Linus Torvalds1da177e2005-04-16 15:20:36 -07001654
Franck Bui-Huu9693a852007-02-02 17:41:47 +01001655config SYS_SUPPORTS_SMARTMIPS
1656 bool
1657
Yoichi Yuasab4819b52005-06-25 14:54:31 -07001658config ARCH_FLATMEM_ENABLE
1659 def_bool y
1660 depends on !NUMA
1661
Ralf Baechled8cb4e12006-06-11 23:03:08 +01001662config ARCH_DISCONTIGMEM_ENABLE
1663 bool
1664 default y if SGI_IP27
1665 help
David Sterba3dde6ad2007-05-09 07:12:20 +02001666 Say Y to support efficient handling of discontiguous physical memory,
Ralf Baechled8cb4e12006-06-11 23:03:08 +01001667 for architectures which are either NUMA (Non-Uniform Memory Access)
1668 or have huge holes in the physical address space for other reasons.
1669 See <file:Documentation/vm/numa> for more.
1670
Ralf Baechlecce335ae2007-11-03 02:05:43 +00001671config ARCH_POPULATES_NODE_MAP
1672 def_bool y
1673
Atsushi Nemotob1c6cd42006-07-03 00:09:47 +09001674config ARCH_SPARSEMEM_ENABLE
1675 bool
Atsushi Nemoto7de58fa2006-07-05 01:22:44 +09001676 select SPARSEMEM_STATIC
Atsushi Nemoto31473742006-07-03 00:09:47 +09001677
Ralf Baechled8cb4e12006-06-11 23:03:08 +01001678config NUMA
1679 bool "NUMA Support"
1680 depends on SYS_SUPPORTS_NUMA
1681 help
1682 Say Y to compile the kernel to support NUMA (Non-Uniform Memory
1683 Access). This option improves performance on systems with more
1684 than two nodes; on two node systems it is generally better to
1685 leave it disabled; on single node systems disable this option
1686 disabled.
1687
1688config SYS_SUPPORTS_NUMA
1689 bool
1690
Yasunori Gotoc80d79d2006-04-10 22:53:53 -07001691config NODES_SHIFT
1692 int
1693 default "6"
1694 depends on NEED_MULTIPLE_NODES
1695
Yoichi Yuasab4819b52005-06-25 14:54:31 -07001696source "mm/Kconfig"
1697
Linus Torvalds1da177e2005-04-16 15:20:36 -07001698config SMP
1699 bool "Multi-Processing support"
Ralf Baechlee73ea272006-06-04 11:51:46 +01001700 depends on SYS_SUPPORTS_SMP
Ralf Baechleb4b30a52006-08-03 17:34:24 +01001701 select IRQ_PER_CPU
Jens Axboe2f304c02008-06-17 10:45:23 +02001702 select USE_GENERIC_SMP_HELPERS
Ralf Baechlee73ea272006-06-04 11:51:46 +01001703 help
Linus Torvalds1da177e2005-04-16 15:20:36 -07001704 This enables support for systems with more than one CPU. If you have
1705 a system with only one CPU, like most personal computers, say N. If
1706 you have a system with more than one CPU, say Y.
1707
1708 If you say N here, the kernel will run on single and multiprocessor
1709 machines, but will use only one CPU of a multiprocessor machine. If
1710 you say Y here, the kernel will run on many, but not all,
1711 singleprocessor machines. On a singleprocessor machine, the kernel
1712 will run faster if you say N here.
1713
1714 People using multiprocessor machines who say Y here should also say
1715 Y to "Enhanced Real Time Clock Support", below.
1716
Adrian Bunk03502fa2008-02-03 15:50:21 +02001717 See also the SMP-HOWTO available at
1718 <http://www.tldp.org/docs.html#howto>.
Linus Torvalds1da177e2005-04-16 15:20:36 -07001719
1720 If you don't know what to do here, say N.
1721
Ralf Baechle87353d82007-11-19 12:23:51 +00001722config SMP_UP
1723 bool
1724
Ralf Baechle4a16ff42008-10-04 00:06:29 +01001725config SYS_SUPPORTS_MIPS_CMP
1726 bool
1727
Ralf Baechlee73ea272006-06-04 11:51:46 +01001728config SYS_SUPPORTS_SMP
1729 bool
1730
Atsushi Nemoto72ede9b2007-03-18 01:01:39 +09001731config NR_CPUS_DEFAULT_1
1732 bool
1733
Ralf Baechle130e2fb2007-02-06 16:53:15 +00001734config NR_CPUS_DEFAULT_2
1735 bool
1736
1737config NR_CPUS_DEFAULT_4
1738 bool
1739
1740config NR_CPUS_DEFAULT_8
1741 bool
1742
1743config NR_CPUS_DEFAULT_16
1744 bool
1745
1746config NR_CPUS_DEFAULT_32
1747 bool
1748
1749config NR_CPUS_DEFAULT_64
1750 bool
1751
Linus Torvalds1da177e2005-04-16 15:20:36 -07001752config NR_CPUS
1753 int "Maximum number of CPUs (2-64)"
Atsushi Nemoto72ede9b2007-03-18 01:01:39 +09001754 range 1 64 if NR_CPUS_DEFAULT_1
Linus Torvalds1da177e2005-04-16 15:20:36 -07001755 depends on SMP
Atsushi Nemoto72ede9b2007-03-18 01:01:39 +09001756 default "1" if NR_CPUS_DEFAULT_1
Ralf Baechle130e2fb2007-02-06 16:53:15 +00001757 default "2" if NR_CPUS_DEFAULT_2
1758 default "4" if NR_CPUS_DEFAULT_4
1759 default "8" if NR_CPUS_DEFAULT_8
1760 default "16" if NR_CPUS_DEFAULT_16
1761 default "32" if NR_CPUS_DEFAULT_32
1762 default "64" if NR_CPUS_DEFAULT_64
Linus Torvalds1da177e2005-04-16 15:20:36 -07001763 help
1764 This allows you to specify the maximum number of CPUs which this
1765 kernel will support. The maximum supported value is 32 for 32-bit
1766 kernel and 64 for 64-bit kernels; the minimum value which makes
Atsushi Nemoto72ede9b2007-03-18 01:01:39 +09001767 sense is 1 for Qemu (useful only for kernel debugging purposes)
1768 and 2 for all others.
Linus Torvalds1da177e2005-04-16 15:20:36 -07001769
1770 This is purely to save memory - each supported CPU adds
Atsushi Nemoto72ede9b2007-03-18 01:01:39 +09001771 approximately eight kilobytes to the kernel image. For best
1772 performance should round up your number of processors to the next
1773 power of two.
Linus Torvalds1da177e2005-04-16 15:20:36 -07001774
Atsushi Nemotoc4eee282007-11-12 01:05:16 +09001775source "kernel/time/Kconfig"
1776
Atsushi Nemoto1723b4a2006-06-20 00:19:13 +09001777#
1778# Timer Interrupt Frequency Configuration
1779#
1780
1781choice
1782 prompt "Timer frequency"
1783 default HZ_250
1784 help
1785 Allows the configuration of the timer frequency.
1786
1787 config HZ_48
Ralf Baechle0f873582008-02-25 16:55:29 +00001788 bool "48 HZ" if SYS_SUPPORTS_48HZ || SYS_SUPPORTS_ARBIT_HZ
Atsushi Nemoto1723b4a2006-06-20 00:19:13 +09001789
1790 config HZ_100
1791 bool "100 HZ" if SYS_SUPPORTS_100HZ || SYS_SUPPORTS_ARBIT_HZ
1792
1793 config HZ_128
1794 bool "128 HZ" if SYS_SUPPORTS_128HZ || SYS_SUPPORTS_ARBIT_HZ
1795
1796 config HZ_250
1797 bool "250 HZ" if SYS_SUPPORTS_250HZ || SYS_SUPPORTS_ARBIT_HZ
1798
1799 config HZ_256
1800 bool "256 HZ" if SYS_SUPPORTS_256HZ || SYS_SUPPORTS_ARBIT_HZ
1801
1802 config HZ_1000
1803 bool "1000 HZ" if SYS_SUPPORTS_1000HZ || SYS_SUPPORTS_ARBIT_HZ
1804
1805 config HZ_1024
1806 bool "1024 HZ" if SYS_SUPPORTS_1024HZ || SYS_SUPPORTS_ARBIT_HZ
1807
1808endchoice
1809
1810config SYS_SUPPORTS_48HZ
1811 bool
1812
1813config SYS_SUPPORTS_100HZ
1814 bool
1815
1816config SYS_SUPPORTS_128HZ
1817 bool
1818
1819config SYS_SUPPORTS_250HZ
1820 bool
1821
1822config SYS_SUPPORTS_256HZ
1823 bool
1824
1825config SYS_SUPPORTS_1000HZ
1826 bool
1827
1828config SYS_SUPPORTS_1024HZ
1829 bool
1830
1831config SYS_SUPPORTS_ARBIT_HZ
1832 bool
1833 default y if !SYS_SUPPORTS_48HZ && !SYS_SUPPORTS_100HZ && \
1834 !SYS_SUPPORTS_128HZ && !SYS_SUPPORTS_250HZ && \
1835 !SYS_SUPPORTS_256HZ && !SYS_SUPPORTS_1000HZ && \
1836 !SYS_SUPPORTS_1024HZ
1837
1838config HZ
1839 int
1840 default 48 if HZ_48
1841 default 100 if HZ_100
1842 default 128 if HZ_128
1843 default 250 if HZ_250
1844 default 256 if HZ_256
1845 default 1000 if HZ_1000
1846 default 1024 if HZ_1024
1847
Ralf Baechlee80de852005-07-11 20:45:51 +00001848source "kernel/Kconfig.preempt"
Linus Torvalds1da177e2005-04-16 15:20:36 -07001849
Linus Torvalds1da177e2005-04-16 15:20:36 -07001850config MIPS_INSANE_LARGE
1851 bool "Support for large 64-bit configurations"
Ralf Baechle875d43e2005-09-03 15:56:16 -07001852 depends on CPU_R10000 && 64BIT
Linus Torvalds1da177e2005-04-16 15:20:36 -07001853 help
1854 MIPS R10000 does support a 44 bit / 16TB address space as opposed to
1855 previous 64-bit processors which only supported 40 bit / 1TB. If you
1856 need processes of more than 1TB virtual address space, say Y here.
1857 This will result in additional memory usage, so it is not
1858 recommended for normal users.
1859
Atsushi Nemotoea6e9422007-01-16 23:29:11 +09001860config KEXEC
1861 bool "Kexec system call (EXPERIMENTAL)"
1862 depends on EXPERIMENTAL
1863 help
1864 kexec is a system call that implements the ability to shutdown your
1865 current kernel, and to start another kernel. It is like a reboot
David Sterba3dde6ad2007-05-09 07:12:20 +02001866 but it is independent of the system firmware. And like a reboot
Atsushi Nemotoea6e9422007-01-16 23:29:11 +09001867 you can start any kernel with it, not just Linux.
1868
Matt LaPlante01dd2fb2007-10-20 01:34:40 +02001869 The name comes from the similarity to the exec system call.
Atsushi Nemotoea6e9422007-01-16 23:29:11 +09001870
1871 It is an ongoing process to be certain the hardware in a machine
1872 is properly shutdown, so do not be surprised if this code does not
1873 initially work for you. It may help to enable device hotplugging
1874 support. As of this writing the exact hardware interface is
1875 strongly in flux, so no good recommendation can be made.
1876
1877config SECCOMP
1878 bool "Enable seccomp to safely compute untrusted bytecode"
Ralf Baechle293c5bd2007-07-25 16:19:33 +01001879 depends on PROC_FS
Atsushi Nemotoea6e9422007-01-16 23:29:11 +09001880 default y
1881 help
1882 This kernel feature is useful for number crunching applications
1883 that may need to compute untrusted bytecode during their
1884 execution. By using pipes or other transports made available to
1885 the process as file descriptors supporting the read/write
1886 syscalls, it's possible to isolate those applications in
1887 their own address space using seccomp. Once seccomp is
1888 enabled via /proc/<pid>/seccomp, it cannot be disabled
1889 and the task is only allowed to execute a few safe syscalls
1890 defined by each seccomp mode.
1891
1892 If unsure, say Y. Only embedded should say N here.
1893
Ralf Baechle5e83d432005-10-29 19:32:41 +01001894endmenu
1895
Linus Torvalds1da177e2005-04-16 15:20:36 -07001896config RWSEM_GENERIC_SPINLOCK
1897 bool
1898 default y
1899
Atsushi Nemoto1df0f0f2006-09-26 23:44:01 +09001900config LOCKDEP_SUPPORT
1901 bool
1902 default y
1903
1904config STACKTRACE_SUPPORT
1905 bool
1906 default y
1907
Ralf Baechleb6c35392005-11-25 11:35:40 +00001908source "init/Kconfig"
1909
Atsushi Nemoto00110362008-08-26 22:34:57 +09001910config PROBE_INITRD_HEADER
1911 bool "Probe initrd header created by addinitrd"
1912 depends on BLK_DEV_INITRD
1913 help
1914 Probe initrd header at the last page of kernel image.
1915 Say Y here if you are using arch/mips/boot/addinitrd.c to
1916 add initrd or initramfs image to the kernel image.
1917 Otherwise, say N.
1918
Matt Helsleydc52ddc2008-10-18 20:27:21 -07001919source "kernel/Kconfig.freezer"
1920
Linus Torvalds1da177e2005-04-16 15:20:36 -07001921menu "Bus options (PCI, PCMCIA, EISA, ISA, TC)"
1922
Ralf Baechle5e83d432005-10-29 19:32:41 +01001923config HW_HAS_EISA
1924 bool
Linus Torvalds1da177e2005-04-16 15:20:36 -07001925config HW_HAS_PCI
1926 bool
1927
1928config PCI
1929 bool "Support for PCI controller"
1930 depends on HW_HAS_PCI
Ralf Baechleabb4ae42007-10-11 23:46:03 +01001931 select PCI_DOMAINS
Linus Torvalds1da177e2005-04-16 15:20:36 -07001932 help
1933 Find out whether you have a PCI motherboard. PCI is the name of a
1934 bus system, i.e. the way the CPU talks to the other stuff inside
1935 your box. Other bus systems are ISA, EISA, or VESA. If you have PCI,
1936 say Y, otherwise N.
1937
Linus Torvalds1da177e2005-04-16 15:20:36 -07001938config PCI_DOMAINS
1939 bool
Linus Torvalds1da177e2005-04-16 15:20:36 -07001940
1941source "drivers/pci/Kconfig"
1942
1943#
1944# ISA support is now enabled via select. Too many systems still have the one
1945# or other ISA chip on the board that users don't know about so don't expect
1946# users to choose the right thing ...
1947#
1948config ISA
1949 bool
1950
1951config EISA
1952 bool "EISA support"
Ralf Baechle5e83d432005-10-29 19:32:41 +01001953 depends on HW_HAS_EISA
Linus Torvalds1da177e2005-04-16 15:20:36 -07001954 select ISA
Ralf Baechleaa414df2006-11-30 01:14:51 +00001955 select GENERIC_ISA_DMA
Linus Torvalds1da177e2005-04-16 15:20:36 -07001956 ---help---
1957 The Extended Industry Standard Architecture (EISA) bus was
1958 developed as an open alternative to the IBM MicroChannel bus.
1959
1960 The EISA bus provided some of the features of the IBM MicroChannel
1961 bus while maintaining backward compatibility with cards made for
1962 the older ISA bus. The EISA bus saw limited use between 1988 and
1963 1995 when it was made obsolete by the PCI bus.
1964
1965 Say Y here if you are building a kernel for an EISA-based machine.
1966
1967 Otherwise, say N.
1968
1969source "drivers/eisa/Kconfig"
1970
1971config TC
1972 bool "TURBOchannel support"
1973 depends on MACH_DECSTATION
1974 help
1975 TurboChannel is a DEC (now Compaq (now HP)) bus for Alpha and MIPS
1976 processors. Documentation on writing device drivers for TurboChannel
1977 is available at:
1978 <http://www.cs.arizona.edu/computer.help/policy/DIGITAL_unix/AA-PS3HD-TET1_html/TITLE.html>.
1979
1980#config ACCESSBUS
1981# bool "Access.Bus support"
1982# depends on TC
1983
1984config MMU
1985 bool
1986 default y
1987
Ralf Baechled865bea2007-10-11 23:46:10 +01001988config I8253
1989 bool
1990
Ralf Baechlecce335ae2007-11-03 02:05:43 +00001991config ZONE_DMA32
1992 bool
1993
Linus Torvalds1da177e2005-04-16 15:20:36 -07001994source "drivers/pcmcia/Kconfig"
1995
1996source "drivers/pci/hotplug/Kconfig"
1997
1998endmenu
1999
2000menu "Executable file formats"
2001
2002source "fs/Kconfig.binfmt"
2003
2004config TRAD_SIGNALS
2005 bool
Linus Torvalds1da177e2005-04-16 15:20:36 -07002006
Linus Torvalds1da177e2005-04-16 15:20:36 -07002007config MIPS32_COMPAT
2008 bool "Kernel support for Linux/MIPS 32-bit binary compatibility"
Ralf Baechle875d43e2005-09-03 15:56:16 -07002009 depends on 64BIT
Linus Torvalds1da177e2005-04-16 15:20:36 -07002010 help
2011 Select this option if you want Linux/MIPS 32-bit binary
2012 compatibility. Since all software available for Linux/MIPS is
2013 currently 32-bit you should say Y here.
2014
2015config COMPAT
2016 bool
2017 depends on MIPS32_COMPAT
2018 default y
2019
Atsushi Nemoto05e43962006-11-07 18:02:44 +09002020config SYSVIPC_COMPAT
2021 bool
2022 depends on COMPAT && SYSVIPC
2023 default y
2024
Linus Torvalds1da177e2005-04-16 15:20:36 -07002025config MIPS32_O32
2026 bool "Kernel support for o32 binaries"
2027 depends on MIPS32_COMPAT
2028 help
2029 Select this option if you want to run o32 binaries. These are pure
2030 32-bit binaries as used by the 32-bit Linux/MIPS port. Most of
2031 existing binaries are in this format.
2032
2033 If unsure, say Y.
2034
2035config MIPS32_N32
2036 bool "Kernel support for n32 binaries"
2037 depends on MIPS32_COMPAT
2038 help
2039 Select this option if you want to run n32 binaries. These are
2040 64-bit binaries using 32-bit quantities for addressing and certain
2041 data that would normally be 64-bit. They are used in special
2042 cases.
2043
2044 If unsure, say N.
2045
2046config BINFMT_ELF32
2047 bool
2048 default y if MIPS32_O32 || MIPS32_N32
2049
Ralf Baechle21162452007-02-09 17:08:58 +00002050endmenu
Linus Torvalds1da177e2005-04-16 15:20:36 -07002051
Ralf Baechle21162452007-02-09 17:08:58 +00002052menu "Power management options"
Rodolfo Giometti952fa952006-06-05 17:43:10 +02002053
Johannes Bergf4cb5702007-12-08 02:14:00 +01002054config ARCH_SUSPEND_POSSIBLE
2055 def_bool y
2056 depends on !SMP
2057
Ralf Baechle21162452007-02-09 17:08:58 +00002058source "kernel/power/Kconfig"
Rodolfo Giometti952fa952006-06-05 17:43:10 +02002059
Linus Torvalds1da177e2005-04-16 15:20:36 -07002060endmenu
2061
Sam Ravnborgd5950b42005-07-11 21:03:49 -07002062source "net/Kconfig"
2063
Linus Torvalds1da177e2005-04-16 15:20:36 -07002064source "drivers/Kconfig"
2065
2066source "fs/Kconfig"
2067
2068source "arch/mips/Kconfig.debug"
2069
2070source "security/Kconfig"
2071
2072source "crypto/Kconfig"
2073
2074source "lib/Kconfig"