blob: 653574bc19cf0c52a99f0c5ef76145c61d52d1fa [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
Shinya Kuribayashicd741b62008-10-24 06:00:01 +0900241config MACH_EMMA
242 bool "NEC EMMA series based machines"
Yoichi Yuasaade299d2007-07-27 15:25:43 +0900243
Ralf Baechle5e83d432005-10-29 19:32:41 +0100244config MACH_VR41XX
Yoichi Yuasa74142d62007-04-26 19:45:09 +0900245 bool "NEC VR4100 series based machines"
Ralf Baechle42f77542007-10-18 17:48:11 +0100246 select CEVT_R4K
Ralf Baechle940f6b42007-11-24 22:33:28 +0000247 select CSRC_R4K
Ralf Baechle7cf80532005-10-20 22:33:09 +0100248 select SYS_HAS_CPU_VR41XX
Atsushi Nemoto9fd32cf2006-12-08 01:55:07 +0900249 select GENERIC_HARDIRQS_NO__DO_IRQ
Ralf Baechle5e83d432005-10-29 19:32:41 +0100250
Daniel Lairdedb63102008-06-16 15:49:21 +0100251config NXP_STB220
252 bool "NXP STB220 board"
253 select SOC_PNX833X
254 help
255 Support for NXP Semiconductors STB220 Development Board.
256
257config NXP_STB225
258 bool "NXP 225 board"
259 select SOC_PNX833X
260 select SOC_PNX8335
261 help
262 Support for NXP Semiconductors STB225 Development Board.
263
Yoichi Yuasaade299d2007-07-27 15:25:43 +0900264config PNX8550_JBS
Daniel Lairda92b0582008-03-06 09:07:18 +0000265 bool "NXP PNX8550 based JBS board"
Yoichi Yuasaade299d2007-07-27 15:25:43 +0900266 select PNX8550
267 select SYS_SUPPORTS_LITTLE_ENDIAN
268
269config PNX8550_STB810
Daniel Lairda92b0582008-03-06 09:07:18 +0000270 bool "NXP PNX8550 based STB810 board"
Yoichi Yuasaade299d2007-07-27 15:25:43 +0900271 select PNX8550
272 select SYS_SUPPORTS_LITTLE_ENDIAN
273
Marc St-Jean9267a302007-06-14 15:55:31 -0600274config PMC_MSP
275 bool "PMC-Sierra MSP chipsets"
276 depends on EXPERIMENTAL
277 select DMA_NONCOHERENT
278 select SWAP_IO_SPACE
279 select NO_EXCEPT_FILL
280 select BOOT_RAW
281 select SYS_HAS_CPU_MIPS32_R1
282 select SYS_HAS_CPU_MIPS32_R2
283 select SYS_SUPPORTS_32BIT_KERNEL
284 select SYS_SUPPORTS_BIG_ENDIAN
Marc St-Jean9267a302007-06-14 15:55:31 -0600285 select IRQ_CPU
286 select SERIAL_8250
287 select SERIAL_8250_CONSOLE
288 help
289 This adds support for the PMC-Sierra family of Multi-Service
290 Processor System-On-A-Chips. These parts include a number
291 of integrated peripherals, interfaces and DSPs in addition to
292 a variety of MIPS cores.
293
Ralf Baechle5e83d432005-10-29 19:32:41 +0100294config PMC_YOSEMITE
Martin Michlmayr3fa986f2006-05-09 23:34:53 +0200295 bool "PMC-Sierra Yosemite eval board"
Ralf Baechle42f77542007-10-18 17:48:11 +0100296 select CEVT_R4K
Ralf Baechle940f6b42007-11-24 22:33:28 +0000297 select CSRC_R4K
Ralf Baechle5e83d432005-10-29 19:32:41 +0100298 select DMA_COHERENT
299 select HW_HAS_PCI
300 select IRQ_CPU
301 select IRQ_CPU_RM7K
302 select IRQ_CPU_RM9K
303 select SWAP_IO_SPACE
Ralf Baechle7cf80532005-10-20 22:33:09 +0100304 select SYS_HAS_CPU_RM9000
Ralf Baechle36a88532007-03-01 11:56:43 +0000305 select SYS_HAS_EARLY_PRINTK
Ralf Baechle5e83d432005-10-29 19:32:41 +0100306 select SYS_SUPPORTS_32BIT_KERNEL
307 select SYS_SUPPORTS_64BIT_KERNEL
308 select SYS_SUPPORTS_BIG_ENDIAN
309 select SYS_SUPPORTS_HIGHMEM
Ralf Baechlee73ea272006-06-04 11:51:46 +0100310 select SYS_SUPPORTS_SMP
Ralf Baechle5e83d432005-10-29 19:32:41 +0100311 help
312 Yosemite is an evaluation board for the RM9000x2 processor
313 manufactured by PMC-Sierra.
Linus Torvalds1da177e2005-04-16 15:20:36 -0700314
Linus Torvalds1da177e2005-04-16 15:20:36 -0700315config SGI_IP22
Martin Michlmayr3fa986f2006-05-09 23:34:53 +0200316 bool "SGI IP22 (Indy/Indigo2)"
Linus Torvalds1da177e2005-04-16 15:20:36 -0700317 select ARC
318 select ARC32
319 select BOOT_ELF32
Ralf Baechle42f77542007-10-18 17:48:11 +0100320 select CEVT_R4K
Ralf Baechle940f6b42007-11-24 22:33:28 +0000321 select CSRC_R4K
Thomas Bogendoerfere2defae2007-12-02 13:00:32 +0100322 select DEFAULT_SGI_PARTITION
Linus Torvalds1da177e2005-04-16 15:20:36 -0700323 select DMA_NONCOHERENT
Ralf Baechle5e83d432005-10-29 19:32:41 +0100324 select HW_HAS_EISA
Ralf Baechled865bea2007-10-11 23:46:10 +0100325 select I8253
Thomas Bogendoerfer68de4802007-11-23 20:34:16 +0100326 select I8259
Linus Torvalds1da177e2005-04-16 15:20:36 -0700327 select IP22_CPU_SCACHE
328 select IRQ_CPU
Ralf Baechleaa414df2006-11-30 01:14:51 +0000329 select GENERIC_ISA_DMA_SUPPORT_BROKEN
Thomas Bogendoerfere2defae2007-12-02 13:00:32 +0100330 select SGI_HAS_DS1286
331 select SGI_HAS_I8042
332 select SGI_HAS_INDYDOG
Thomas Bogendoerfer36e5c212008-07-16 14:06:15 +0200333 select SGI_HAS_HAL2
Thomas Bogendoerfere2defae2007-12-02 13:00:32 +0100334 select SGI_HAS_SEEQ
335 select SGI_HAS_WD93
336 select SGI_HAS_ZILOG
Linus Torvalds1da177e2005-04-16 15:20:36 -0700337 select SWAP_IO_SPACE
Ralf Baechle7cf80532005-10-20 22:33:09 +0100338 select SYS_HAS_CPU_R4X00
339 select SYS_HAS_CPU_R5000
Ralf Baechle36a88532007-03-01 11:56:43 +0000340 select SYS_HAS_EARLY_PRINTK
Yoichi Yuasaed5ba2f2005-09-03 15:56:21 -0700341 select SYS_SUPPORTS_32BIT_KERNEL
342 select SYS_SUPPORTS_64BIT_KERNEL
Ralf Baechle5e83d432005-10-29 19:32:41 +0100343 select SYS_SUPPORTS_BIG_ENDIAN
Linus Torvalds1da177e2005-04-16 15:20:36 -0700344 help
345 This are the SGI Indy, Challenge S and Indigo2, as well as certain
346 OEM variants like the Tandem CMN B006S. To compile a Linux kernel
347 that runs on these, say Y here.
348
349config SGI_IP27
Martin Michlmayr3fa986f2006-05-09 23:34:53 +0200350 bool "SGI IP27 (Origin200/2000)"
Linus Torvalds1da177e2005-04-16 15:20:36 -0700351 select ARC
352 select ARC64
Ralf Baechle5e83d432005-10-29 19:32:41 +0100353 select BOOT_ELF64
Thomas Bogendoerfere2defae2007-12-02 13:00:32 +0100354 select DEFAULT_SGI_PARTITION
Linus Torvalds1da177e2005-04-16 15:20:36 -0700355 select DMA_IP27
Ralf Baechle36a88532007-03-01 11:56:43 +0000356 select SYS_HAS_EARLY_PRINTK
Linus Torvalds1da177e2005-04-16 15:20:36 -0700357 select HW_HAS_PCI
Ralf Baechle130e2fb2007-02-06 16:53:15 +0000358 select NR_CPUS_DEFAULT_64
Ralf Baechle7cf80532005-10-20 22:33:09 +0100359 select SYS_HAS_CPU_R10000
Yoichi Yuasaed5ba2f2005-09-03 15:56:21 -0700360 select SYS_SUPPORTS_64BIT_KERNEL
Ralf Baechle5e83d432005-10-29 19:32:41 +0100361 select SYS_SUPPORTS_BIG_ENDIAN
Ralf Baechled8cb4e12006-06-11 23:03:08 +0100362 select SYS_SUPPORTS_NUMA
Ralf Baechle1a5c5de2006-11-02 17:23:33 +0000363 select SYS_SUPPORTS_SMP
Franck Bui-Huue77c2322006-12-01 18:22:27 +0100364 select GENERIC_HARDIRQS_NO__DO_IRQ
Linus Torvalds1da177e2005-04-16 15:20:36 -0700365 help
366 This are the SGI Origin 200, Origin 2000 and Onyx 2 Graphics
367 workstations. To compile a Linux kernel that runs on these, say Y
368 here.
369
Thomas Bogendoerfere2defae2007-12-02 13:00:32 +0100370config SGI_IP28
371 bool "SGI IP28 (Indigo2 R10k) (EXPERIMENTAL)"
372 depends on EXPERIMENTAL
373 select ARC
374 select ARC64
375 select BOOT_ELF64
376 select CEVT_R4K
377 select CSRC_R4K
378 select DEFAULT_SGI_PARTITION
379 select DMA_NONCOHERENT
380 select GENERIC_ISA_DMA_SUPPORT_BROKEN
381 select IRQ_CPU
382 select HW_HAS_EISA
383 select I8253
384 select I8259
385 select SGI_HAS_DS1286
386 select SGI_HAS_I8042
387 select SGI_HAS_INDYDOG
Thomas Bogendoerfer5b438c42008-07-10 20:29:55 +0200388 select SGI_HAS_HAL2
Thomas Bogendoerfere2defae2007-12-02 13:00:32 +0100389 select SGI_HAS_SEEQ
390 select SGI_HAS_WD93
391 select SGI_HAS_ZILOG
392 select SWAP_IO_SPACE
393 select SYS_HAS_CPU_R10000
394 select SYS_HAS_EARLY_PRINTK
395 select SYS_SUPPORTS_64BIT_KERNEL
396 select SYS_SUPPORTS_BIG_ENDIAN
397 help
398 This is the SGI Indigo2 with R10000 processor. To compile a Linux
399 kernel that runs on these, say Y here.
400
Linus Torvalds1da177e2005-04-16 15:20:36 -0700401config SGI_IP32
Ralf Baechlecfd2afc2007-07-10 17:33:00 +0100402 bool "SGI IP32 (O2)"
Linus Torvalds1da177e2005-04-16 15:20:36 -0700403 select ARC
404 select ARC32
405 select BOOT_ELF32
Ralf Baechle42f77542007-10-18 17:48:11 +0100406 select CEVT_R4K
Ralf Baechle940f6b42007-11-24 22:33:28 +0000407 select CSRC_R4K
Linus Torvalds1da177e2005-04-16 15:20:36 -0700408 select DMA_NONCOHERENT
409 select HW_HAS_PCI
Ralf Baechledd67b152007-10-14 14:02:26 +0100410 select IRQ_CPU
Linus Torvalds1da177e2005-04-16 15:20:36 -0700411 select R5000_CPU_SCACHE
412 select RM7000_CPU_SCACHE
Ralf Baechle7cf80532005-10-20 22:33:09 +0100413 select SYS_HAS_CPU_R5000
414 select SYS_HAS_CPU_R10000 if BROKEN
415 select SYS_HAS_CPU_RM7000
Ralf Baechledd2f18f2006-01-19 14:55:42 +0000416 select SYS_HAS_CPU_NEVADA
Yoichi Yuasaed5ba2f2005-09-03 15:56:21 -0700417 select SYS_SUPPORTS_64BIT_KERNEL
Ralf Baechle5e83d432005-10-29 19:32:41 +0100418 select SYS_SUPPORTS_BIG_ENDIAN
Linus Torvalds1da177e2005-04-16 15:20:36 -0700419 help
420 If you want this kernel to run on SGI O2 workstation, say Y here.
421
Yoichi Yuasaade299d2007-07-27 15:25:43 +0900422config SIBYTE_CRHINE
423 bool "Sibyte BCM91120C-CRhine"
Ralf Baechle5e83d432005-10-29 19:32:41 +0100424 depends on EXPERIMENTAL
425 select BOOT_ELF32
426 select DMA_COHERENT
427 select SIBYTE_BCM1120
428 select SWAP_IO_SPACE
Ralf Baechle7cf80532005-10-20 22:33:09 +0100429 select SYS_HAS_CPU_SB1
Ralf Baechle5e83d432005-10-29 19:32:41 +0100430 select SYS_SUPPORTS_BIG_ENDIAN
431 select SYS_SUPPORTS_LITTLE_ENDIAN
432
Yoichi Yuasaade299d2007-07-27 15:25:43 +0900433config SIBYTE_CARMEL
434 bool "Sibyte BCM91120x-Carmel"
Ralf Baechle5e83d432005-10-29 19:32:41 +0100435 depends on EXPERIMENTAL
436 select BOOT_ELF32
437 select DMA_COHERENT
438 select SIBYTE_BCM1120
439 select SWAP_IO_SPACE
Ralf Baechle7cf80532005-10-20 22:33:09 +0100440 select SYS_HAS_CPU_SB1
Ralf Baechle5e83d432005-10-29 19:32:41 +0100441 select SYS_SUPPORTS_BIG_ENDIAN
442 select SYS_SUPPORTS_LITTLE_ENDIAN
443
444config SIBYTE_CRHONE
Martin Michlmayr3fa986f2006-05-09 23:34:53 +0200445 bool "Sibyte BCM91125C-CRhone"
Ralf Baechle5e83d432005-10-29 19:32:41 +0100446 depends on EXPERIMENTAL
447 select BOOT_ELF32
448 select DMA_COHERENT
449 select SIBYTE_BCM1125
450 select SWAP_IO_SPACE
Ralf Baechle7cf80532005-10-20 22:33:09 +0100451 select SYS_HAS_CPU_SB1
Ralf Baechle5e83d432005-10-29 19:32:41 +0100452 select SYS_SUPPORTS_BIG_ENDIAN
453 select SYS_SUPPORTS_HIGHMEM
454 select SYS_SUPPORTS_LITTLE_ENDIAN
455
Yoichi Yuasaade299d2007-07-27 15:25:43 +0900456config SIBYTE_RHONE
457 bool "Sibyte BCM91125E-Rhone"
458 depends on EXPERIMENTAL
459 select BOOT_ELF32
460 select DMA_COHERENT
461 select SIBYTE_BCM1125H
462 select SWAP_IO_SPACE
463 select SYS_HAS_CPU_SB1
464 select SYS_SUPPORTS_BIG_ENDIAN
465 select SYS_SUPPORTS_LITTLE_ENDIAN
466
467config SIBYTE_SWARM
468 bool "Sibyte BCM91250A-SWARM"
469 select BOOT_ELF32
470 select DMA_COHERENT
471 select NR_CPUS_DEFAULT_2
472 select SIBYTE_SB1250
473 select SWAP_IO_SPACE
474 select SYS_HAS_CPU_SB1
475 select SYS_SUPPORTS_BIG_ENDIAN
476 select SYS_SUPPORTS_HIGHMEM
Yoichi Yuasaade299d2007-07-27 15:25:43 +0900477 select SYS_SUPPORTS_LITTLE_ENDIAN
Ralf Baechlecce335a2007-11-03 02:05:43 +0000478 select ZONE_DMA32 if 64BIT
Yoichi Yuasaade299d2007-07-27 15:25:43 +0900479
480config SIBYTE_LITTLESUR
481 bool "Sibyte BCM91250C2-LittleSur"
482 depends on EXPERIMENTAL
483 select BOOT_ELF32
484 select DMA_COHERENT
485 select NR_CPUS_DEFAULT_2
486 select SIBYTE_SB1250
487 select SWAP_IO_SPACE
488 select SYS_HAS_CPU_SB1
489 select SYS_SUPPORTS_BIG_ENDIAN
490 select SYS_SUPPORTS_HIGHMEM
491 select SYS_SUPPORTS_LITTLE_ENDIAN
492
493config SIBYTE_SENTOSA
494 bool "Sibyte BCM91250E-Sentosa"
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_LITTLE_ENDIAN
504
Yoichi Yuasaade299d2007-07-27 15:25:43 +0900505config SIBYTE_BIGSUR
506 bool "Sibyte BCM91480B-BigSur"
507 select BOOT_ELF32
508 select DMA_COHERENT
509 select NR_CPUS_DEFAULT_4
Yoichi Yuasaade299d2007-07-27 15:25:43 +0900510 select SIBYTE_BCM1x80
511 select SWAP_IO_SPACE
512 select SYS_HAS_CPU_SB1
513 select SYS_SUPPORTS_BIG_ENDIAN
Ralf Baechle651194f2007-11-01 21:55:39 +0000514 select SYS_SUPPORTS_HIGHMEM
Yoichi Yuasaade299d2007-07-27 15:25:43 +0900515 select SYS_SUPPORTS_LITTLE_ENDIAN
Ralf Baechlecce335a2007-11-03 02:05:43 +0000516 select ZONE_DMA32 if 64BIT
Yoichi Yuasaade299d2007-07-27 15:25:43 +0900517
Thomas Bogendoerfer14b36af2006-12-05 17:05:44 +0100518config SNI_RM
519 bool "SNI RM200/300/400"
Thomas Bogendoerfer4a0312f2006-06-13 13:59:01 +0200520 select ARC if CPU_LITTLE_ENDIAN
521 select ARC32 if CPU_LITTLE_ENDIAN
Thomas Bogendoerfer231a35d2008-01-04 23:31:07 +0100522 select SNIPROM if CPU_BIG_ENDIAN
Ralf Baechle5e83d432005-10-29 19:32:41 +0100523 select ARCH_MAY_HAVE_PC_FDC
524 select BOOT_ELF32
Ralf Baechle42f77542007-10-18 17:48:11 +0100525 select CEVT_R4K
Ralf Baechle940f6b42007-11-24 22:33:28 +0000526 select CSRC_R4K
Thomas Bogendoerfere2defae2007-12-02 13:00:32 +0100527 select DEFAULT_SGI_PARTITION if CPU_BIG_ENDIAN
Ralf Baechle5e83d432005-10-29 19:32:41 +0100528 select DMA_NONCOHERENT
529 select GENERIC_ISA_DMA
Ralf Baechle5e83d432005-10-29 19:32:41 +0100530 select HW_HAS_EISA
531 select HW_HAS_PCI
Thomas Bogendoerferc066a322006-12-28 18:22:32 +0100532 select IRQ_CPU
Ralf Baechled865bea2007-10-11 23:46:10 +0100533 select I8253
Ralf Baechle5e83d432005-10-29 19:32:41 +0100534 select I8259
535 select ISA
Thomas Bogendoerfer4a0312f2006-06-13 13:59:01 +0200536 select SWAP_IO_SPACE if CPU_BIG_ENDIAN
Ralf Baechle7cf80532005-10-20 22:33:09 +0100537 select SYS_HAS_CPU_R4X00
Thomas Bogendoerfer4a0312f2006-06-13 13:59:01 +0200538 select SYS_HAS_CPU_R5000
Thomas Bogendoerferc066a322006-12-28 18:22:32 +0100539 select SYS_HAS_CPU_R10000
Thomas Bogendoerfer4a0312f2006-06-13 13:59:01 +0200540 select R5000_CPU_SCACHE
Ralf Baechle36a88532007-03-01 11:56:43 +0000541 select SYS_HAS_EARLY_PRINTK
Yoichi Yuasaed5ba2f2005-09-03 15:56:21 -0700542 select SYS_SUPPORTS_32BIT_KERNEL
Ralf Baechle5e83d432005-10-29 19:32:41 +0100543 select SYS_SUPPORTS_64BIT_KERNEL if EXPERIMENTAL
Thomas Bogendoerfer4a0312f2006-06-13 13:59:01 +0200544 select SYS_SUPPORTS_BIG_ENDIAN
Ralf Baechle5e83d432005-10-29 19:32:41 +0100545 select SYS_SUPPORTS_HIGHMEM
546 select SYS_SUPPORTS_LITTLE_ENDIAN
Linus Torvalds1da177e2005-04-16 15:20:36 -0700547 help
Thomas Bogendoerfer14b36af2006-12-05 17:05:44 +0100548 The SNI RM200/300/400 are MIPS-based machines manufactured by
549 Siemens Nixdorf Informationssysteme (SNI), parent company of Pyramid
Ralf Baechle5e83d432005-10-29 19:32:41 +0100550 Technology and now in turn merged with Fujitsu. Say Y here to
551 support this machine type.
Linus Torvalds1da177e2005-04-16 15:20:36 -0700552
Atsushi Nemotoedcaf1a2008-07-11 23:27:54 +0900553config MACH_TX39XX
554 bool "Toshiba TX39 series based machines"
Ralf Baechle5e83d432005-10-29 19:32:41 +0100555
Atsushi Nemotoedcaf1a2008-07-11 23:27:54 +0900556config MACH_TX49XX
557 bool "Toshiba TX49 series based machines"
Ralf Baechle23fbee92005-07-25 22:45:45 +0000558
Ralf Baechle73b43902008-07-16 16:12:25 +0100559config MIKROTIK_RB532
560 bool "Mikrotik RB532 boards"
561 select CEVT_R4K
562 select CSRC_R4K
563 select DMA_NONCOHERENT
564 select GENERIC_HARDIRQS_NO__DO_IRQ
565 select HW_HAS_PCI
566 select IRQ_CPU
567 select SYS_HAS_CPU_MIPS32_R1
568 select SYS_SUPPORTS_32BIT_KERNEL
569 select SYS_SUPPORTS_LITTLE_ENDIAN
570 select SWAP_IO_SPACE
571 select BOOT_RAW
Florian Fainellid888e252008-08-23 18:54:34 +0200572 select ARCH_REQUIRE_GPIOLIB
Ralf Baechle73b43902008-07-16 16:12:25 +0100573 help
574 Support the Mikrotik(tm) RouterBoard 532 series,
575 based on the IDT RC32434 SoC.
576
Yoichi Yuasaade299d2007-07-27 15:25:43 +0900577config WR_PPMC
578 bool "Wind River PPMC board"
Ralf Baechle42f77542007-10-18 17:48:11 +0100579 select CEVT_R4K
Ralf Baechle940f6b42007-11-24 22:33:28 +0000580 select CSRC_R4K
Yoichi Yuasaade299d2007-07-27 15:25:43 +0900581 select IRQ_CPU
582 select BOOT_ELF32
583 select DMA_NONCOHERENT
584 select HW_HAS_PCI
585 select PCI_GT64XXX_PCI0
586 select SWAP_IO_SPACE
587 select SYS_HAS_CPU_MIPS32_R1
588 select SYS_HAS_CPU_MIPS32_R2
589 select SYS_HAS_CPU_MIPS64_R1
590 select SYS_HAS_CPU_NEVADA
591 select SYS_HAS_CPU_RM7000
592 select SYS_SUPPORTS_32BIT_KERNEL
593 select SYS_SUPPORTS_64BIT_KERNEL
594 select SYS_SUPPORTS_BIG_ENDIAN
595 select SYS_SUPPORTS_LITTLE_ENDIAN
596 help
597 This enables support for the Wind River MIPS32 4KC PPMC evaluation
598 board, which is based on GT64120 bridge chip.
599
Linus Torvalds1da177e2005-04-16 15:20:36 -0700600endchoice
601
Ralf Baechlee8c7c482008-09-16 19:12:16 +0200602source "arch/mips/alchemy/Kconfig"
Yoichi Yuasa9c746ed2007-12-12 22:39:54 +0900603source "arch/mips/basler/excite/Kconfig"
Shinya Kuribayashicd741b62008-10-24 06:00:01 +0900604source "arch/mips/emma/Kconfig"
Ralf Baechle5e83d432005-10-29 19:32:41 +0100605source "arch/mips/jazz/Kconfig"
Brian Murphy1f21d2b2007-08-21 22:34:16 +0200606source "arch/mips/lasat/Kconfig"
Ralf Baechle5e83d432005-10-29 19:32:41 +0100607source "arch/mips/pmc-sierra/Kconfig"
Ralf Baechle29c48692005-02-07 01:27:14 +0000608source "arch/mips/sgi-ip27/Kconfig"
Ralf Baechle38b18f72005-02-03 14:28:23 +0000609source "arch/mips/sibyte/Kconfig"
Atsushi Nemoto22b1d702008-07-11 00:31:36 +0900610source "arch/mips/txx9/Kconfig"
Ralf Baechle5e83d432005-10-29 19:32:41 +0100611source "arch/mips/vr41xx/Kconfig"
Ralf Baechle38b18f72005-02-03 14:28:23 +0000612
Ralf Baechle5e83d432005-10-29 19:32:41 +0100613endmenu
614
Linus Torvalds1da177e2005-04-16 15:20:36 -0700615config RWSEM_GENERIC_SPINLOCK
616 bool
617 default y
618
619config RWSEM_XCHGADD_ALGORITHM
620 bool
621
David Howellsf0d1b0b2006-12-08 02:37:49 -0800622config ARCH_HAS_ILOG2_U32
623 bool
624 default n
625
626config ARCH_HAS_ILOG2_U64
627 bool
628 default n
629
Ralf Baechle00a58252007-12-06 16:53:19 +0000630config ARCH_SUPPORTS_OPROFILE
631 bool
632 default y if !MIPS_MT_SMTC
633
Akinobu Mita3c9ee7e2006-03-26 01:39:30 -0800634config GENERIC_FIND_NEXT_BIT
635 bool
636 default y
637
638config GENERIC_HWEIGHT
639 bool
640 default y
641
Linus Torvalds1da177e2005-04-16 15:20:36 -0700642config GENERIC_CALIBRATE_DELAY
643 bool
644 default y
645
Ralf Baechle7bcf7712007-10-11 23:46:09 +0100646config GENERIC_CLOCKEVENTS
647 bool
648 default y
649
Ralf Baechle8db02012006-10-02 16:54:48 +0100650config GENERIC_TIME
651 bool
652 default y
653
Ralf Baechlef5ff0a22007-08-13 15:26:12 +0100654config GENERIC_CMOS_UPDATE
655 bool
656 default y
657
Atsushi Nemoto1cc89032006-04-04 13:11:45 +0900658config SCHED_NO_NO_OMIT_FRAME_POINTER
659 bool
660 default y
661
Franck Bui-Huue77c2322006-12-01 18:22:27 +0100662config GENERIC_HARDIRQS_NO__DO_IRQ
663 bool
664 default n
665
Linus Torvalds1da177e2005-04-16 15:20:36 -0700666#
667# Select some configuration options automatically based on user selections.
668#
669config ARC
670 bool
Linus Torvalds1da177e2005-04-16 15:20:36 -0700671
Ralf Baechle61ed2422005-09-15 08:52:34 +0000672config ARCH_MAY_HAVE_PC_FDC
673 bool
674
Marc St-Jean9267a302007-06-14 15:55:31 -0600675config BOOT_RAW
676 bool
677
Ralf Baechle217dd112007-11-01 01:57:55 +0000678config CEVT_BCM1480
679 bool
680
Yoichi Yuasa6457d9f2008-04-25 12:11:44 +0900681config CEVT_DS1287
682 bool
683
Yoichi Yuasa1097c6a2007-10-22 19:43:15 +0900684config CEVT_GT641XX
685 bool
686
Ralf Baechle42f77542007-10-18 17:48:11 +0100687config CEVT_R4K
688 bool
689
Ralf Baechle217dd112007-11-01 01:57:55 +0000690config CEVT_SB1250
691 bool
692
Atsushi Nemoto229f7732007-10-25 01:34:09 +0900693config CEVT_TXX9
694 bool
695
Ralf Baechle217dd112007-11-01 01:57:55 +0000696config CSRC_BCM1480
697 bool
698
Yoichi Yuasa42474172008-04-24 09:48:40 +0900699config CSRC_IOASIC
700 bool
701
Ralf Baechle940f6b42007-11-24 22:33:28 +0000702config CSRC_R4K
703 bool
704
Ralf Baechle217dd112007-11-01 01:57:55 +0000705config CSRC_SB1250
706 bool
707
Atsushi Nemotoa9aec7f2008-04-05 00:55:41 +0900708config GPIO_TXX9
709 select GENERIC_GPIO
Michael Buesch7444a722008-07-25 01:46:11 -0700710 select ARCH_REQUIRE_GPIOLIB
Atsushi Nemotoa9aec7f2008-04-05 00:55:41 +0900711 bool
712
Aurelien Jarnodf78b5c2007-09-05 08:58:26 +0200713config CFE
714 bool
715
Ralf Baechle4ce588c2005-09-03 15:56:19 -0700716config DMA_COHERENT
Linus Torvalds1da177e2005-04-16 15:20:36 -0700717 bool
718
Ralf Baechle4ce588c2005-09-03 15:56:19 -0700719config DMA_IP27
Linus Torvalds1da177e2005-04-16 15:20:36 -0700720 bool
721
Ralf Baechle4ce588c2005-09-03 15:56:19 -0700722config DMA_NONCOHERENT
723 bool
724 select DMA_NEED_PCI_MAP_STATE
725
726config DMA_NEED_PCI_MAP_STATE
Linus Torvalds1da177e2005-04-16 15:20:36 -0700727 bool
728
729config EARLY_PRINTK
Ralf Baechle36a88532007-03-01 11:56:43 +0000730 bool "Early printk" if EMBEDDED && DEBUG_KERNEL
731 depends on SYS_HAS_EARLY_PRINTK
732 default y
733 help
734 This option enables special console drivers which allow the kernel
735 to print messages very early in the bootup process.
736
737 This is useful for kernel debugging when your machine crashes very
Robert P. J. Day490dcc42007-05-20 12:11:07 -0400738 early before the console code is initialized. For normal operation,
739 it is not recommended because it looks ugly on some machines and
740 doesn't cooperate with an X server. You should normally say N here,
Ralf Baechle36a88532007-03-01 11:56:43 +0000741 unless you want to debug such a crash.
742
743config SYS_HAS_EARLY_PRINTK
Linus Torvalds1da177e2005-04-16 15:20:36 -0700744 bool
Linus Torvalds1da177e2005-04-16 15:20:36 -0700745
Ralf Baechledbb74542007-08-07 14:52:17 +0100746config HOTPLUG_CPU
747 bool
748 default n
749
Linus Torvalds1da177e2005-04-16 15:20:36 -0700750config I8259
751 bool
Linus Torvalds1da177e2005-04-16 15:20:36 -0700752
Linus Torvalds1da177e2005-04-16 15:20:36 -0700753config MIPS_BONITO64
754 bool
Linus Torvalds1da177e2005-04-16 15:20:36 -0700755
756config MIPS_MSC
757 bool
Linus Torvalds1da177e2005-04-16 15:20:36 -0700758
Brian Murphy1f21d2b2007-08-21 22:34:16 +0200759config MIPS_NILE4
760 bool
761
Linus Torvalds1da177e2005-04-16 15:20:36 -0700762config MIPS_DISABLE_OBSOLETE_IDE
763 bool
764
Ralf Baechle39b8d522008-04-28 17:14:26 +0100765config SYNC_R4K
766 bool
767
Maciej W. Rozyckid388d682007-05-29 15:08:07 +0100768config NO_IOPORT
769 def_bool n
770
Ralf Baechle8313da32007-08-24 16:48:30 +0100771config GENERIC_ISA_DMA
772 bool
773 select ZONE_DMA if GENERIC_ISA_DMA_SUPPORT_BROKEN=n
774
Ralf Baechleaa414df2006-11-30 01:14:51 +0000775config GENERIC_ISA_DMA_SUPPORT_BROKEN
776 bool
Ralf Baechle8313da32007-08-24 16:48:30 +0100777 select GENERIC_ISA_DMA
Ralf Baechleaa414df2006-11-30 01:14:51 +0000778
Yoichi Yuasa09663332007-05-22 00:05:58 +0900779config GENERIC_GPIO
780 bool
781
Ralf Baechle5e83d432005-10-29 19:32:41 +0100782#
Matt LaPlante3cb2fcc2006-11-30 05:22:59 +0100783# Endianess selection. Sufficiently obscure so many users don't know what to
Ralf Baechle5e83d432005-10-29 19:32:41 +0100784# answer,so we try hard to limit the available choices. Also the use of a
785# choice statement should be more obvious to the user.
786#
787choice
788 prompt "Endianess selection"
Linus Torvalds1da177e2005-04-16 15:20:36 -0700789 help
790 Some MIPS machines can be configured for either little or big endian
Ralf Baechle5e83d432005-10-29 19:32:41 +0100791 byte order. These modes require different kernels and a different
Matt LaPlante3cb2fcc2006-11-30 05:22:59 +0100792 Linux distribution. In general there is one preferred byteorder for a
Ralf Baechle5e83d432005-10-29 19:32:41 +0100793 particular system but some systems are just as commonly used in the
David Sterba3dde6ad2007-05-09 07:12:20 +0200794 one or the other endianness.
Ralf Baechle5e83d432005-10-29 19:32:41 +0100795
796config CPU_BIG_ENDIAN
797 bool "Big endian"
798 depends on SYS_SUPPORTS_BIG_ENDIAN
799
800config CPU_LITTLE_ENDIAN
801 bool "Little endian"
802 depends on SYS_SUPPORTS_LITTLE_ENDIAN
803 help
804
805endchoice
806
Ralf Baechle21162452007-02-09 17:08:58 +0000807config SYS_SUPPORTS_APM_EMULATION
808 bool
809
Ralf Baechle5e83d432005-10-29 19:32:41 +0100810config SYS_SUPPORTS_BIG_ENDIAN
811 bool
812
813config SYS_SUPPORTS_LITTLE_ENDIAN
814 bool
Linus Torvalds1da177e2005-04-16 15:20:36 -0700815
816config IRQ_CPU
817 bool
818
819config IRQ_CPU_RM7K
820 bool
821
Ralf Baechle5e83d432005-10-29 19:32:41 +0100822config IRQ_CPU_RM9K
823 bool
824
Marc St-Jean9267a302007-06-14 15:55:31 -0600825config IRQ_MSP_SLP
826 bool
827
828config IRQ_MSP_CIC
829 bool
830
Atsushi Nemoto8420fd02007-08-02 23:35:53 +0900831config IRQ_TXX9
832 bool
833
Yoichi Yuasad5ab1a62007-09-13 23:51:26 +0900834config IRQ_GT641XX
835 bool
836
Ralf Baechle39b8d522008-04-28 17:14:26 +0100837config IRQ_GIC
838 bool
839
Linus Torvalds1da177e2005-04-16 15:20:36 -0700840config MIPS_BOARDS_GEN
841 bool
Linus Torvalds1da177e2005-04-16 15:20:36 -0700842
Yoichi Yuasa252161e2007-03-14 21:51:26 +0900843config PCI_GT64XXX_PCI0
Linus Torvalds1da177e2005-04-16 15:20:36 -0700844 bool
Linus Torvalds1da177e2005-04-16 15:20:36 -0700845
Marc St-Jean9267a302007-06-14 15:55:31 -0600846config NO_EXCEPT_FILL
847 bool
848
thomas@koeller.dyndns.org663c3d92006-08-27 13:51:48 +0200849config MIPS_RM9122
850 bool
851 select SERIAL_RM9000
thomas@koeller.dyndns.org663c3d92006-08-27 13:51:48 +0200852
Daniel Lairdedb63102008-06-16 15:49:21 +0100853config SOC_PNX833X
854 bool
855 select CEVT_R4K
856 select CSRC_R4K
857 select IRQ_CPU
858 select DMA_NONCOHERENT
859 select SYS_HAS_CPU_MIPS32_R2
860 select SYS_SUPPORTS_32BIT_KERNEL
861 select SYS_SUPPORTS_LITTLE_ENDIAN
862 select SYS_SUPPORTS_BIG_ENDIAN
863 select GENERIC_HARDIRQS_NO__DO_IRQ
864 select GENERIC_GPIO
865 select CPU_MIPSR2_IRQ_VI
866
867config SOC_PNX8335
868 bool
869 select SOC_PNX833X
870
Pete Popovbdf21b12005-07-14 17:47:57 +0000871config PNX8550
872 bool
873 select SOC_PNX8550
874
875config SOC_PNX8550
876 bool
Pete Popovbdf21b12005-07-14 17:47:57 +0000877 select DMA_NONCOHERENT
878 select HW_HAS_PCI
Ralf Baechleb8c2a772005-10-31 13:08:37 +0000879 select SYS_HAS_CPU_MIPS32_R1
Ralf Baechle36a88532007-03-01 11:56:43 +0000880 select SYS_HAS_EARLY_PRINTK
Ralf Baechle7cf80532005-10-20 22:33:09 +0100881 select SYS_SUPPORTS_32BIT_KERNEL
Franck Bui-Huue77c2322006-12-01 18:22:27 +0100882 select GENERIC_HARDIRQS_NO__DO_IRQ
Florian Fainelli4ead1682007-05-22 21:44:42 +0200883 select GENERIC_GPIO
Pete Popovbdf21b12005-07-14 17:47:57 +0000884
Linus Torvalds1da177e2005-04-16 15:20:36 -0700885config SWAP_IO_SPACE
886 bool
887
dmitry pervushin355c4712006-05-21 14:53:06 +0400888config EMMA2RH
889 bool
890 depends on MARKEINS
891 default y
892
thomas@koeller.dyndns.org663c3d92006-08-27 13:51:48 +0200893config SERIAL_RM9000
894 bool
895
Thomas Bogendoerfere2defae2007-12-02 13:00:32 +0100896config SGI_HAS_DS1286
897 bool
898
899config SGI_HAS_INDYDOG
900 bool
901
Thomas Bogendoerfer5b438c42008-07-10 20:29:55 +0200902config SGI_HAS_HAL2
903 bool
904
Thomas Bogendoerfere2defae2007-12-02 13:00:32 +0100905config SGI_HAS_SEEQ
906 bool
907
908config SGI_HAS_WD93
909 bool
910
911config SGI_HAS_ZILOG
912 bool
913
914config SGI_HAS_I8042
915 bool
916
917config DEFAULT_SGI_PARTITION
918 bool
919
Ralf Baechle5e83d432005-10-29 19:32:41 +0100920config ARC32
921 bool
922
Thomas Bogendoerfer231a35d2008-01-04 23:31:07 +0100923config SNIPROM
924 bool
925
Linus Torvalds1da177e2005-04-16 15:20:36 -0700926config BOOT_ELF32
927 bool
Linus Torvalds1da177e2005-04-16 15:20:36 -0700928
929config MIPS_L1_CACHE_SHIFT
930 int
Ralf Baechle73b43902008-07-16 16:12:25 +0100931 default "4" if MACH_DECSTATION || MIKROTIK_RB532
Thomas Bogendoerfer7e3297d2008-06-27 23:52:26 +0200932 default "7" if SGI_IP22 || SGI_IP27 || SGI_IP28 || SNI_RM
Marc St-Jean9267a302007-06-14 15:55:31 -0600933 default "4" if PMC_MSP4200_EVAL
Linus Torvalds1da177e2005-04-16 15:20:36 -0700934 default "5"
935
Linus Torvalds1da177e2005-04-16 15:20:36 -0700936config HAVE_STD_PC_SERIAL_PORT
937 bool
938
Linus Torvalds1da177e2005-04-16 15:20:36 -0700939config ARC_CONSOLE
940 bool "ARC console support"
Thomas Bogendoerfere2defae2007-12-02 13:00:32 +0100941 depends on SGI_IP22 || SGI_IP28 || (SNI_RM && CPU_LITTLE_ENDIAN)
Linus Torvalds1da177e2005-04-16 15:20:36 -0700942
943config ARC_MEMORY
944 bool
Thomas Bogendoerfer14b36af2006-12-05 17:05:44 +0100945 depends on MACH_JAZZ || SNI_RM || SGI_IP32
Linus Torvalds1da177e2005-04-16 15:20:36 -0700946 default y
947
948config ARC_PROMLIB
949 bool
Thomas Bogendoerfere2defae2007-12-02 13:00:32 +0100950 depends on MACH_JAZZ || SNI_RM || SGI_IP22 || SGI_IP28 || SGI_IP32
Linus Torvalds1da177e2005-04-16 15:20:36 -0700951 default y
952
953config ARC64
954 bool
Linus Torvalds1da177e2005-04-16 15:20:36 -0700955
956config BOOT_ELF64
957 bool
Linus Torvalds1da177e2005-04-16 15:20:36 -0700958
Linus Torvalds1da177e2005-04-16 15:20:36 -0700959menu "CPU selection"
960
961choice
962 prompt "CPU type"
963 default CPU_R4X00
964
Fuxin Zhang2a21c732007-06-06 14:52:43 +0800965config CPU_LOONGSON2
966 bool "Loongson 2"
967 depends on SYS_HAS_CPU_LOONGSON2
968 select CPU_SUPPORTS_32BIT_KERNEL
969 select CPU_SUPPORTS_64BIT_KERNEL
970 select CPU_SUPPORTS_HIGHMEM
971 help
972 The Loongson 2E processor implements the MIPS III instruction set
973 with many extensions.
974
Ralf Baechle6e760c82005-07-06 12:08:11 +0000975config CPU_MIPS32_R1
976 bool "MIPS32 Release 1"
Ralf Baechle7cf80532005-10-20 22:33:09 +0100977 depends on SYS_HAS_CPU_MIPS32_R1
Ralf Baechlef7062dd2006-04-24 14:58:53 +0100978 select CPU_HAS_LLSC
Ralf Baechle6e760c82005-07-06 12:08:11 +0000979 select CPU_HAS_PREFETCH
Ralf Baechle797798c2005-08-10 15:17:11 +0000980 select CPU_SUPPORTS_32BIT_KERNEL
Ralf Baechleec28f302006-03-05 00:45:33 +0000981 select CPU_SUPPORTS_HIGHMEM
Ralf Baechle6e760c82005-07-06 12:08:11 +0000982 help
Ralf Baechle5e83d432005-10-29 19:32:41 +0100983 Choose this option to build a kernel for release 1 or later of the
Ralf Baechle1e5f1ca2005-07-12 14:51:22 +0000984 MIPS32 architecture. Most modern embedded systems with a 32-bit
985 MIPS processor are based on a MIPS32 processor. If you know the
986 specific type of processor in your system, choose those that one
987 otherwise CPU_MIPS32_R1 is a safe bet for any MIPS32 system.
988 Release 2 of the MIPS32 architecture is available since several
989 years so chances are you even have a MIPS32 Release 2 processor
990 in which case you should choose CPU_MIPS32_R2 instead for better
991 performance.
992
993config CPU_MIPS32_R2
994 bool "MIPS32 Release 2"
Ralf Baechle7cf80532005-10-20 22:33:09 +0100995 depends on SYS_HAS_CPU_MIPS32_R2
Ralf Baechlef7062dd2006-04-24 14:58:53 +0100996 select CPU_HAS_LLSC
Ralf Baechle1e5f1ca2005-07-12 14:51:22 +0000997 select CPU_HAS_PREFETCH
Ralf Baechle797798c2005-08-10 15:17:11 +0000998 select CPU_SUPPORTS_32BIT_KERNEL
Ralf Baechleec28f302006-03-05 00:45:33 +0000999 select CPU_SUPPORTS_HIGHMEM
Ralf Baechle1e5f1ca2005-07-12 14:51:22 +00001000 help
Ralf Baechle5e83d432005-10-29 19:32:41 +01001001 Choose this option to build a kernel for release 2 or later of the
Ralf Baechle6e760c82005-07-06 12:08:11 +00001002 MIPS32 architecture. Most modern embedded systems with a 32-bit
1003 MIPS processor are based on a MIPS32 processor. If you know the
1004 specific type of processor in your system, choose those that one
1005 otherwise CPU_MIPS32_R1 is a safe bet for any MIPS32 system.
Linus Torvalds1da177e2005-04-16 15:20:36 -07001006
Ralf Baechle6e760c82005-07-06 12:08:11 +00001007config CPU_MIPS64_R1
1008 bool "MIPS64 Release 1"
Ralf Baechle7cf80532005-10-20 22:33:09 +01001009 depends on SYS_HAS_CPU_MIPS64_R1
Ralf Baechlef7062dd2006-04-24 14:58:53 +01001010 select CPU_HAS_LLSC
Ralf Baechle797798c2005-08-10 15:17:11 +00001011 select CPU_HAS_PREFETCH
Yoichi Yuasaed5ba2f2005-09-03 15:56:21 -07001012 select CPU_SUPPORTS_32BIT_KERNEL
1013 select CPU_SUPPORTS_64BIT_KERNEL
Ralf Baechleec28f302006-03-05 00:45:33 +00001014 select CPU_SUPPORTS_HIGHMEM
Ralf Baechle6e760c82005-07-06 12:08:11 +00001015 help
1016 Choose this option to build a kernel for release 1 or later of the
1017 MIPS64 architecture. Many modern embedded systems with a 64-bit
1018 MIPS processor are based on a MIPS64 processor. If you know the
1019 specific type of processor in your system, choose those that one
1020 otherwise CPU_MIPS64_R1 is a safe bet for any MIPS64 system.
Ralf Baechle1e5f1ca2005-07-12 14:51:22 +00001021 Release 2 of the MIPS64 architecture is available since several
1022 years so chances are you even have a MIPS64 Release 2 processor
1023 in which case you should choose CPU_MIPS64_R2 instead for better
1024 performance.
1025
1026config CPU_MIPS64_R2
1027 bool "MIPS64 Release 2"
Ralf Baechle7cf80532005-10-20 22:33:09 +01001028 depends on SYS_HAS_CPU_MIPS64_R2
Ralf Baechlef7062dd2006-04-24 14:58:53 +01001029 select CPU_HAS_LLSC
Ralf Baechle797798c2005-08-10 15:17:11 +00001030 select CPU_HAS_PREFETCH
Ralf Baechle1e5f1ca2005-07-12 14:51:22 +00001031 select CPU_SUPPORTS_32BIT_KERNEL
1032 select CPU_SUPPORTS_64BIT_KERNEL
Ralf Baechleec28f302006-03-05 00:45:33 +00001033 select CPU_SUPPORTS_HIGHMEM
Ralf Baechle1e5f1ca2005-07-12 14:51:22 +00001034 help
1035 Choose this option to build a kernel for release 2 or later of the
1036 MIPS64 architecture. Many modern embedded systems with a 64-bit
1037 MIPS processor are based on a MIPS64 processor. If you know the
1038 specific type of processor in your system, choose those that one
1039 otherwise CPU_MIPS64_R1 is a safe bet for any MIPS64 system.
Linus Torvalds1da177e2005-04-16 15:20:36 -07001040
1041config CPU_R3000
1042 bool "R3000"
Ralf Baechle7cf80532005-10-20 22:33:09 +01001043 depends on SYS_HAS_CPU_R3000
Ralf Baechlef7062dd2006-04-24 14:58:53 +01001044 select CPU_HAS_WB
Yoichi Yuasaed5ba2f2005-09-03 15:56:21 -07001045 select CPU_SUPPORTS_32BIT_KERNEL
Ralf Baechle797798c2005-08-10 15:17:11 +00001046 select CPU_SUPPORTS_HIGHMEM
Linus Torvalds1da177e2005-04-16 15:20:36 -07001047 help
1048 Please make sure to pick the right CPU type. Linux/MIPS is not
1049 designed to be generic, i.e. Kernels compiled for R3000 CPUs will
1050 *not* work on R4000 machines and vice versa. However, since most
1051 of the supported machines have an R4000 (or similar) CPU, R4x00
1052 might be a safe bet. If the resulting kernel does not work,
1053 try to recompile with R3000.
1054
1055config CPU_TX39XX
1056 bool "R39XX"
Ralf Baechle7cf80532005-10-20 22:33:09 +01001057 depends on SYS_HAS_CPU_TX39XX
Yoichi Yuasaed5ba2f2005-09-03 15:56:21 -07001058 select CPU_SUPPORTS_32BIT_KERNEL
Linus Torvalds1da177e2005-04-16 15:20:36 -07001059
1060config CPU_VR41XX
1061 bool "R41xx"
Ralf Baechle7cf80532005-10-20 22:33:09 +01001062 depends on SYS_HAS_CPU_VR41XX
Yoichi Yuasaed5ba2f2005-09-03 15:56:21 -07001063 select CPU_SUPPORTS_32BIT_KERNEL
1064 select CPU_SUPPORTS_64BIT_KERNEL
Linus Torvalds1da177e2005-04-16 15:20:36 -07001065 help
Ralf Baechle5e83d432005-10-29 19:32:41 +01001066 The options selects support for the NEC VR4100 series of processors.
Linus Torvalds1da177e2005-04-16 15:20:36 -07001067 Only choose this option if you have one of these processors as a
1068 kernel built with this option will not run on any other type of
1069 processor or vice versa.
1070
1071config CPU_R4300
1072 bool "R4300"
Ralf Baechle7cf80532005-10-20 22:33:09 +01001073 depends on SYS_HAS_CPU_R4300
Ralf Baechlef7062dd2006-04-24 14:58:53 +01001074 select CPU_HAS_LLSC
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
1078 MIPS Technologies R4300-series processors.
1079
1080config CPU_R4X00
1081 bool "R4x00"
Ralf Baechle7cf80532005-10-20 22:33:09 +01001082 depends on SYS_HAS_CPU_R4X00
Ralf Baechlef7062dd2006-04-24 14:58:53 +01001083 select CPU_HAS_LLSC
Yoichi Yuasaed5ba2f2005-09-03 15:56:21 -07001084 select CPU_SUPPORTS_32BIT_KERNEL
1085 select CPU_SUPPORTS_64BIT_KERNEL
Linus Torvalds1da177e2005-04-16 15:20:36 -07001086 help
1087 MIPS Technologies R4000-series processors other than 4300, including
1088 the R4000, R4400, R4600, and 4700.
1089
1090config CPU_TX49XX
1091 bool "R49XX"
Ralf Baechle7cf80532005-10-20 22:33:09 +01001092 depends on SYS_HAS_CPU_TX49XX
Ralf Baechlef7062dd2006-04-24 14:58:53 +01001093 select CPU_HAS_LLSC
Atsushi Nemotode862b42006-03-17 12:59:22 +09001094 select CPU_HAS_PREFETCH
Yoichi Yuasaed5ba2f2005-09-03 15:56:21 -07001095 select CPU_SUPPORTS_32BIT_KERNEL
1096 select CPU_SUPPORTS_64BIT_KERNEL
Linus Torvalds1da177e2005-04-16 15:20:36 -07001097
1098config CPU_R5000
1099 bool "R5000"
Ralf Baechle7cf80532005-10-20 22:33:09 +01001100 depends on SYS_HAS_CPU_R5000
Ralf Baechlef7062dd2006-04-24 14:58:53 +01001101 select CPU_HAS_LLSC
Yoichi Yuasaed5ba2f2005-09-03 15:56:21 -07001102 select CPU_SUPPORTS_32BIT_KERNEL
1103 select CPU_SUPPORTS_64BIT_KERNEL
Linus Torvalds1da177e2005-04-16 15:20:36 -07001104 help
1105 MIPS Technologies R5000-series processors other than the Nevada.
1106
1107config CPU_R5432
1108 bool "R5432"
Ralf Baechle7cf80532005-10-20 22:33:09 +01001109 depends on SYS_HAS_CPU_R5432
Ralf Baechlef7062dd2006-04-24 14:58:53 +01001110 select CPU_HAS_LLSC
Ralf Baechle5e83d432005-10-29 19:32:41 +01001111 select CPU_SUPPORTS_32BIT_KERNEL
1112 select CPU_SUPPORTS_64BIT_KERNEL
Linus Torvalds1da177e2005-04-16 15:20:36 -07001113
Shinya Kuribayashi542c1022008-10-24 01:27:57 +09001114config CPU_R5500
1115 bool "R5500"
1116 depends on SYS_HAS_CPU_R5500
1117 select CPU_HAS_LLSC
1118 select CPU_SUPPORTS_32BIT_KERNEL
1119 select CPU_SUPPORTS_64BIT_KERNEL
1120 help
1121 NEC VR5500 and VR5500A series processors implement 64-bit MIPS IV
1122 instruction set.
1123
Linus Torvalds1da177e2005-04-16 15:20:36 -07001124config CPU_R6000
1125 bool "R6000"
Yoichi Yuasaed5ba2f2005-09-03 15:56:21 -07001126 depends on EXPERIMENTAL
Ralf Baechlef7062dd2006-04-24 14:58:53 +01001127 select CPU_HAS_LLSC
Ralf Baechle7cf80532005-10-20 22:33:09 +01001128 depends on SYS_HAS_CPU_R6000
Yoichi Yuasaed5ba2f2005-09-03 15:56:21 -07001129 select CPU_SUPPORTS_32BIT_KERNEL
Linus Torvalds1da177e2005-04-16 15:20:36 -07001130 help
1131 MIPS Technologies R6000 and R6000A series processors. Note these
Chris Dearmanc09b47d2006-06-20 17:15:20 +01001132 processors are extremely rare and the support for them is incomplete.
Linus Torvalds1da177e2005-04-16 15:20:36 -07001133
1134config CPU_NEVADA
1135 bool "RM52xx"
Ralf Baechle7cf80532005-10-20 22:33:09 +01001136 depends on SYS_HAS_CPU_NEVADA
Ralf Baechlef7062dd2006-04-24 14:58:53 +01001137 select CPU_HAS_LLSC
Yoichi Yuasaed5ba2f2005-09-03 15:56:21 -07001138 select CPU_SUPPORTS_32BIT_KERNEL
1139 select CPU_SUPPORTS_64BIT_KERNEL
Linus Torvalds1da177e2005-04-16 15:20:36 -07001140 help
1141 QED / PMC-Sierra RM52xx-series ("Nevada") processors.
1142
1143config CPU_R8000
1144 bool "R8000"
Yoichi Yuasaed5ba2f2005-09-03 15:56:21 -07001145 depends on EXPERIMENTAL
Ralf Baechle7cf80532005-10-20 22:33:09 +01001146 depends on SYS_HAS_CPU_R8000
Ralf Baechlef7062dd2006-04-24 14:58:53 +01001147 select CPU_HAS_LLSC
Ralf Baechle5e83d432005-10-29 19:32:41 +01001148 select CPU_HAS_PREFETCH
Yoichi Yuasaed5ba2f2005-09-03 15:56:21 -07001149 select CPU_SUPPORTS_64BIT_KERNEL
Linus Torvalds1da177e2005-04-16 15:20:36 -07001150 help
1151 MIPS Technologies R8000 processors. Note these processors are
1152 uncommon and the support for them is incomplete.
1153
1154config CPU_R10000
1155 bool "R10000"
Ralf Baechle7cf80532005-10-20 22:33:09 +01001156 depends on SYS_HAS_CPU_R10000
Ralf Baechlef7062dd2006-04-24 14:58:53 +01001157 select CPU_HAS_LLSC
Ralf Baechle5e83d432005-10-29 19:32:41 +01001158 select CPU_HAS_PREFETCH
Yoichi Yuasaed5ba2f2005-09-03 15:56:21 -07001159 select CPU_SUPPORTS_32BIT_KERNEL
1160 select CPU_SUPPORTS_64BIT_KERNEL
Ralf Baechle797798c2005-08-10 15:17:11 +00001161 select CPU_SUPPORTS_HIGHMEM
Linus Torvalds1da177e2005-04-16 15:20:36 -07001162 help
1163 MIPS Technologies R10000-series processors.
1164
1165config CPU_RM7000
1166 bool "RM7000"
Ralf Baechle7cf80532005-10-20 22:33:09 +01001167 depends on SYS_HAS_CPU_RM7000
Ralf Baechlef7062dd2006-04-24 14:58:53 +01001168 select CPU_HAS_LLSC
Ralf Baechle5e83d432005-10-29 19:32:41 +01001169 select CPU_HAS_PREFETCH
Yoichi Yuasaed5ba2f2005-09-03 15:56:21 -07001170 select CPU_SUPPORTS_32BIT_KERNEL
1171 select CPU_SUPPORTS_64BIT_KERNEL
Ralf Baechle797798c2005-08-10 15:17:11 +00001172 select CPU_SUPPORTS_HIGHMEM
Linus Torvalds1da177e2005-04-16 15:20:36 -07001173
1174config CPU_RM9000
1175 bool "RM9000"
Ralf Baechle7cf80532005-10-20 22:33:09 +01001176 depends on SYS_HAS_CPU_RM9000
Ralf Baechlef7062dd2006-04-24 14:58:53 +01001177 select CPU_HAS_LLSC
Ralf Baechle5e83d432005-10-29 19:32:41 +01001178 select CPU_HAS_PREFETCH
Yoichi Yuasaed5ba2f2005-09-03 15:56:21 -07001179 select CPU_SUPPORTS_32BIT_KERNEL
1180 select CPU_SUPPORTS_64BIT_KERNEL
Ralf Baechle797798c2005-08-10 15:17:11 +00001181 select CPU_SUPPORTS_HIGHMEM
Ralf Baechle0004a9d2006-10-31 03:45:07 +00001182 select WEAK_ORDERING
Linus Torvalds1da177e2005-04-16 15:20:36 -07001183
1184config CPU_SB1
1185 bool "SB1"
Ralf Baechle7cf80532005-10-20 22:33:09 +01001186 depends on SYS_HAS_CPU_SB1
Ralf Baechlef7062dd2006-04-24 14:58:53 +01001187 select CPU_HAS_LLSC
Yoichi Yuasaed5ba2f2005-09-03 15:56:21 -07001188 select CPU_SUPPORTS_32BIT_KERNEL
1189 select CPU_SUPPORTS_64BIT_KERNEL
Ralf Baechle797798c2005-08-10 15:17:11 +00001190 select CPU_SUPPORTS_HIGHMEM
Ralf Baechle0004a9d2006-10-31 03:45:07 +00001191 select WEAK_ORDERING
Linus Torvalds1da177e2005-04-16 15:20:36 -07001192
1193endchoice
1194
Fuxin Zhang2a21c732007-06-06 14:52:43 +08001195config SYS_HAS_CPU_LOONGSON2
1196 bool
1197
Ralf Baechle7cf80532005-10-20 22:33:09 +01001198config SYS_HAS_CPU_MIPS32_R1
1199 bool
1200
1201config SYS_HAS_CPU_MIPS32_R2
1202 bool
1203
1204config SYS_HAS_CPU_MIPS64_R1
1205 bool
1206
1207config SYS_HAS_CPU_MIPS64_R2
1208 bool
1209
1210config SYS_HAS_CPU_R3000
1211 bool
1212
1213config SYS_HAS_CPU_TX39XX
1214 bool
1215
1216config SYS_HAS_CPU_VR41XX
1217 bool
1218
1219config SYS_HAS_CPU_R4300
1220 bool
1221
1222config SYS_HAS_CPU_R4X00
1223 bool
1224
1225config SYS_HAS_CPU_TX49XX
1226 bool
1227
1228config SYS_HAS_CPU_R5000
1229 bool
1230
1231config SYS_HAS_CPU_R5432
1232 bool
1233
Shinya Kuribayashi542c1022008-10-24 01:27:57 +09001234config SYS_HAS_CPU_R5500
1235 bool
1236
Ralf Baechle7cf80532005-10-20 22:33:09 +01001237config SYS_HAS_CPU_R6000
1238 bool
1239
1240config SYS_HAS_CPU_NEVADA
1241 bool
1242
1243config SYS_HAS_CPU_R8000
1244 bool
1245
1246config SYS_HAS_CPU_R10000
1247 bool
1248
1249config SYS_HAS_CPU_RM7000
1250 bool
1251
1252config SYS_HAS_CPU_RM9000
1253 bool
1254
1255config SYS_HAS_CPU_SB1
1256 bool
1257
Ralf Baechle17099b12007-07-14 13:24:05 +01001258#
1259# CPU may reorder R->R, R->W, W->R, W->W
1260# Reordering beyond LL and SC is handled in WEAK_REORDERING_BEYOND_LLSC
1261#
Ralf Baechle0004a9d2006-10-31 03:45:07 +00001262config WEAK_ORDERING
1263 bool
Ralf Baechle17099b12007-07-14 13:24:05 +01001264
1265#
1266# CPU may reorder reads and writes beyond LL/SC
1267# CPU may reorder R->LL, R->LL, W->LL, W->LL, R->SC, R->SC, W->SC, W->SC
1268#
1269config WEAK_REORDERING_BEYOND_LLSC
1270 bool
Ralf Baechle5e83d432005-10-29 19:32:41 +01001271endmenu
1272
1273#
Chris Dearmanc09b47d2006-06-20 17:15:20 +01001274# These two indicate any level of the MIPS32 and MIPS64 architecture
Ralf Baechle5e83d432005-10-29 19:32:41 +01001275#
1276config CPU_MIPS32
1277 bool
1278 default y if CPU_MIPS32_R1 || CPU_MIPS32_R2
1279
1280config CPU_MIPS64
1281 bool
1282 default y if CPU_MIPS64_R1 || CPU_MIPS64_R2
1283
1284#
Chris Dearmanc09b47d2006-06-20 17:15:20 +01001285# These two indicate the revision of the architecture, either Release 1 or Release 2
Ralf Baechle5e83d432005-10-29 19:32:41 +01001286#
1287config CPU_MIPSR1
1288 bool
1289 default y if CPU_MIPS32_R1 || CPU_MIPS64_R1
1290
1291config CPU_MIPSR2
1292 bool
1293 default y if CPU_MIPS32_R2 || CPU_MIPS64_R2
1294
1295config SYS_SUPPORTS_32BIT_KERNEL
1296 bool
1297config SYS_SUPPORTS_64BIT_KERNEL
1298 bool
1299config CPU_SUPPORTS_32BIT_KERNEL
1300 bool
1301config CPU_SUPPORTS_64BIT_KERNEL
1302 bool
1303
David Daney8192c9e2008-09-23 00:04:26 -07001304#
1305# Set to y for ptrace access to watch registers.
1306#
1307config HARDWARE_WATCHPOINTS
1308 bool
1309 default y if CPU_MIPS32 || CPU_MIPS64
1310
Ralf Baechle5e83d432005-10-29 19:32:41 +01001311menu "Kernel type"
1312
1313choice
1314
1315 prompt "Kernel code model"
1316 help
1317 You should only select this option if you have a workload that
1318 actually benefits from 64-bit processing or if your machine has
1319 large memory. You will only be presented a single option in this
1320 menu if your system does not support both 32-bit and 64-bit kernels.
1321
1322config 32BIT
1323 bool "32-bit kernel"
1324 depends on CPU_SUPPORTS_32BIT_KERNEL && SYS_SUPPORTS_32BIT_KERNEL
1325 select TRAD_SIGNALS
1326 help
1327 Select this option if you want to build a 32-bit kernel.
1328config 64BIT
1329 bool "64-bit kernel"
1330 depends on CPU_SUPPORTS_64BIT_KERNEL && SYS_SUPPORTS_64BIT_KERNEL
1331 help
1332 Select this option if you want to build a 64-bit kernel.
1333
1334endchoice
1335
Linus Torvalds1da177e2005-04-16 15:20:36 -07001336choice
1337 prompt "Kernel page size"
1338 default PAGE_SIZE_4KB
1339
1340config PAGE_SIZE_4KB
1341 bool "4kB"
1342 help
1343 This option select the standard 4kB Linux page size. On some
1344 R3000-family processors this is the only available page size. Using
1345 4kB page size will minimize memory consumption and is therefore
1346 recommended for low memory systems.
1347
1348config PAGE_SIZE_8KB
1349 bool "8kB"
1350 depends on EXPERIMENTAL && CPU_R8000
1351 help
1352 Using 8kB page size will result in higher performance kernel at
1353 the price of higher memory consumption. This option is available
1354 only on the R8000 processor. Not that at the time of this writing
1355 this option is still high experimental; there are also issues with
1356 compatibility of user applications.
1357
1358config PAGE_SIZE_16KB
1359 bool "16kB"
Ralf Baechle714bfad2006-05-17 14:04:30 +01001360 depends on !CPU_R3000 && !CPU_TX39XX
Linus Torvalds1da177e2005-04-16 15:20:36 -07001361 help
1362 Using 16kB page size will result in higher performance kernel at
1363 the price of higher memory consumption. This option is available on
Ralf Baechle714bfad2006-05-17 14:04:30 +01001364 all non-R3000 family processors. Note that you will need a suitable
1365 Linux distribution to support this.
Linus Torvalds1da177e2005-04-16 15:20:36 -07001366
1367config PAGE_SIZE_64KB
1368 bool "64kB"
1369 depends on EXPERIMENTAL && !CPU_R3000 && !CPU_TX39XX
1370 help
1371 Using 64kB page size will result in higher performance kernel at
1372 the price of higher memory consumption. This option is available on
1373 all non-R3000 family processor. Not that at the time of this
Ralf Baechle714bfad2006-05-17 14:04:30 +01001374 writing this option is still high experimental.
Linus Torvalds1da177e2005-04-16 15:20:36 -07001375
1376endchoice
1377
1378config BOARD_SCACHE
1379 bool
1380
1381config IP22_CPU_SCACHE
1382 bool
1383 select BOARD_SCACHE
1384
Chris Dearman9318c512006-06-20 17:15:20 +01001385#
1386# Support for a MIPS32 / MIPS64 style S-caches
1387#
1388config MIPS_CPU_SCACHE
1389 bool
1390 select BOARD_SCACHE
1391
Linus Torvalds1da177e2005-04-16 15:20:36 -07001392config R5000_CPU_SCACHE
1393 bool
1394 select BOARD_SCACHE
1395
1396config RM7000_CPU_SCACHE
1397 bool
1398 select BOARD_SCACHE
1399
1400config SIBYTE_DMA_PAGEOPS
1401 bool "Use DMA to clear/copy pages"
1402 depends on CPU_SB1
1403 help
1404 Instead of using the CPU to zero and copy pages, use a Data Mover
1405 channel. These DMA channels are otherwise unused by the standard
1406 SiByte Linux port. Seems to give a small performance benefit.
1407
1408config CPU_HAS_PREFETCH
Ralf Baechlec8094b52005-08-05 14:28:54 +00001409 bool
Linus Torvalds1da177e2005-04-16 15:20:36 -07001410
Ralf Baechle340ee4b2005-08-17 17:44:08 +00001411choice
1412 prompt "MIPS MT options"
Ralf Baechlef41ae0b2006-06-05 17:24:46 +01001413
1414config MIPS_MT_DISABLED
1415 bool "Disable multithreading support."
1416 help
1417 Use this option if your workload can't take advantage of
1418 MIPS hardware multithreading support. On systems that don't have
1419 the option of an MT-enabled processor this option will be the only
1420 option in this menu.
Ralf Baechle340ee4b2005-08-17 17:44:08 +00001421
Ralf Baechle59d6ab82006-10-06 17:36:20 +01001422config MIPS_MT_SMP
1423 bool "Use 1 TC on each available VPE for SMP"
1424 depends on SYS_SUPPORTS_MULTITHREADING
1425 select CPU_MIPSR2_IRQ_VI
Chris Dearmand725cf32007-05-08 14:05:39 +01001426 select CPU_MIPSR2_IRQ_EI
Ralf Baechle59d6ab82006-10-06 17:36:20 +01001427 select MIPS_MT
Ralf Baechlef510aa32007-03-16 21:58:37 +00001428 select NR_CPUS_DEFAULT_2
Ralf Baechle59d6ab82006-10-06 17:36:20 +01001429 select SMP
Ralf Baechle0ab7aef2007-03-02 20:42:04 +00001430 select SYS_SUPPORTS_SCHED_SMT if SMP
Ralf Baechle59d6ab82006-10-06 17:36:20 +01001431 select SYS_SUPPORTS_SMP
Ralf Baechle87353d82007-11-19 12:23:51 +00001432 select SMP_UP
Ralf Baechle59d6ab82006-10-06 17:36:20 +01001433 help
1434 This is a kernel model which is also known a VSMP or lately
1435 has been marketesed into SMVP.
1436
Ralf Baechle41c594a2006-04-05 09:45:45 +01001437config MIPS_MT_SMTC
1438 bool "SMTC: Use all TCs on all VPEs for SMP"
Ralf Baechlef41ae0b2006-06-05 17:24:46 +01001439 depends on CPU_MIPS32_R2
1440 #depends on CPU_MIPS64_R2 # once there is hardware ...
1441 depends on SYS_SUPPORTS_MULTITHREADING
Ralf Baechlef7062dd2006-04-24 14:58:53 +01001442 select CPU_MIPSR2_IRQ_VI
Chris Dearmand725cf32007-05-08 14:05:39 +01001443 select CPU_MIPSR2_IRQ_EI
Ralf Baechlef41ae0b2006-06-05 17:24:46 +01001444 select MIPS_MT
Ralf Baechle130e2fb2007-02-06 16:53:15 +00001445 select NR_CPUS_DEFAULT_8
Ralf Baechle41c594a2006-04-05 09:45:45 +01001446 select SMP
Ralf Baechle73b76c72006-08-15 19:36:40 +01001447 select SYS_SUPPORTS_SMP
Ralf Baechle87353d82007-11-19 12:23:51 +00001448 select SMP_UP
Ralf Baechlef41ae0b2006-06-05 17:24:46 +01001449 help
1450 This is a kernel model which is known a SMTC or lately has been
1451 marketesed into SMVP.
Ralf Baechle41c594a2006-04-05 09:45:45 +01001452
Ralf Baechle340ee4b2005-08-17 17:44:08 +00001453endchoice
1454
Ralf Baechlef41ae0b2006-06-05 17:24:46 +01001455config MIPS_MT
1456 bool
1457
Ralf Baechle0ab7aef2007-03-02 20:42:04 +00001458config SCHED_SMT
1459 bool "SMT (multithreading) scheduler support"
1460 depends on SYS_SUPPORTS_SCHED_SMT
1461 default n
1462 help
1463 SMT scheduler support improves the CPU scheduler's decision making
1464 when dealing with MIPS MT enabled cores at a cost of slightly
1465 increased overhead in some places. If unsure say N here.
1466
1467config SYS_SUPPORTS_SCHED_SMT
1468 bool
1469
1470
Ralf Baechlef41ae0b2006-06-05 17:24:46 +01001471config SYS_SUPPORTS_MULTITHREADING
1472 bool
1473
Ralf Baechlef088fc82006-04-05 09:45:47 +01001474config MIPS_MT_FPAFF
1475 bool "Dynamic FPU affinity for FP-intensive threads"
Ralf Baechlef088fc82006-04-05 09:45:47 +01001476 default y
Ralf Baechle07cc0c92007-07-27 19:31:10 +01001477 depends on MIPS_MT_SMP || MIPS_MT_SMTC
1478
1479config MIPS_VPE_LOADER
1480 bool "VPE loader support."
1481 depends on SYS_SUPPORTS_MULTITHREADING
1482 select CPU_MIPSR2_IRQ_VI
1483 select CPU_MIPSR2_IRQ_EI
Ralf Baechle07cc0c92007-07-27 19:31:10 +01001484 select MIPS_MT
1485 help
1486 Includes a loader for loading an elf relocatable object
1487 onto another VPE and running it.
Ralf Baechlef088fc82006-04-05 09:45:47 +01001488
Kevin D. Kissell0db34212007-07-12 16:21:08 +01001489config MIPS_MT_SMTC_IM_BACKSTOP
1490 bool "Use per-TC register bits as backstop for inhibited IM bits"
1491 depends on MIPS_MT_SMTC
Kevin D. Kissell8531a352008-09-09 21:48:52 +02001492 default n
Kevin D. Kissell0db34212007-07-12 16:21:08 +01001493 help
1494 To support multiple TC microthreads acting as "CPUs" within
1495 a VPE, VPE-wide interrupt mask bits must be specially manipulated
1496 during interrupt handling. To support legacy drivers and interrupt
1497 controller management code, SMTC has a "backstop" to track and
1498 if necessary restore the interrupt mask. This has some performance
Kevin D. Kissell8531a352008-09-09 21:48:52 +02001499 impact on interrupt service overhead.
Kevin D. Kissell0db34212007-07-12 16:21:08 +01001500
Kevin D. Kissellf571eff2007-08-03 19:38:03 +02001501config MIPS_MT_SMTC_IRQAFF
1502 bool "Support IRQ affinity API"
1503 depends on MIPS_MT_SMTC
1504 default n
1505 help
1506 Enables SMP IRQ affinity API (/proc/irq/*/smp_affinity, etc.)
1507 for SMTC Linux kernel. Requires platform support, of which
1508 an example can be found in the MIPS kernel i8259 and Malta
Kevin D. Kissell8531a352008-09-09 21:48:52 +02001509 platform code. Adds some overhead to interrupt dispatch, and
1510 should be used only if you know what you are doing.
Kevin D. Kissellf571eff2007-08-03 19:38:03 +02001511
Ralf Baechlee01402b2005-07-14 15:57:16 +00001512config MIPS_VPE_LOADER_TOM
1513 bool "Load VPE program into memory hidden from linux"
1514 depends on MIPS_VPE_LOADER
1515 default y
1516 help
1517 The loader can use memory that is present but has been hidden from
1518 Linux using the kernel command line option "mem=xxMB". It's up to
1519 you to ensure the amount you put in the option and the space your
1520 program requires is less or equal to the amount physically present.
1521
1522# this should possibly be in drivers/char, but it is rather cpu related. Hmmm
1523config MIPS_VPE_APSP_API
Ralf Baechle5e83d432005-10-29 19:32:41 +01001524 bool "Enable support for AP/SP API (RTLX)"
1525 depends on MIPS_VPE_LOADER
1526 help
Ralf Baechlee01402b2005-07-14 15:57:16 +00001527
Ralf Baechle26009902006-04-05 09:45:45 +01001528config MIPS_APSP_KSPD
1529 bool "Enable KSPD"
1530 depends on MIPS_VPE_APSP_API
1531 default y
1532 help
1533 KSPD is a kernel daemon that accepts syscall requests from the SP
1534 side, actions them and returns the results. It also handles the
1535 "exit" syscall notifying other kernel modules the SP program is
1536 exiting. You probably want to say yes here.
1537
Ralf Baechle4a16ff42008-10-04 00:06:29 +01001538config MIPS_CMP
1539 bool "MIPS CMP framework support"
1540 depends on SYS_SUPPORTS_MIPS_CMP
1541 select SYNC_R4K if BROKEN
1542 select SYS_SUPPORTS_SMP
1543 select SYS_SUPPORTS_SCHED_SMT if SMP
1544 select WEAK_ORDERING
1545 default n
1546 help
1547 This is a placeholder option for the GCMP work. It will need to
1548 be handled differently...
1549
Linus Torvalds1da177e2005-04-16 15:20:36 -07001550config SB1_PASS_1_WORKAROUNDS
1551 bool
1552 depends on CPU_SB1_PASS_1
1553 default y
1554
1555config SB1_PASS_2_WORKAROUNDS
1556 bool
1557 depends on CPU_SB1 && (CPU_SB1_PASS_2_2 || CPU_SB1_PASS_2)
1558 default y
1559
1560config SB1_PASS_2_1_WORKAROUNDS
1561 bool
1562 depends on CPU_SB1 && CPU_SB1_PASS_2
1563 default y
1564
1565config 64BIT_PHYS_ADDR
Ralf Baechled806cb22007-08-02 00:36:08 +01001566 bool
Linus Torvalds1da177e2005-04-16 15:20:36 -07001567
Linus Torvalds1da177e2005-04-16 15:20:36 -07001568config CPU_HAS_LLSC
Ralf Baechlef7062dd2006-04-24 14:58:53 +01001569 bool
Linus Torvalds1da177e2005-04-16 15:20:36 -07001570
Franck Bui-Huu9693a852007-02-02 17:41:47 +01001571config CPU_HAS_SMARTMIPS
1572 depends on SYS_SUPPORTS_SMARTMIPS
1573 bool "Support for the SmartMIPS ASE"
1574 help
1575 SmartMIPS is a extension of the MIPS32 architecture aimed at
1576 increased security at both hardware and software level for
1577 smartcards. Enabling this option will allow proper use of the
1578 SmartMIPS instructions by Linux applications. However a kernel with
1579 this option will not work on a MIPS core without SmartMIPS core. If
1580 you don't know you probably don't have SmartMIPS and should say N
1581 here.
1582
Linus Torvalds1da177e2005-04-16 15:20:36 -07001583config CPU_HAS_WB
Ralf Baechlef7062dd2006-04-24 14:58:53 +01001584 bool
Ralf Baechlee01402b2005-07-14 15:57:16 +00001585
Ralf Baechlef41ae0b2006-06-05 17:24:46 +01001586#
1587# Vectored interrupt mode is an R2 feature
1588#
Ralf Baechlee01402b2005-07-14 15:57:16 +00001589config CPU_MIPSR2_IRQ_VI
Ralf Baechlef41ae0b2006-06-05 17:24:46 +01001590 bool
Ralf Baechlee01402b2005-07-14 15:57:16 +00001591
Ralf Baechlef41ae0b2006-06-05 17:24:46 +01001592#
1593# Extended interrupt mode is an R2 feature
1594#
Ralf Baechlee01402b2005-07-14 15:57:16 +00001595config CPU_MIPSR2_IRQ_EI
Ralf Baechlef41ae0b2006-06-05 17:24:46 +01001596 bool
Ralf Baechlee01402b2005-07-14 15:57:16 +00001597
Linus Torvalds1da177e2005-04-16 15:20:36 -07001598config CPU_HAS_SYNC
1599 bool
1600 depends on !CPU_R3000
1601 default y
1602
Ralf Baechleea580402007-10-11 23:46:09 +01001603config GENERIC_CLOCKEVENTS_BROADCAST
1604 bool
1605
Linus Torvalds1da177e2005-04-16 15:20:36 -07001606#
Maciej W. Rozycki20d60d92007-10-23 12:43:11 +01001607# CPU non-features
1608#
1609config CPU_DADDI_WORKAROUNDS
1610 bool
1611
1612config CPU_R4000_WORKAROUNDS
1613 bool
1614 select CPU_R4400_WORKAROUNDS
1615
1616config CPU_R4400_WORKAROUNDS
1617 bool
1618
1619#
Ralf Baechle797798c2005-08-10 15:17:11 +00001620# Use the generic interrupt handling code in kernel/irq/:
1621#
1622config GENERIC_HARDIRQS
1623 bool
1624 default y
1625
1626config GENERIC_IRQ_PROBE
1627 bool
1628 default y
1629
Ingo Molnar0d7012a2006-06-29 02:24:43 -07001630config IRQ_PER_CPU
Ingo Molnar0d7012a2006-06-29 02:24:43 -07001631 bool
Ingo Molnar0d7012a2006-06-29 02:24:43 -07001632
Ralf Baechle797798c2005-08-10 15:17:11 +00001633#
Linus Torvalds1da177e2005-04-16 15:20:36 -07001634# - Highmem only makes sense for the 32-bit kernel.
1635# - The current highmem code will only work properly on physically indexed
1636# caches such as R3000, SB1, R7000 or those that look like they're virtually
1637# indexed such as R4000/R4400 SC and MC versions or R10000. So for the
1638# moment we protect the user and offer the highmem option only on machines
1639# where it's known to be safe. This will not offer highmem on a few systems
1640# such as MIPS32 and MIPS64 CPUs which may have virtual and physically
1641# indexed CPUs but we're playing safe.
Ralf Baechle797798c2005-08-10 15:17:11 +00001642# - We use SYS_SUPPORTS_HIGHMEM to offer highmem only for systems where we
1643# know they might have memory configurations that could make use of highmem
1644# support.
Linus Torvalds1da177e2005-04-16 15:20:36 -07001645#
1646config HIGHMEM
1647 bool "High Memory Support"
Ralf Baechle797798c2005-08-10 15:17:11 +00001648 depends on 32BIT && CPU_SUPPORTS_HIGHMEM && SYS_SUPPORTS_HIGHMEM
1649
1650config CPU_SUPPORTS_HIGHMEM
1651 bool
1652
1653config SYS_SUPPORTS_HIGHMEM
1654 bool
Linus Torvalds1da177e2005-04-16 15:20:36 -07001655
Franck Bui-Huu9693a852007-02-02 17:41:47 +01001656config SYS_SUPPORTS_SMARTMIPS
1657 bool
1658
Yoichi Yuasab4819b52005-06-25 14:54:31 -07001659config ARCH_FLATMEM_ENABLE
1660 def_bool y
1661 depends on !NUMA
1662
Ralf Baechled8cb4e12006-06-11 23:03:08 +01001663config ARCH_DISCONTIGMEM_ENABLE
1664 bool
1665 default y if SGI_IP27
1666 help
David Sterba3dde6ad2007-05-09 07:12:20 +02001667 Say Y to support efficient handling of discontiguous physical memory,
Ralf Baechled8cb4e12006-06-11 23:03:08 +01001668 for architectures which are either NUMA (Non-Uniform Memory Access)
1669 or have huge holes in the physical address space for other reasons.
1670 See <file:Documentation/vm/numa> for more.
1671
Ralf Baechlecce335a2007-11-03 02:05:43 +00001672config ARCH_POPULATES_NODE_MAP
1673 def_bool y
1674
Atsushi Nemotob1c6cd42006-07-03 00:09:47 +09001675config ARCH_SPARSEMEM_ENABLE
1676 bool
Atsushi Nemoto7de58fa2006-07-05 01:22:44 +09001677 select SPARSEMEM_STATIC
Atsushi Nemoto31473742006-07-03 00:09:47 +09001678
Ralf Baechled8cb4e12006-06-11 23:03:08 +01001679config NUMA
1680 bool "NUMA Support"
1681 depends on SYS_SUPPORTS_NUMA
1682 help
1683 Say Y to compile the kernel to support NUMA (Non-Uniform Memory
1684 Access). This option improves performance on systems with more
1685 than two nodes; on two node systems it is generally better to
1686 leave it disabled; on single node systems disable this option
1687 disabled.
1688
1689config SYS_SUPPORTS_NUMA
1690 bool
1691
Yasunori Gotoc80d79d2006-04-10 22:53:53 -07001692config NODES_SHIFT
1693 int
1694 default "6"
1695 depends on NEED_MULTIPLE_NODES
1696
Yoichi Yuasab4819b52005-06-25 14:54:31 -07001697source "mm/Kconfig"
1698
Linus Torvalds1da177e2005-04-16 15:20:36 -07001699config SMP
1700 bool "Multi-Processing support"
Ralf Baechlee73ea272006-06-04 11:51:46 +01001701 depends on SYS_SUPPORTS_SMP
Ralf Baechleb4b30a52006-08-03 17:34:24 +01001702 select IRQ_PER_CPU
Jens Axboe2f304c02008-06-17 10:45:23 +02001703 select USE_GENERIC_SMP_HELPERS
Ralf Baechlee73ea272006-06-04 11:51:46 +01001704 help
Linus Torvalds1da177e2005-04-16 15:20:36 -07001705 This enables support for systems with more than one CPU. If you have
1706 a system with only one CPU, like most personal computers, say N. If
1707 you have a system with more than one CPU, say Y.
1708
1709 If you say N here, the kernel will run on single and multiprocessor
1710 machines, but will use only one CPU of a multiprocessor machine. If
1711 you say Y here, the kernel will run on many, but not all,
1712 singleprocessor machines. On a singleprocessor machine, the kernel
1713 will run faster if you say N here.
1714
1715 People using multiprocessor machines who say Y here should also say
1716 Y to "Enhanced Real Time Clock Support", below.
1717
Adrian Bunk03502fa2008-02-03 15:50:21 +02001718 See also the SMP-HOWTO available at
1719 <http://www.tldp.org/docs.html#howto>.
Linus Torvalds1da177e2005-04-16 15:20:36 -07001720
1721 If you don't know what to do here, say N.
1722
Ralf Baechle87353d82007-11-19 12:23:51 +00001723config SMP_UP
1724 bool
1725
Ralf Baechle4a16ff42008-10-04 00:06:29 +01001726config SYS_SUPPORTS_MIPS_CMP
1727 bool
1728
Ralf Baechlee73ea272006-06-04 11:51:46 +01001729config SYS_SUPPORTS_SMP
1730 bool
1731
Atsushi Nemoto72ede9b2007-03-18 01:01:39 +09001732config NR_CPUS_DEFAULT_1
1733 bool
1734
Ralf Baechle130e2fb2007-02-06 16:53:15 +00001735config NR_CPUS_DEFAULT_2
1736 bool
1737
1738config NR_CPUS_DEFAULT_4
1739 bool
1740
1741config NR_CPUS_DEFAULT_8
1742 bool
1743
1744config NR_CPUS_DEFAULT_16
1745 bool
1746
1747config NR_CPUS_DEFAULT_32
1748 bool
1749
1750config NR_CPUS_DEFAULT_64
1751 bool
1752
Linus Torvalds1da177e2005-04-16 15:20:36 -07001753config NR_CPUS
1754 int "Maximum number of CPUs (2-64)"
Atsushi Nemoto72ede9b2007-03-18 01:01:39 +09001755 range 1 64 if NR_CPUS_DEFAULT_1
Linus Torvalds1da177e2005-04-16 15:20:36 -07001756 depends on SMP
Atsushi Nemoto72ede9b2007-03-18 01:01:39 +09001757 default "1" if NR_CPUS_DEFAULT_1
Ralf Baechle130e2fb2007-02-06 16:53:15 +00001758 default "2" if NR_CPUS_DEFAULT_2
1759 default "4" if NR_CPUS_DEFAULT_4
1760 default "8" if NR_CPUS_DEFAULT_8
1761 default "16" if NR_CPUS_DEFAULT_16
1762 default "32" if NR_CPUS_DEFAULT_32
1763 default "64" if NR_CPUS_DEFAULT_64
Linus Torvalds1da177e2005-04-16 15:20:36 -07001764 help
1765 This allows you to specify the maximum number of CPUs which this
1766 kernel will support. The maximum supported value is 32 for 32-bit
1767 kernel and 64 for 64-bit kernels; the minimum value which makes
Atsushi Nemoto72ede9b2007-03-18 01:01:39 +09001768 sense is 1 for Qemu (useful only for kernel debugging purposes)
1769 and 2 for all others.
Linus Torvalds1da177e2005-04-16 15:20:36 -07001770
1771 This is purely to save memory - each supported CPU adds
Atsushi Nemoto72ede9b2007-03-18 01:01:39 +09001772 approximately eight kilobytes to the kernel image. For best
1773 performance should round up your number of processors to the next
1774 power of two.
Linus Torvalds1da177e2005-04-16 15:20:36 -07001775
Atsushi Nemotoc4eee282007-11-12 01:05:16 +09001776source "kernel/time/Kconfig"
1777
Atsushi Nemoto1723b4a2006-06-20 00:19:13 +09001778#
1779# Timer Interrupt Frequency Configuration
1780#
1781
1782choice
1783 prompt "Timer frequency"
1784 default HZ_250
1785 help
1786 Allows the configuration of the timer frequency.
1787
1788 config HZ_48
Ralf Baechle0f873582008-02-25 16:55:29 +00001789 bool "48 HZ" if SYS_SUPPORTS_48HZ || SYS_SUPPORTS_ARBIT_HZ
Atsushi Nemoto1723b4a2006-06-20 00:19:13 +09001790
1791 config HZ_100
1792 bool "100 HZ" if SYS_SUPPORTS_100HZ || SYS_SUPPORTS_ARBIT_HZ
1793
1794 config HZ_128
1795 bool "128 HZ" if SYS_SUPPORTS_128HZ || SYS_SUPPORTS_ARBIT_HZ
1796
1797 config HZ_250
1798 bool "250 HZ" if SYS_SUPPORTS_250HZ || SYS_SUPPORTS_ARBIT_HZ
1799
1800 config HZ_256
1801 bool "256 HZ" if SYS_SUPPORTS_256HZ || SYS_SUPPORTS_ARBIT_HZ
1802
1803 config HZ_1000
1804 bool "1000 HZ" if SYS_SUPPORTS_1000HZ || SYS_SUPPORTS_ARBIT_HZ
1805
1806 config HZ_1024
1807 bool "1024 HZ" if SYS_SUPPORTS_1024HZ || SYS_SUPPORTS_ARBIT_HZ
1808
1809endchoice
1810
1811config SYS_SUPPORTS_48HZ
1812 bool
1813
1814config SYS_SUPPORTS_100HZ
1815 bool
1816
1817config SYS_SUPPORTS_128HZ
1818 bool
1819
1820config SYS_SUPPORTS_250HZ
1821 bool
1822
1823config SYS_SUPPORTS_256HZ
1824 bool
1825
1826config SYS_SUPPORTS_1000HZ
1827 bool
1828
1829config SYS_SUPPORTS_1024HZ
1830 bool
1831
1832config SYS_SUPPORTS_ARBIT_HZ
1833 bool
1834 default y if !SYS_SUPPORTS_48HZ && !SYS_SUPPORTS_100HZ && \
1835 !SYS_SUPPORTS_128HZ && !SYS_SUPPORTS_250HZ && \
1836 !SYS_SUPPORTS_256HZ && !SYS_SUPPORTS_1000HZ && \
1837 !SYS_SUPPORTS_1024HZ
1838
1839config HZ
1840 int
1841 default 48 if HZ_48
1842 default 100 if HZ_100
1843 default 128 if HZ_128
1844 default 250 if HZ_250
1845 default 256 if HZ_256
1846 default 1000 if HZ_1000
1847 default 1024 if HZ_1024
1848
Ralf Baechlee80de852005-07-11 20:45:51 +00001849source "kernel/Kconfig.preempt"
Linus Torvalds1da177e2005-04-16 15:20:36 -07001850
Linus Torvalds1da177e2005-04-16 15:20:36 -07001851config MIPS_INSANE_LARGE
1852 bool "Support for large 64-bit configurations"
Ralf Baechle875d43e2005-09-03 15:56:16 -07001853 depends on CPU_R10000 && 64BIT
Linus Torvalds1da177e2005-04-16 15:20:36 -07001854 help
1855 MIPS R10000 does support a 44 bit / 16TB address space as opposed to
1856 previous 64-bit processors which only supported 40 bit / 1TB. If you
1857 need processes of more than 1TB virtual address space, say Y here.
1858 This will result in additional memory usage, so it is not
1859 recommended for normal users.
1860
Atsushi Nemotoea6e9422007-01-16 23:29:11 +09001861config KEXEC
1862 bool "Kexec system call (EXPERIMENTAL)"
1863 depends on EXPERIMENTAL
1864 help
1865 kexec is a system call that implements the ability to shutdown your
1866 current kernel, and to start another kernel. It is like a reboot
David Sterba3dde6ad2007-05-09 07:12:20 +02001867 but it is independent of the system firmware. And like a reboot
Atsushi Nemotoea6e9422007-01-16 23:29:11 +09001868 you can start any kernel with it, not just Linux.
1869
Matt LaPlante01dd2fb2007-10-20 01:34:40 +02001870 The name comes from the similarity to the exec system call.
Atsushi Nemotoea6e9422007-01-16 23:29:11 +09001871
1872 It is an ongoing process to be certain the hardware in a machine
1873 is properly shutdown, so do not be surprised if this code does not
1874 initially work for you. It may help to enable device hotplugging
1875 support. As of this writing the exact hardware interface is
1876 strongly in flux, so no good recommendation can be made.
1877
1878config SECCOMP
1879 bool "Enable seccomp to safely compute untrusted bytecode"
Ralf Baechle293c5bd2007-07-25 16:19:33 +01001880 depends on PROC_FS
Atsushi Nemotoea6e9422007-01-16 23:29:11 +09001881 default y
1882 help
1883 This kernel feature is useful for number crunching applications
1884 that may need to compute untrusted bytecode during their
1885 execution. By using pipes or other transports made available to
1886 the process as file descriptors supporting the read/write
1887 syscalls, it's possible to isolate those applications in
1888 their own address space using seccomp. Once seccomp is
1889 enabled via /proc/<pid>/seccomp, it cannot be disabled
1890 and the task is only allowed to execute a few safe syscalls
1891 defined by each seccomp mode.
1892
1893 If unsure, say Y. Only embedded should say N here.
1894
Ralf Baechle5e83d432005-10-29 19:32:41 +01001895endmenu
1896
Linus Torvalds1da177e2005-04-16 15:20:36 -07001897config RWSEM_GENERIC_SPINLOCK
1898 bool
1899 default y
1900
Atsushi Nemoto1df0f0f2006-09-26 23:44:01 +09001901config LOCKDEP_SUPPORT
1902 bool
1903 default y
1904
1905config STACKTRACE_SUPPORT
1906 bool
1907 default y
1908
Ralf Baechleb6c35392005-11-25 11:35:40 +00001909source "init/Kconfig"
1910
Atsushi Nemoto00110362008-08-26 22:34:57 +09001911config PROBE_INITRD_HEADER
1912 bool "Probe initrd header created by addinitrd"
1913 depends on BLK_DEV_INITRD
1914 help
1915 Probe initrd header at the last page of kernel image.
1916 Say Y here if you are using arch/mips/boot/addinitrd.c to
1917 add initrd or initramfs image to the kernel image.
1918 Otherwise, say N.
1919
Matt Helsleydc52ddc2008-10-18 20:27:21 -07001920source "kernel/Kconfig.freezer"
1921
Linus Torvalds1da177e2005-04-16 15:20:36 -07001922menu "Bus options (PCI, PCMCIA, EISA, ISA, TC)"
1923
Ralf Baechle5e83d432005-10-29 19:32:41 +01001924config HW_HAS_EISA
1925 bool
Linus Torvalds1da177e2005-04-16 15:20:36 -07001926config HW_HAS_PCI
1927 bool
1928
1929config PCI
1930 bool "Support for PCI controller"
1931 depends on HW_HAS_PCI
Ralf Baechleabb4ae42007-10-11 23:46:03 +01001932 select PCI_DOMAINS
Linus Torvalds1da177e2005-04-16 15:20:36 -07001933 help
1934 Find out whether you have a PCI motherboard. PCI is the name of a
1935 bus system, i.e. the way the CPU talks to the other stuff inside
1936 your box. Other bus systems are ISA, EISA, or VESA. If you have PCI,
1937 say Y, otherwise N.
1938
Linus Torvalds1da177e2005-04-16 15:20:36 -07001939config PCI_DOMAINS
1940 bool
Linus Torvalds1da177e2005-04-16 15:20:36 -07001941
1942source "drivers/pci/Kconfig"
1943
1944#
1945# ISA support is now enabled via select. Too many systems still have the one
1946# or other ISA chip on the board that users don't know about so don't expect
1947# users to choose the right thing ...
1948#
1949config ISA
1950 bool
1951
1952config EISA
1953 bool "EISA support"
Ralf Baechle5e83d432005-10-29 19:32:41 +01001954 depends on HW_HAS_EISA
Linus Torvalds1da177e2005-04-16 15:20:36 -07001955 select ISA
Ralf Baechleaa414df2006-11-30 01:14:51 +00001956 select GENERIC_ISA_DMA
Linus Torvalds1da177e2005-04-16 15:20:36 -07001957 ---help---
1958 The Extended Industry Standard Architecture (EISA) bus was
1959 developed as an open alternative to the IBM MicroChannel bus.
1960
1961 The EISA bus provided some of the features of the IBM MicroChannel
1962 bus while maintaining backward compatibility with cards made for
1963 the older ISA bus. The EISA bus saw limited use between 1988 and
1964 1995 when it was made obsolete by the PCI bus.
1965
1966 Say Y here if you are building a kernel for an EISA-based machine.
1967
1968 Otherwise, say N.
1969
1970source "drivers/eisa/Kconfig"
1971
1972config TC
1973 bool "TURBOchannel support"
1974 depends on MACH_DECSTATION
1975 help
1976 TurboChannel is a DEC (now Compaq (now HP)) bus for Alpha and MIPS
1977 processors. Documentation on writing device drivers for TurboChannel
1978 is available at:
1979 <http://www.cs.arizona.edu/computer.help/policy/DIGITAL_unix/AA-PS3HD-TET1_html/TITLE.html>.
1980
1981#config ACCESSBUS
1982# bool "Access.Bus support"
1983# depends on TC
1984
1985config MMU
1986 bool
1987 default y
1988
Ralf Baechled865bea2007-10-11 23:46:10 +01001989config I8253
1990 bool
1991
Ralf Baechlecce335a2007-11-03 02:05:43 +00001992config ZONE_DMA32
1993 bool
1994
Linus Torvalds1da177e2005-04-16 15:20:36 -07001995source "drivers/pcmcia/Kconfig"
1996
1997source "drivers/pci/hotplug/Kconfig"
1998
1999endmenu
2000
2001menu "Executable file formats"
2002
2003source "fs/Kconfig.binfmt"
2004
2005config TRAD_SIGNALS
2006 bool
Linus Torvalds1da177e2005-04-16 15:20:36 -07002007
Linus Torvalds1da177e2005-04-16 15:20:36 -07002008config MIPS32_COMPAT
2009 bool "Kernel support for Linux/MIPS 32-bit binary compatibility"
Ralf Baechle875d43e2005-09-03 15:56:16 -07002010 depends on 64BIT
Linus Torvalds1da177e2005-04-16 15:20:36 -07002011 help
2012 Select this option if you want Linux/MIPS 32-bit binary
2013 compatibility. Since all software available for Linux/MIPS is
2014 currently 32-bit you should say Y here.
2015
2016config COMPAT
2017 bool
2018 depends on MIPS32_COMPAT
2019 default y
2020
Atsushi Nemoto05e43962006-11-07 18:02:44 +09002021config SYSVIPC_COMPAT
2022 bool
2023 depends on COMPAT && SYSVIPC
2024 default y
2025
Linus Torvalds1da177e2005-04-16 15:20:36 -07002026config MIPS32_O32
2027 bool "Kernel support for o32 binaries"
2028 depends on MIPS32_COMPAT
2029 help
2030 Select this option if you want to run o32 binaries. These are pure
2031 32-bit binaries as used by the 32-bit Linux/MIPS port. Most of
2032 existing binaries are in this format.
2033
2034 If unsure, say Y.
2035
2036config MIPS32_N32
2037 bool "Kernel support for n32 binaries"
2038 depends on MIPS32_COMPAT
2039 help
2040 Select this option if you want to run n32 binaries. These are
2041 64-bit binaries using 32-bit quantities for addressing and certain
2042 data that would normally be 64-bit. They are used in special
2043 cases.
2044
2045 If unsure, say N.
2046
2047config BINFMT_ELF32
2048 bool
2049 default y if MIPS32_O32 || MIPS32_N32
2050
Ralf Baechle21162452007-02-09 17:08:58 +00002051endmenu
Linus Torvalds1da177e2005-04-16 15:20:36 -07002052
Ralf Baechle21162452007-02-09 17:08:58 +00002053menu "Power management options"
Rodolfo Giometti952fa952006-06-05 17:43:10 +02002054
Johannes Bergf4cb5702007-12-08 02:14:00 +01002055config ARCH_SUSPEND_POSSIBLE
2056 def_bool y
2057 depends on !SMP
2058
Ralf Baechle21162452007-02-09 17:08:58 +00002059source "kernel/power/Kconfig"
Rodolfo Giometti952fa952006-06-05 17:43:10 +02002060
Linus Torvalds1da177e2005-04-16 15:20:36 -07002061endmenu
2062
Sam Ravnborgd5950b42005-07-11 21:03:49 -07002063source "net/Kconfig"
2064
Linus Torvalds1da177e2005-04-16 15:20:36 -07002065source "drivers/Kconfig"
2066
2067source "fs/Kconfig"
2068
2069source "arch/mips/Kconfig.debug"
2070
2071source "security/Kconfig"
2072
2073source "crypto/Kconfig"
2074
2075source "lib/Kconfig"