blob: 8fbbef95021f104abfccdf54e14b04826f6c1e18 [file] [log] [blame]
Linus Torvalds1da177e2005-04-16 15:20:36 -07001config MIPS
2 bool
3 default y
Yoichi Yuasaf8ac0422009-06-04 00:16:04 +09004 select HAVE_GENERIC_DMA_COHERENT
Sam Ravnborgec7748b2008-02-09 10:46:40 +01005 select HAVE_IDE
Mathieu Desnoyers42d4b832008-02-02 15:10:34 -05006 select HAVE_OPROFILE
Jason Wessel88547002008-07-29 15:58:53 -05007 select HAVE_ARCH_KGDB
Wu Zhangjind2bb07622009-11-20 20:34:29 +08008 select HAVE_FUNCTION_TRACER
Wu Zhangjin69a7d1b2009-11-20 20:34:30 +08009 select HAVE_FUNCTION_TRACE_MCOUNT_TEST
Wu Zhangjin538f1952009-11-20 20:34:32 +080010 select HAVE_DYNAMIC_FTRACE
11 select HAVE_FTRACE_MCOUNT_RECORD
Wu Zhangjin29c5d342009-11-20 20:34:34 +080012 select HAVE_FUNCTION_GRAPH_TRACER
David Daneyc1bf2072010-08-03 11:22:20 -070013 select HAVE_KPROBES
14 select HAVE_KRETPROBES
Wu Zhangjin21a41fa2009-11-10 00:06:11 +080015 select RTC_LIB if !MACH_LOONGSON
Deng-Cheng Zhu2b789202010-06-09 12:35:25 +080016 select GENERIC_ATOMIC64 if !64BIT
David Daney48e1fd52010-10-01 13:27:32 -070017 select HAVE_DMA_ATTRS
18 select HAVE_DMA_API_DEBUG
Linus Torvalds1da177e2005-04-16 15:20:36 -070019
Linus Torvalds1da177e2005-04-16 15:20:36 -070020menu "Machine selection"
21
Christoph Lameter5ac6da62007-02-10 01:43:14 -080022config ZONE_DMA
23 bool
Christoph Lameter5ac6da62007-02-10 01:43:14 -080024
Ralf Baechle5e83d432005-10-29 19:32:41 +010025choice
26 prompt "System type"
27 default SGI_IP22
Linus Torvalds1da177e2005-04-16 15:20:36 -070028
Manuel Lauss42a4f172010-07-15 21:45:04 +020029config MIPS_ALCHEMY
Yoichi Yuasac3543e22007-05-11 20:44:30 +090030 bool "Alchemy processor based machines"
Manuel Lauss42a4f172010-07-15 21:45:04 +020031 select 64BIT_PHYS_ADDR
32 select CEVT_R4K_LIB
33 select CSRC_R4K_LIB
34 select IRQ_CPU
35 select SYS_HAS_CPU_MIPS32_R1
36 select SYS_SUPPORTS_32BIT_KERNEL
37 select SYS_SUPPORTS_APM_EMULATION
38 select GENERIC_GPIO
39 select ARCH_WANT_OPTIONAL_GPIOLIB
Wu Zhangjin1b93b3c2009-10-14 18:12:16 +080040 select SYS_SUPPORTS_ZBOOT
Linus Torvalds1da177e2005-04-16 15:20:36 -070041
Florian Fainelli7ca5dc12009-06-24 11:12:57 +020042config AR7
43 bool "Texas Instruments AR7"
44 select BOOT_ELF32
45 select DMA_NONCOHERENT
46 select CEVT_R4K
47 select CSRC_R4K
48 select IRQ_CPU
49 select NO_EXCEPT_FILL
50 select SWAP_IO_SPACE
51 select SYS_HAS_CPU_MIPS32_R1
52 select SYS_HAS_EARLY_PRINTK
53 select SYS_SUPPORTS_32BIT_KERNEL
54 select SYS_SUPPORTS_LITTLE_ENDIAN
Wu Zhangjin1b93b3c2009-10-14 18:12:16 +080055 select SYS_SUPPORTS_ZBOOT_UART16550
Florian Fainelli5f3c9092010-01-03 21:16:51 +010056 select ARCH_REQUIRE_GPIOLIB
Florian Fainelli7ca5dc12009-06-24 11:12:57 +020057 select GCD
58 select VLYNQ
59 help
60 Support for the Texas Instruments AR7 System-on-a-Chip
61 family: TNETD7100, 7200 and 7300.
62
Aurelien Jarno1c0c13e2007-09-25 15:40:12 +020063config BCM47XX
Florian Fainellic6193662010-03-25 11:42:41 +010064 bool "Broadcom BCM47XX based boards"
Ralf Baechle42f77542007-10-18 17:48:11 +010065 select CEVT_R4K
Ralf Baechle940f6b42007-11-24 22:33:28 +000066 select CSRC_R4K
Aurelien Jarno1c0c13e2007-09-25 15:40:12 +020067 select DMA_NONCOHERENT
68 select HW_HAS_PCI
69 select IRQ_CPU
70 select SYS_HAS_CPU_MIPS32_R1
71 select SYS_SUPPORTS_32BIT_KERNEL
72 select SYS_SUPPORTS_LITTLE_ENDIAN
73 select SSB
74 select SSB_DRIVER_MIPS
Aurelien Jarno2f02c152007-12-11 11:30:34 +010075 select SSB_DRIVER_EXTIF
Aurelien Jarnob06f3e12008-10-14 11:44:26 +020076 select SSB_EMBEDDED
Hauke Mehrtens220937b12010-07-27 22:12:45 +020077 select SSB_B43_PCI_BRIDGE if PCI
Aurelien Jarno2f02c152007-12-11 11:30:34 +010078 select SSB_PCICORE_HOSTMODE if PCI
Aurelien Jarno1c0c13e2007-09-25 15:40:12 +020079 select GENERIC_GPIO
Aurelien Jarno25e5fb92007-09-25 15:41:24 +020080 select SYS_HAS_EARLY_PRINTK
81 select CFE
Aurelien Jarno1c0c13e2007-09-25 15:40:12 +020082 help
83 Support for BCM47XX based boards
84
Maxime Bizone7300d02009-08-18 13:23:37 +010085config BCM63XX
86 bool "Broadcom BCM63XX based boards"
87 select CEVT_R4K
88 select CSRC_R4K
89 select DMA_NONCOHERENT
90 select IRQ_CPU
91 select SYS_HAS_CPU_MIPS32_R1
92 select SYS_SUPPORTS_32BIT_KERNEL
93 select SYS_SUPPORTS_BIG_ENDIAN
94 select SYS_HAS_EARLY_PRINTK
95 select SWAP_IO_SPACE
96 select ARCH_REQUIRE_GPIOLIB
97 help
98 Support for BCM63XX based boards
99
Linus Torvalds1da177e2005-04-16 15:20:36 -0700100config MIPS_COBALT
Martin Michlmayr3fa986f2006-05-09 23:34:53 +0200101 bool "Cobalt Server"
Ralf Baechle42f77542007-10-18 17:48:11 +0100102 select CEVT_R4K
Ralf Baechle940f6b42007-11-24 22:33:28 +0000103 select CSRC_R4K
Yoichi Yuasa1097c6a2007-10-22 19:43:15 +0900104 select CEVT_GT641XX
Linus Torvalds1da177e2005-04-16 15:20:36 -0700105 select DMA_NONCOHERENT
106 select HW_HAS_PCI
Ralf Baechled865bea2007-10-11 23:46:10 +0100107 select I8253
Linus Torvalds1da177e2005-04-16 15:20:36 -0700108 select I8259
109 select IRQ_CPU
Yoichi Yuasad5ab1a62007-09-13 23:51:26 +0900110 select IRQ_GT641XX
Yoichi Yuasa252161e2007-03-14 21:51:26 +0900111 select PCI_GT64XXX_PCI0
Yoichi Yuasae25bfc92009-06-02 23:17:07 +0900112 select PCI
Ralf Baechle7cf80532005-10-20 22:33:09 +0100113 select SYS_HAS_CPU_NEVADA
Yoichi Yuasa0a22e0d2007-03-02 12:42:33 +0900114 select SYS_HAS_EARLY_PRINTK
Yoichi Yuasaed5ba2f2005-09-03 15:56:21 -0700115 select SYS_SUPPORTS_32BIT_KERNEL
Florian Fainelli0e8774b2008-01-15 19:42:57 +0100116 select SYS_SUPPORTS_64BIT_KERNEL
Ralf Baechle5e83d432005-10-29 19:32:41 +0100117 select SYS_SUPPORTS_LITTLE_ENDIAN
Linus Torvalds1da177e2005-04-16 15:20:36 -0700118
119config MACH_DECSTATION
Martin Michlmayr3fa986f2006-05-09 23:34:53 +0200120 bool "DECstations"
Linus Torvalds1da177e2005-04-16 15:20:36 -0700121 select BOOT_ELF32
Yoichi Yuasa6457d9f2008-04-25 12:11:44 +0900122 select CEVT_DS1287
Ralf Baechle42f77542007-10-18 17:48:11 +0100123 select CEVT_R4K
Yoichi Yuasa42474172008-04-24 09:48:40 +0900124 select CSRC_IOASIC
Ralf Baechle940f6b42007-11-24 22:33:28 +0000125 select CSRC_R4K
Maciej W. Rozycki20d60d92007-10-23 12:43:11 +0100126 select CPU_DADDI_WORKAROUNDS if 64BIT
127 select CPU_R4000_WORKAROUNDS if 64BIT
128 select CPU_R4400_WORKAROUNDS if 64BIT
Linus Torvalds1da177e2005-04-16 15:20:36 -0700129 select DMA_NONCOHERENT
Maciej W. Rozyckid388d682007-05-29 15:08:07 +0100130 select NO_IOPORT
Linus Torvalds1da177e2005-04-16 15:20:36 -0700131 select IRQ_CPU
Ralf Baechle7cf80532005-10-20 22:33:09 +0100132 select SYS_HAS_CPU_R3000
133 select SYS_HAS_CPU_R4X00
Yoichi Yuasaed5ba2f2005-09-03 15:56:21 -0700134 select SYS_SUPPORTS_32BIT_KERNEL
135 select SYS_SUPPORTS_64BIT_KERNEL if EXPERIMENTAL
Ralf Baechle5e83d432005-10-29 19:32:41 +0100136 select SYS_SUPPORTS_LITTLE_ENDIAN
Atsushi Nemoto1723b4a2006-06-20 00:19:13 +0900137 select SYS_SUPPORTS_128HZ
138 select SYS_SUPPORTS_256HZ
139 select SYS_SUPPORTS_1024HZ
Ralf Baechle5e83d432005-10-29 19:32:41 +0100140 help
Linus Torvalds1da177e2005-04-16 15:20:36 -0700141 This enables support for DEC's MIPS based workstations. For details
142 see the Linux/MIPS FAQ on <http://www.linux-mips.org/> and the
143 DECstation porting pages on <http://decstation.unix-ag.org/>.
144
145 If you have one of the following DECstation Models you definitely
146 want to choose R4xx0 for the CPU Type:
147
Ralf Baechle93088162007-08-29 14:21:45 +0100148 DECstation 5000/50
149 DECstation 5000/150
150 DECstation 5000/260
151 DECsystem 5900/260
Linus Torvalds1da177e2005-04-16 15:20:36 -0700152
153 otherwise choose R3000.
154
Ralf Baechle5e83d432005-10-29 19:32:41 +0100155config MACH_JAZZ
Martin Michlmayr3fa986f2006-05-09 23:34:53 +0200156 bool "Jazz family of machines"
Ralf Baechle5e83d432005-10-29 19:32:41 +0100157 select ARC
158 select ARC32
159 select ARCH_MAY_HAVE_PC_FDC
Ralf Baechle42f77542007-10-18 17:48:11 +0100160 select CEVT_R4K
Ralf Baechle940f6b42007-11-24 22:33:28 +0000161 select CSRC_R4K
Thomas Bogendoerfere2defae2007-12-02 13:00:32 +0100162 select DEFAULT_SGI_PARTITION if CPU_BIG_ENDIAN
Ralf Baechle5e83d432005-10-29 19:32:41 +0100163 select GENERIC_ISA_DMA
Thomas Bogendoerferea202c62007-08-25 11:01:50 +0200164 select IRQ_CPU
Ralf Baechled865bea2007-10-11 23:46:10 +0100165 select I8253
Ralf Baechle5e83d432005-10-29 19:32:41 +0100166 select I8259
167 select ISA
Ralf Baechle7cf80532005-10-20 22:33:09 +0100168 select SYS_HAS_CPU_R4X00
Ralf Baechle5e83d432005-10-29 19:32:41 +0100169 select SYS_SUPPORTS_32BIT_KERNEL
170 select SYS_SUPPORTS_64BIT_KERNEL if EXPERIMENTAL
Atsushi Nemoto1723b4a2006-06-20 00:19:13 +0900171 select SYS_SUPPORTS_100HZ
Linus Torvalds1da177e2005-04-16 15:20:36 -0700172 help
Ralf Baechle5e83d432005-10-29 19:32:41 +0100173 This a family of machines based on the MIPS R4030 chipset which was
174 used by several vendors to build RISC/os and Windows NT workstations.
Matt LaPlante692105b2009-01-26 11:12:25 +0100175 Members include the Acer PICA, MIPS Magnum 4000, MIPS Millennium and
Ralf Baechle5e83d432005-10-29 19:32:41 +0100176 Olivetti M700-10 workstations.
177
Lars-Peter Clausen5ebabe52010-06-19 04:08:19 +0000178config MACH_JZ4740
179 bool "Ingenic JZ4740 based machines"
180 select SYS_HAS_CPU_MIPS32_R1
181 select SYS_SUPPORTS_32BIT_KERNEL
182 select SYS_SUPPORTS_LITTLE_ENDIAN
183 select DMA_NONCOHERENT
184 select IRQ_CPU
185 select GENERIC_GPIO
186 select ARCH_REQUIRE_GPIOLIB
187 select SYS_HAS_EARLY_PRINTK
188 select HAVE_PWM
189
Brian Murphy1f21d2b2007-08-21 22:34:16 +0200190config LASAT
191 bool "LASAT Networks platforms"
Ralf Baechle42f77542007-10-18 17:48:11 +0100192 select CEVT_R4K
Ralf Baechle940f6b42007-11-24 22:33:28 +0000193 select CSRC_R4K
Brian Murphy1f21d2b2007-08-21 22:34:16 +0200194 select DMA_NONCOHERENT
195 select SYS_HAS_EARLY_PRINTK
196 select HW_HAS_PCI
Ralf Baechlea5ccfe5c12007-10-14 23:49:33 +0100197 select IRQ_CPU
Brian Murphy1f21d2b2007-08-21 22:34:16 +0200198 select PCI_GT64XXX_PCI0
199 select MIPS_NILE4
200 select R5000_CPU_SCACHE
201 select SYS_HAS_CPU_R5000
202 select SYS_SUPPORTS_32BIT_KERNEL
203 select SYS_SUPPORTS_64BIT_KERNEL if BROKEN
204 select SYS_SUPPORTS_LITTLE_ENDIAN
Brian Murphy1f21d2b2007-08-21 22:34:16 +0200205
Wu Zhangjin85749d22009-07-02 23:26:45 +0800206config MACH_LOONGSON
207 bool "Loongson family of machines"
Wu Zhangjinc7e8c662010-01-04 17:16:46 +0800208 select SYS_SUPPORTS_ZBOOT
Yoichi Yuasaade299d2007-07-27 15:25:43 +0900209 help
Wu Zhangjin85749d22009-07-02 23:26:45 +0800210 This enables the support of Loongson family of machines.
211
212 Loongson is a family of general-purpose MIPS-compatible CPUs.
213 developed at Institute of Computing Technology (ICT),
214 Chinese Academy of Sciences (CAS) in the People's Republic
215 of China. The chief architect is Professor Weiwu Hu.
Yoichi Yuasaade299d2007-07-27 15:25:43 +0900216
Linus Torvalds1da177e2005-04-16 15:20:36 -0700217config MIPS_MALTA
Martin Michlmayr3fa986f2006-05-09 23:34:53 +0200218 bool "MIPS Malta board"
Ralf Baechle61ed242d2005-09-15 08:52:34 +0000219 select ARCH_MAY_HAVE_PC_FDC
Linus Torvalds1da177e2005-04-16 15:20:36 -0700220 select BOOT_ELF32
Ralf Baechlefa71c962008-01-29 10:15:00 +0000221 select BOOT_RAW
Ralf Baechle42f77542007-10-18 17:48:11 +0100222 select CEVT_R4K
Ralf Baechle940f6b42007-11-24 22:33:28 +0000223 select CSRC_R4K
Linus Torvalds1da177e2005-04-16 15:20:36 -0700224 select DMA_NONCOHERENT
225 select GENERIC_ISA_DMA
Ralf Baechleaa414df2006-11-30 01:14:51 +0000226 select IRQ_CPU
Ralf Baechle39b8d522008-04-28 17:14:26 +0100227 select IRQ_GIC
Linus Torvalds1da177e2005-04-16 15:20:36 -0700228 select HW_HAS_PCI
Ralf Baechled865bea2007-10-11 23:46:10 +0100229 select I8253
Linus Torvalds1da177e2005-04-16 15:20:36 -0700230 select I8259
Ralf Baechle5e83d432005-10-29 19:32:41 +0100231 select MIPS_BOARDS_GEN
232 select MIPS_BONITO64
Chris Dearman9318c512006-06-20 17:15:20 +0100233 select MIPS_CPU_SCACHE
Yoichi Yuasa252161e2007-03-14 21:51:26 +0900234 select PCI_GT64XXX_PCI0
Ralf Baechle5e83d432005-10-29 19:32:41 +0100235 select MIPS_MSC
Linus Torvalds1da177e2005-04-16 15:20:36 -0700236 select SWAP_IO_SPACE
Ralf Baechle7cf80532005-10-20 22:33:09 +0100237 select SYS_HAS_CPU_MIPS32_R1
238 select SYS_HAS_CPU_MIPS32_R2
239 select SYS_HAS_CPU_MIPS64_R1
240 select SYS_HAS_CPU_NEVADA
241 select SYS_HAS_CPU_RM7000
Ralf Baechle36a88532007-03-01 11:56:43 +0000242 select SYS_HAS_EARLY_PRINTK
Yoichi Yuasaed5ba2f2005-09-03 15:56:21 -0700243 select SYS_SUPPORTS_32BIT_KERNEL
244 select SYS_SUPPORTS_64BIT_KERNEL
Ralf Baechle5e83d432005-10-29 19:32:41 +0100245 select SYS_SUPPORTS_BIG_ENDIAN
246 select SYS_SUPPORTS_LITTLE_ENDIAN
Tim Anderson03650702009-06-17 16:22:53 -0700247 select SYS_SUPPORTS_MIPS_CMP
Ralf Baechlef41ae0b2006-06-05 17:24:46 +0100248 select SYS_SUPPORTS_MULTITHREADING
Franck Bui-Huu9693a852007-02-02 17:41:47 +0100249 select SYS_SUPPORTS_SMARTMIPS
Wu Zhangjin1b93b3c2009-10-14 18:12:16 +0800250 select SYS_SUPPORTS_ZBOOT
Linus Torvalds1da177e2005-04-16 15:20:36 -0700251 help
Maciej W. Rozyckif638d192005-02-02 22:23:46 +0000252 This enables support for the MIPS Technologies Malta evaluation
Linus Torvalds1da177e2005-04-16 15:20:36 -0700253 board.
254
Ralf Baechlec78cbf42005-09-30 13:59:37 +0100255config MIPS_SIM
Martin Michlmayr3fa986f2006-05-09 23:34:53 +0200256 bool 'MIPS simulator (MIPSsim)'
Ralf Baechle42f77542007-10-18 17:48:11 +0100257 select CEVT_R4K
Ralf Baechle940f6b42007-11-24 22:33:28 +0000258 select CSRC_R4K
Ralf Baechlec78cbf42005-09-30 13:59:37 +0100259 select DMA_NONCOHERENT
Ralf Baechle36a88532007-03-01 11:56:43 +0000260 select SYS_HAS_EARLY_PRINTK
Ralf Baechlec78cbf42005-09-30 13:59:37 +0100261 select IRQ_CPU
Marc St-Jean9267a302007-06-14 15:55:31 -0600262 select BOOT_RAW
Ralf Baechle7cf80532005-10-20 22:33:09 +0100263 select SYS_HAS_CPU_MIPS32_R1
264 select SYS_HAS_CPU_MIPS32_R2
Ralf Baechle36a88532007-03-01 11:56:43 +0000265 select SYS_HAS_EARLY_PRINTK
Ralf Baechlec78cbf42005-09-30 13:59:37 +0100266 select SYS_SUPPORTS_32BIT_KERNEL
267 select SYS_SUPPORTS_BIG_ENDIAN
Ralf Baechlef6e23732007-07-10 17:32:56 +0100268 select SYS_SUPPORTS_MULTITHREADING
Ralf Baechlec78cbf42005-09-30 13:59:37 +0100269 select SYS_SUPPORTS_LITTLE_ENDIAN
270 help
271 This option enables support for MIPS Technologies MIPSsim software
272 emulator.
273
Ralf Baechlea83860c2009-03-13 21:17:57 +0100274config NEC_MARKEINS
275 bool "NEC EMMA2RH Mark-eins board"
276 select SOC_EMMA2RH
277 select HW_HAS_PCI
278 help
279 This enables support for the NEC Electronics Mark-eins boards.
Yoichi Yuasaade299d2007-07-27 15:25:43 +0900280
Ralf Baechle5e83d432005-10-29 19:32:41 +0100281config MACH_VR41XX
Yoichi Yuasa74142d62007-04-26 19:45:09 +0900282 bool "NEC VR4100 series based machines"
Ralf Baechle42f77542007-10-18 17:48:11 +0100283 select CEVT_R4K
Ralf Baechle940f6b42007-11-24 22:33:28 +0000284 select CSRC_R4K
Ralf Baechle7cf80532005-10-20 22:33:09 +0100285 select SYS_HAS_CPU_VR41XX
Yoichi Yuasa27fdd322009-06-29 11:11:05 +0900286 select ARCH_REQUIRE_GPIOLIB
Ralf Baechle5e83d432005-10-29 19:32:41 +0100287
Daniel Lairdedb63102008-06-16 15:49:21 +0100288config NXP_STB220
289 bool "NXP STB220 board"
290 select SOC_PNX833X
291 help
292 Support for NXP Semiconductors STB220 Development Board.
293
294config NXP_STB225
295 bool "NXP 225 board"
296 select SOC_PNX833X
297 select SOC_PNX8335
298 help
299 Support for NXP Semiconductors STB225 Development Board.
300
Yoichi Yuasaade299d2007-07-27 15:25:43 +0900301config PNX8550_JBS
Daniel Lairda92b0582008-03-06 09:07:18 +0000302 bool "NXP PNX8550 based JBS board"
Yoichi Yuasaade299d2007-07-27 15:25:43 +0900303 select PNX8550
304 select SYS_SUPPORTS_LITTLE_ENDIAN
305
306config PNX8550_STB810
Daniel Lairda92b0582008-03-06 09:07:18 +0000307 bool "NXP PNX8550 based STB810 board"
Yoichi Yuasaade299d2007-07-27 15:25:43 +0900308 select PNX8550
309 select SYS_SUPPORTS_LITTLE_ENDIAN
310
Marc St-Jean9267a302007-06-14 15:55:31 -0600311config PMC_MSP
312 bool "PMC-Sierra MSP chipsets"
313 depends on EXPERIMENTAL
314 select DMA_NONCOHERENT
315 select SWAP_IO_SPACE
316 select NO_EXCEPT_FILL
317 select BOOT_RAW
318 select SYS_HAS_CPU_MIPS32_R1
319 select SYS_HAS_CPU_MIPS32_R2
320 select SYS_SUPPORTS_32BIT_KERNEL
321 select SYS_SUPPORTS_BIG_ENDIAN
Marc St-Jean9267a302007-06-14 15:55:31 -0600322 select IRQ_CPU
323 select SERIAL_8250
324 select SERIAL_8250_CONSOLE
325 help
326 This adds support for the PMC-Sierra family of Multi-Service
327 Processor System-On-A-Chips. These parts include a number
328 of integrated peripherals, interfaces and DSPs in addition to
329 a variety of MIPS cores.
330
Ralf Baechle5e83d432005-10-29 19:32:41 +0100331config PMC_YOSEMITE
Martin Michlmayr3fa986f2006-05-09 23:34:53 +0200332 bool "PMC-Sierra Yosemite eval board"
Ralf Baechle42f77542007-10-18 17:48:11 +0100333 select CEVT_R4K
Ralf Baechle940f6b42007-11-24 22:33:28 +0000334 select CSRC_R4K
Ralf Baechle5e83d432005-10-29 19:32:41 +0100335 select DMA_COHERENT
336 select HW_HAS_PCI
337 select IRQ_CPU
338 select IRQ_CPU_RM7K
339 select IRQ_CPU_RM9K
340 select SWAP_IO_SPACE
Ralf Baechle7cf80532005-10-20 22:33:09 +0100341 select SYS_HAS_CPU_RM9000
Ralf Baechle36a88532007-03-01 11:56:43 +0000342 select SYS_HAS_EARLY_PRINTK
Ralf Baechle5e83d432005-10-29 19:32:41 +0100343 select SYS_SUPPORTS_32BIT_KERNEL
344 select SYS_SUPPORTS_64BIT_KERNEL
345 select SYS_SUPPORTS_BIG_ENDIAN
346 select SYS_SUPPORTS_HIGHMEM
Ralf Baechlee73ea272006-06-04 11:51:46 +0100347 select SYS_SUPPORTS_SMP
Ralf Baechle5e83d432005-10-29 19:32:41 +0100348 help
349 Yosemite is an evaluation board for the RM9000x2 processor
350 manufactured by PMC-Sierra.
Linus Torvalds1da177e2005-04-16 15:20:36 -0700351
David VomLehna3a0f8c2009-08-30 17:15:11 -0700352config POWERTV
353 bool "Cisco PowerTV"
354 select BOOT_ELF32
355 select CEVT_R4K
356 select CPU_MIPSR2_IRQ_VI
357 select CPU_MIPSR2_IRQ_EI
358 select CSRC_POWERTV
359 select DMA_NONCOHERENT
360 select HW_HAS_PCI
361 select SYS_HAS_EARLY_PRINTK
362 select SYS_HAS_CPU_MIPS32_R2
363 select SYS_SUPPORTS_32BIT_KERNEL
364 select SYS_SUPPORTS_BIG_ENDIAN
365 select SYS_SUPPORTS_HIGHMEM
366 select USB_OHCI_LITTLE_ENDIAN
367 help
368 This enables support for the Cisco PowerTV Platform.
369
Linus Torvalds1da177e2005-04-16 15:20:36 -0700370config SGI_IP22
Martin Michlmayr3fa986f2006-05-09 23:34:53 +0200371 bool "SGI IP22 (Indy/Indigo2)"
Linus Torvalds1da177e2005-04-16 15:20:36 -0700372 select ARC
373 select ARC32
374 select BOOT_ELF32
Ralf Baechle42f77542007-10-18 17:48:11 +0100375 select CEVT_R4K
Ralf Baechle940f6b42007-11-24 22:33:28 +0000376 select CSRC_R4K
Thomas Bogendoerfere2defae2007-12-02 13:00:32 +0100377 select DEFAULT_SGI_PARTITION
Linus Torvalds1da177e2005-04-16 15:20:36 -0700378 select DMA_NONCOHERENT
Ralf Baechle5e83d432005-10-29 19:32:41 +0100379 select HW_HAS_EISA
Ralf Baechled865bea2007-10-11 23:46:10 +0100380 select I8253
Thomas Bogendoerfer68de4802007-11-23 20:34:16 +0100381 select I8259
Linus Torvalds1da177e2005-04-16 15:20:36 -0700382 select IP22_CPU_SCACHE
383 select IRQ_CPU
Ralf Baechleaa414df2006-11-30 01:14:51 +0000384 select GENERIC_ISA_DMA_SUPPORT_BROKEN
Thomas Bogendoerfere2defae2007-12-02 13:00:32 +0100385 select SGI_HAS_I8042
386 select SGI_HAS_INDYDOG
Thomas Bogendoerfer36e5c212008-07-16 14:06:15 +0200387 select SGI_HAS_HAL2
Thomas Bogendoerfere2defae2007-12-02 13:00:32 +0100388 select SGI_HAS_SEEQ
389 select SGI_HAS_WD93
390 select SGI_HAS_ZILOG
Linus Torvalds1da177e2005-04-16 15:20:36 -0700391 select SWAP_IO_SPACE
Ralf Baechle7cf80532005-10-20 22:33:09 +0100392 select SYS_HAS_CPU_R4X00
393 select SYS_HAS_CPU_R5000
Martin Michlmayr2b5e63f2009-11-19 16:40:09 +0000394 #
395 # Disable EARLY_PRINTK for now since it leads to overwritten prom
396 # memory during early boot on some machines.
397 #
398 # See http://www.linux-mips.org/cgi-bin/mesg.cgi?a=linux-mips&i=20091119164009.GA15038%40deprecation.cyrius.com
399 # for a more details discussion
400 #
401 # select SYS_HAS_EARLY_PRINTK
Yoichi Yuasaed5ba2f2005-09-03 15:56:21 -0700402 select SYS_SUPPORTS_32BIT_KERNEL
403 select SYS_SUPPORTS_64BIT_KERNEL
Ralf Baechle5e83d432005-10-29 19:32:41 +0100404 select SYS_SUPPORTS_BIG_ENDIAN
Linus Torvalds1da177e2005-04-16 15:20:36 -0700405 help
406 This are the SGI Indy, Challenge S and Indigo2, as well as certain
407 OEM variants like the Tandem CMN B006S. To compile a Linux kernel
408 that runs on these, say Y here.
409
410config SGI_IP27
Martin Michlmayr3fa986f2006-05-09 23:34:53 +0200411 bool "SGI IP27 (Origin200/2000)"
Linus Torvalds1da177e2005-04-16 15:20:36 -0700412 select ARC
413 select ARC64
Ralf Baechle5e83d432005-10-29 19:32:41 +0100414 select BOOT_ELF64
Thomas Bogendoerfere2defae2007-12-02 13:00:32 +0100415 select DEFAULT_SGI_PARTITION
Ralf Baechle634286f2009-01-28 17:48:40 +0000416 select DMA_COHERENT
Ralf Baechle36a88532007-03-01 11:56:43 +0000417 select SYS_HAS_EARLY_PRINTK
Linus Torvalds1da177e2005-04-16 15:20:36 -0700418 select HW_HAS_PCI
Ralf Baechle130e2fb2007-02-06 16:53:15 +0000419 select NR_CPUS_DEFAULT_64
Ralf Baechle7cf80532005-10-20 22:33:09 +0100420 select SYS_HAS_CPU_R10000
Yoichi Yuasaed5ba2f2005-09-03 15:56:21 -0700421 select SYS_SUPPORTS_64BIT_KERNEL
Ralf Baechle5e83d432005-10-29 19:32:41 +0100422 select SYS_SUPPORTS_BIG_ENDIAN
Ralf Baechled8cb4e12006-06-11 23:03:08 +0100423 select SYS_SUPPORTS_NUMA
Ralf Baechle1a5c5de2006-11-02 17:23:33 +0000424 select SYS_SUPPORTS_SMP
Linus Torvalds1da177e2005-04-16 15:20:36 -0700425 help
426 This are the SGI Origin 200, Origin 2000 and Onyx 2 Graphics
427 workstations. To compile a Linux kernel that runs on these, say Y
428 here.
429
Thomas Bogendoerfere2defae2007-12-02 13:00:32 +0100430config SGI_IP28
431 bool "SGI IP28 (Indigo2 R10k) (EXPERIMENTAL)"
432 depends on EXPERIMENTAL
433 select ARC
434 select ARC64
435 select BOOT_ELF64
436 select CEVT_R4K
437 select CSRC_R4K
438 select DEFAULT_SGI_PARTITION
439 select DMA_NONCOHERENT
440 select GENERIC_ISA_DMA_SUPPORT_BROKEN
441 select IRQ_CPU
442 select HW_HAS_EISA
443 select I8253
444 select I8259
Thomas Bogendoerfere2defae2007-12-02 13:00:32 +0100445 select SGI_HAS_I8042
446 select SGI_HAS_INDYDOG
Thomas Bogendoerfer5b438c42008-07-10 20:29:55 +0200447 select SGI_HAS_HAL2
Thomas Bogendoerfere2defae2007-12-02 13:00:32 +0100448 select SGI_HAS_SEEQ
449 select SGI_HAS_WD93
450 select SGI_HAS_ZILOG
451 select SWAP_IO_SPACE
452 select SYS_HAS_CPU_R10000
Martin Michlmayr2b5e63f2009-11-19 16:40:09 +0000453 #
454 # Disable EARLY_PRINTK for now since it leads to overwritten prom
455 # memory during early boot on some machines.
456 #
457 # See http://www.linux-mips.org/cgi-bin/mesg.cgi?a=linux-mips&i=20091119164009.GA15038%40deprecation.cyrius.com
458 # for a more details discussion
459 #
460 # select SYS_HAS_EARLY_PRINTK
Thomas Bogendoerfere2defae2007-12-02 13:00:32 +0100461 select SYS_SUPPORTS_64BIT_KERNEL
462 select SYS_SUPPORTS_BIG_ENDIAN
463 help
464 This is the SGI Indigo2 with R10000 processor. To compile a Linux
465 kernel that runs on these, say Y here.
466
Linus Torvalds1da177e2005-04-16 15:20:36 -0700467config SGI_IP32
Ralf Baechlecfd2afc2007-07-10 17:33:00 +0100468 bool "SGI IP32 (O2)"
Linus Torvalds1da177e2005-04-16 15:20:36 -0700469 select ARC
470 select ARC32
471 select BOOT_ELF32
Ralf Baechle42f77542007-10-18 17:48:11 +0100472 select CEVT_R4K
Ralf Baechle940f6b42007-11-24 22:33:28 +0000473 select CSRC_R4K
Linus Torvalds1da177e2005-04-16 15:20:36 -0700474 select DMA_NONCOHERENT
475 select HW_HAS_PCI
Ralf Baechledd67b152007-10-14 14:02:26 +0100476 select IRQ_CPU
Linus Torvalds1da177e2005-04-16 15:20:36 -0700477 select R5000_CPU_SCACHE
478 select RM7000_CPU_SCACHE
Ralf Baechle7cf80532005-10-20 22:33:09 +0100479 select SYS_HAS_CPU_R5000
480 select SYS_HAS_CPU_R10000 if BROKEN
481 select SYS_HAS_CPU_RM7000
Ralf Baechledd2f18f2006-01-19 14:55:42 +0000482 select SYS_HAS_CPU_NEVADA
Yoichi Yuasaed5ba2f2005-09-03 15:56:21 -0700483 select SYS_SUPPORTS_64BIT_KERNEL
Ralf Baechle5e83d432005-10-29 19:32:41 +0100484 select SYS_SUPPORTS_BIG_ENDIAN
Linus Torvalds1da177e2005-04-16 15:20:36 -0700485 help
486 If you want this kernel to run on SGI O2 workstation, say Y here.
487
Yoichi Yuasaade299d2007-07-27 15:25:43 +0900488config SIBYTE_CRHINE
489 bool "Sibyte BCM91120C-CRhine"
Ralf Baechle5e83d432005-10-29 19:32:41 +0100490 depends on EXPERIMENTAL
491 select BOOT_ELF32
492 select DMA_COHERENT
493 select SIBYTE_BCM1120
494 select SWAP_IO_SPACE
Ralf Baechle7cf80532005-10-20 22:33:09 +0100495 select SYS_HAS_CPU_SB1
Ralf Baechle5e83d432005-10-29 19:32:41 +0100496 select SYS_SUPPORTS_BIG_ENDIAN
497 select SYS_SUPPORTS_LITTLE_ENDIAN
498
Yoichi Yuasaade299d2007-07-27 15:25:43 +0900499config SIBYTE_CARMEL
500 bool "Sibyte BCM91120x-Carmel"
Ralf Baechle5e83d432005-10-29 19:32:41 +0100501 depends on EXPERIMENTAL
502 select BOOT_ELF32
503 select DMA_COHERENT
504 select SIBYTE_BCM1120
505 select SWAP_IO_SPACE
Ralf Baechle7cf80532005-10-20 22:33:09 +0100506 select SYS_HAS_CPU_SB1
Ralf Baechle5e83d432005-10-29 19:32:41 +0100507 select SYS_SUPPORTS_BIG_ENDIAN
508 select SYS_SUPPORTS_LITTLE_ENDIAN
509
510config SIBYTE_CRHONE
Martin Michlmayr3fa986f2006-05-09 23:34:53 +0200511 bool "Sibyte BCM91125C-CRhone"
Ralf Baechle5e83d432005-10-29 19:32:41 +0100512 depends on EXPERIMENTAL
513 select BOOT_ELF32
514 select DMA_COHERENT
515 select SIBYTE_BCM1125
516 select SWAP_IO_SPACE
Ralf Baechle7cf80532005-10-20 22:33:09 +0100517 select SYS_HAS_CPU_SB1
Ralf Baechle5e83d432005-10-29 19:32:41 +0100518 select SYS_SUPPORTS_BIG_ENDIAN
519 select SYS_SUPPORTS_HIGHMEM
520 select SYS_SUPPORTS_LITTLE_ENDIAN
521
Yoichi Yuasaade299d2007-07-27 15:25:43 +0900522config SIBYTE_RHONE
523 bool "Sibyte BCM91125E-Rhone"
524 depends on EXPERIMENTAL
525 select BOOT_ELF32
526 select DMA_COHERENT
527 select SIBYTE_BCM1125H
528 select SWAP_IO_SPACE
529 select SYS_HAS_CPU_SB1
530 select SYS_SUPPORTS_BIG_ENDIAN
531 select SYS_SUPPORTS_LITTLE_ENDIAN
532
533config SIBYTE_SWARM
534 bool "Sibyte BCM91250A-SWARM"
535 select BOOT_ELF32
536 select DMA_COHERENT
Sebastian Andrzej Siewiorfcf3ca42010-04-18 15:26:36 +0200537 select HAVE_PATA_PLATFORM
Yoichi Yuasaade299d2007-07-27 15:25:43 +0900538 select NR_CPUS_DEFAULT_2
539 select SIBYTE_SB1250
540 select SWAP_IO_SPACE
541 select SYS_HAS_CPU_SB1
542 select SYS_SUPPORTS_BIG_ENDIAN
543 select SYS_SUPPORTS_HIGHMEM
Yoichi Yuasaade299d2007-07-27 15:25:43 +0900544 select SYS_SUPPORTS_LITTLE_ENDIAN
Ralf Baechlecce335a2007-11-03 02:05:43 +0000545 select ZONE_DMA32 if 64BIT
Yoichi Yuasaade299d2007-07-27 15:25:43 +0900546
547config SIBYTE_LITTLESUR
548 bool "Sibyte BCM91250C2-LittleSur"
549 depends on EXPERIMENTAL
550 select BOOT_ELF32
551 select DMA_COHERENT
Sebastian Andrzej Siewiorfcf3ca42010-04-18 15:26:36 +0200552 select HAVE_PATA_PLATFORM
Yoichi Yuasaade299d2007-07-27 15:25:43 +0900553 select NR_CPUS_DEFAULT_2
554 select SIBYTE_SB1250
555 select SWAP_IO_SPACE
556 select SYS_HAS_CPU_SB1
557 select SYS_SUPPORTS_BIG_ENDIAN
558 select SYS_SUPPORTS_HIGHMEM
559 select SYS_SUPPORTS_LITTLE_ENDIAN
560
561config SIBYTE_SENTOSA
562 bool "Sibyte BCM91250E-Sentosa"
563 depends on EXPERIMENTAL
564 select BOOT_ELF32
565 select DMA_COHERENT
566 select NR_CPUS_DEFAULT_2
567 select SIBYTE_SB1250
568 select SWAP_IO_SPACE
569 select SYS_HAS_CPU_SB1
570 select SYS_SUPPORTS_BIG_ENDIAN
571 select SYS_SUPPORTS_LITTLE_ENDIAN
572
Yoichi Yuasaade299d2007-07-27 15:25:43 +0900573config SIBYTE_BIGSUR
574 bool "Sibyte BCM91480B-BigSur"
575 select BOOT_ELF32
576 select DMA_COHERENT
577 select NR_CPUS_DEFAULT_4
Yoichi Yuasaade299d2007-07-27 15:25:43 +0900578 select SIBYTE_BCM1x80
579 select SWAP_IO_SPACE
580 select SYS_HAS_CPU_SB1
581 select SYS_SUPPORTS_BIG_ENDIAN
Ralf Baechle651194f2007-11-01 21:55:39 +0000582 select SYS_SUPPORTS_HIGHMEM
Yoichi Yuasaade299d2007-07-27 15:25:43 +0900583 select SYS_SUPPORTS_LITTLE_ENDIAN
Ralf Baechlecce335a2007-11-03 02:05:43 +0000584 select ZONE_DMA32 if 64BIT
Yoichi Yuasaade299d2007-07-27 15:25:43 +0900585
Thomas Bogendoerfer14b36af2006-12-05 17:05:44 +0100586config SNI_RM
587 bool "SNI RM200/300/400"
Thomas Bogendoerfer4a0312f2006-06-13 13:59:01 +0200588 select ARC if CPU_LITTLE_ENDIAN
589 select ARC32 if CPU_LITTLE_ENDIAN
Thomas Bogendoerfer231a35d2008-01-04 23:31:07 +0100590 select SNIPROM if CPU_BIG_ENDIAN
Ralf Baechle5e83d432005-10-29 19:32:41 +0100591 select ARCH_MAY_HAVE_PC_FDC
592 select BOOT_ELF32
Ralf Baechle42f77542007-10-18 17:48:11 +0100593 select CEVT_R4K
Ralf Baechle940f6b42007-11-24 22:33:28 +0000594 select CSRC_R4K
Thomas Bogendoerfere2defae2007-12-02 13:00:32 +0100595 select DEFAULT_SGI_PARTITION if CPU_BIG_ENDIAN
Ralf Baechle5e83d432005-10-29 19:32:41 +0100596 select DMA_NONCOHERENT
597 select GENERIC_ISA_DMA
Ralf Baechle5e83d432005-10-29 19:32:41 +0100598 select HW_HAS_EISA
599 select HW_HAS_PCI
Thomas Bogendoerferc066a322006-12-28 18:22:32 +0100600 select IRQ_CPU
Ralf Baechled865bea2007-10-11 23:46:10 +0100601 select I8253
Ralf Baechle5e83d432005-10-29 19:32:41 +0100602 select I8259
603 select ISA
Thomas Bogendoerfer4a0312f2006-06-13 13:59:01 +0200604 select SWAP_IO_SPACE if CPU_BIG_ENDIAN
Ralf Baechle7cf80532005-10-20 22:33:09 +0100605 select SYS_HAS_CPU_R4X00
Thomas Bogendoerfer4a0312f2006-06-13 13:59:01 +0200606 select SYS_HAS_CPU_R5000
Thomas Bogendoerferc066a322006-12-28 18:22:32 +0100607 select SYS_HAS_CPU_R10000
Thomas Bogendoerfer4a0312f2006-06-13 13:59:01 +0200608 select R5000_CPU_SCACHE
Ralf Baechle36a88532007-03-01 11:56:43 +0000609 select SYS_HAS_EARLY_PRINTK
Yoichi Yuasaed5ba2f2005-09-03 15:56:21 -0700610 select SYS_SUPPORTS_32BIT_KERNEL
Ralf Baechle5e83d432005-10-29 19:32:41 +0100611 select SYS_SUPPORTS_64BIT_KERNEL if EXPERIMENTAL
Thomas Bogendoerfer4a0312f2006-06-13 13:59:01 +0200612 select SYS_SUPPORTS_BIG_ENDIAN
Ralf Baechle5e83d432005-10-29 19:32:41 +0100613 select SYS_SUPPORTS_HIGHMEM
614 select SYS_SUPPORTS_LITTLE_ENDIAN
Linus Torvalds1da177e2005-04-16 15:20:36 -0700615 help
Thomas Bogendoerfer14b36af2006-12-05 17:05:44 +0100616 The SNI RM200/300/400 are MIPS-based machines manufactured by
617 Siemens Nixdorf Informationssysteme (SNI), parent company of Pyramid
Ralf Baechle5e83d432005-10-29 19:32:41 +0100618 Technology and now in turn merged with Fujitsu. Say Y here to
619 support this machine type.
Linus Torvalds1da177e2005-04-16 15:20:36 -0700620
Atsushi Nemotoedcaf1a2008-07-11 23:27:54 +0900621config MACH_TX39XX
622 bool "Toshiba TX39 series based machines"
Ralf Baechle5e83d432005-10-29 19:32:41 +0100623
Atsushi Nemotoedcaf1a2008-07-11 23:27:54 +0900624config MACH_TX49XX
625 bool "Toshiba TX49 series based machines"
Ralf Baechle23fbee92005-07-25 22:45:45 +0000626
Ralf Baechle73b43902008-07-16 16:12:25 +0100627config MIKROTIK_RB532
628 bool "Mikrotik RB532 boards"
629 select CEVT_R4K
630 select CSRC_R4K
631 select DMA_NONCOHERENT
Ralf Baechle73b43902008-07-16 16:12:25 +0100632 select HW_HAS_PCI
633 select IRQ_CPU
634 select SYS_HAS_CPU_MIPS32_R1
635 select SYS_SUPPORTS_32BIT_KERNEL
636 select SYS_SUPPORTS_LITTLE_ENDIAN
637 select SWAP_IO_SPACE
638 select BOOT_RAW
Florian Fainellid888e252008-08-23 18:54:34 +0200639 select ARCH_REQUIRE_GPIOLIB
Ralf Baechle73b43902008-07-16 16:12:25 +0100640 help
641 Support the Mikrotik(tm) RouterBoard 532 series,
642 based on the IDT RC32434 SoC.
643
Yoichi Yuasaade299d2007-07-27 15:25:43 +0900644config WR_PPMC
645 bool "Wind River PPMC board"
Ralf Baechle42f77542007-10-18 17:48:11 +0100646 select CEVT_R4K
Ralf Baechle940f6b42007-11-24 22:33:28 +0000647 select CSRC_R4K
Yoichi Yuasaade299d2007-07-27 15:25:43 +0900648 select IRQ_CPU
649 select BOOT_ELF32
650 select DMA_NONCOHERENT
651 select HW_HAS_PCI
652 select PCI_GT64XXX_PCI0
653 select SWAP_IO_SPACE
654 select SYS_HAS_CPU_MIPS32_R1
655 select SYS_HAS_CPU_MIPS32_R2
656 select SYS_HAS_CPU_MIPS64_R1
657 select SYS_HAS_CPU_NEVADA
658 select SYS_HAS_CPU_RM7000
659 select SYS_SUPPORTS_32BIT_KERNEL
660 select SYS_SUPPORTS_64BIT_KERNEL
661 select SYS_SUPPORTS_BIG_ENDIAN
662 select SYS_SUPPORTS_LITTLE_ENDIAN
663 help
664 This enables support for the Wind River MIPS32 4KC PPMC evaluation
665 board, which is based on GT64120 bridge chip.
666
David Daneya86c7f72008-12-11 15:33:38 -0800667config CAVIUM_OCTEON_SIMULATOR
Yoichi Yuasac9d89d92009-06-02 23:15:10 +0900668 bool "Cavium Networks Octeon Simulator"
David Daneya86c7f72008-12-11 15:33:38 -0800669 select CEVT_R4K
670 select 64BIT_PHYS_ADDR
671 select DMA_COHERENT
672 select SYS_SUPPORTS_64BIT_KERNEL
673 select SYS_SUPPORTS_BIG_ENDIAN
674 select SYS_SUPPORTS_HIGHMEM
Ralf Baechle773cb772009-06-23 10:36:38 +0100675 select SYS_SUPPORTS_HOTPLUG_CPU
David Daney5e683382009-02-02 11:30:59 -0800676 select SYS_HAS_CPU_CAVIUM_OCTEON
David Daneya86c7f72008-12-11 15:33:38 -0800677 help
678 The Octeon simulator is software performance model of the Cavium
679 Octeon Processor. It supports simulating Octeon processors on x86
680 hardware.
681
682config CAVIUM_OCTEON_REFERENCE_BOARD
Yoichi Yuasac9d89d92009-06-02 23:15:10 +0900683 bool "Cavium Networks Octeon reference board"
David Daneya86c7f72008-12-11 15:33:38 -0800684 select CEVT_R4K
685 select 64BIT_PHYS_ADDR
686 select DMA_COHERENT
687 select SYS_SUPPORTS_64BIT_KERNEL
688 select SYS_SUPPORTS_BIG_ENDIAN
689 select SYS_SUPPORTS_HIGHMEM
Ralf Baechle773cb772009-06-23 10:36:38 +0100690 select SYS_SUPPORTS_HOTPLUG_CPU
David Daneya86c7f72008-12-11 15:33:38 -0800691 select SYS_HAS_EARLY_PRINTK
David Daney5e683382009-02-02 11:30:59 -0800692 select SYS_HAS_CPU_CAVIUM_OCTEON
David Daneya86c7f72008-12-11 15:33:38 -0800693 select SWAP_IO_SPACE
David Daneye8635b42009-04-23 17:44:38 -0700694 select HW_HAS_PCI
695 select ARCH_SUPPORTS_MSI
David Daneyf00e0012010-10-01 13:27:30 -0700696 select ZONE_DMA32
David Daney340fbb82010-10-08 14:47:53 -0700697 select USB_ARCH_HAS_OHCI
698 select USB_ARCH_HAS_EHCI
David Daneya86c7f72008-12-11 15:33:38 -0800699 help
700 This option supports all of the Octeon reference boards from Cavium
701 Networks. It builds a kernel that dynamically determines the Octeon
702 CPU type and supports all known board reference implementations.
703 Some of the supported boards are:
704 EBT3000
705 EBH3000
706 EBH3100
707 Thunder
708 Kodama
709 Hikari
710 Say Y here for most Octeon reference boards.
711
Linus Torvalds1da177e2005-04-16 15:20:36 -0700712endchoice
713
Ralf Baechlee8c7c482008-09-16 19:12:16 +0200714source "arch/mips/alchemy/Kconfig"
Maxime Bizone7300d02009-08-18 13:23:37 +0100715source "arch/mips/bcm63xx/Kconfig"
Ralf Baechle5e83d432005-10-29 19:32:41 +0100716source "arch/mips/jazz/Kconfig"
Lars-Peter Clausen5ebabe52010-06-19 04:08:19 +0000717source "arch/mips/jz4740/Kconfig"
Brian Murphy1f21d2b2007-08-21 22:34:16 +0200718source "arch/mips/lasat/Kconfig"
Ralf Baechle5e83d432005-10-29 19:32:41 +0100719source "arch/mips/pmc-sierra/Kconfig"
David VomLehna3a0f8c2009-08-30 17:15:11 -0700720source "arch/mips/powertv/Kconfig"
Ralf Baechle29c48692005-02-07 01:27:14 +0000721source "arch/mips/sgi-ip27/Kconfig"
Ralf Baechle38b18f722005-02-03 14:28:23 +0000722source "arch/mips/sibyte/Kconfig"
Atsushi Nemoto22b1d702008-07-11 00:31:36 +0900723source "arch/mips/txx9/Kconfig"
Ralf Baechle5e83d432005-10-29 19:32:41 +0100724source "arch/mips/vr41xx/Kconfig"
David Daneya86c7f72008-12-11 15:33:38 -0800725source "arch/mips/cavium-octeon/Kconfig"
Wu Zhangjin85749d22009-07-02 23:26:45 +0800726source "arch/mips/loongson/Kconfig"
Ralf Baechle38b18f722005-02-03 14:28:23 +0000727
Ralf Baechle5e83d432005-10-29 19:32:41 +0100728endmenu
729
Linus Torvalds1da177e2005-04-16 15:20:36 -0700730config RWSEM_GENERIC_SPINLOCK
731 bool
732 default y
733
734config RWSEM_XCHGADD_ALGORITHM
735 bool
736
David Howellsf0d1b0b2006-12-08 02:37:49 -0800737config ARCH_HAS_ILOG2_U32
738 bool
739 default n
740
741config ARCH_HAS_ILOG2_U64
742 bool
743 default n
744
Ralf Baechle00a58252007-12-06 16:53:19 +0000745config ARCH_SUPPORTS_OPROFILE
746 bool
747 default y if !MIPS_MT_SMTC
748
Akinobu Mita3c9ee7e2006-03-26 01:39:30 -0800749config GENERIC_FIND_NEXT_BIT
750 bool
751 default y
752
753config GENERIC_HWEIGHT
754 bool
755 default y
756
Linus Torvalds1da177e2005-04-16 15:20:36 -0700757config GENERIC_CALIBRATE_DELAY
758 bool
759 default y
760
Ralf Baechle7bcf7712007-10-11 23:46:09 +0100761config GENERIC_CLOCKEVENTS
762 bool
763 default y
764
Ralf Baechlef5ff0a22007-08-13 15:26:12 +0100765config GENERIC_CMOS_UPDATE
766 bool
767 default y
768
Ingo Molnarae1e9132008-11-11 09:05:16 +0100769config SCHED_OMIT_FRAME_POINTER
Atsushi Nemoto1cc89032006-04-04 13:11:45 +0900770 bool
771 default y
772
Franck Bui-Huue77c2322006-12-01 18:22:27 +0100773config GENERIC_HARDIRQS_NO__DO_IRQ
Ralf Baechlec87e0902009-03-30 14:49:44 +0200774 def_bool y
Franck Bui-Huue77c2322006-12-01 18:22:27 +0100775
Linus Torvalds1da177e2005-04-16 15:20:36 -0700776#
777# Select some configuration options automatically based on user selections.
778#
779config ARC
780 bool
Linus Torvalds1da177e2005-04-16 15:20:36 -0700781
Ralf Baechle61ed242d2005-09-15 08:52:34 +0000782config ARCH_MAY_HAVE_PC_FDC
783 bool
784
Marc St-Jean9267a302007-06-14 15:55:31 -0600785config BOOT_RAW
786 bool
787
Ralf Baechle217dd112007-11-01 01:57:55 +0000788config CEVT_BCM1480
789 bool
790
Yoichi Yuasa6457d9f2008-04-25 12:11:44 +0900791config CEVT_DS1287
792 bool
793
Yoichi Yuasa1097c6a2007-10-22 19:43:15 +0900794config CEVT_GT641XX
795 bool
796
Manuel Lauss779e7d42008-12-21 09:26:22 +0100797config CEVT_R4K_LIB
798 bool
799
Ralf Baechle42f77542007-10-18 17:48:11 +0100800config CEVT_R4K
Manuel Lauss779e7d42008-12-21 09:26:22 +0100801 select CEVT_R4K_LIB
Ralf Baechle42f77542007-10-18 17:48:11 +0100802 bool
803
Ralf Baechle217dd112007-11-01 01:57:55 +0000804config CEVT_SB1250
805 bool
806
Atsushi Nemoto229f7732007-10-25 01:34:09 +0900807config CEVT_TXX9
808 bool
809
Ralf Baechle217dd112007-11-01 01:57:55 +0000810config CSRC_BCM1480
811 bool
812
Yoichi Yuasa42474172008-04-24 09:48:40 +0900813config CSRC_IOASIC
814 bool
815
David VomLehna3a0f8c2009-08-30 17:15:11 -0700816config CSRC_POWERTV
817 bool
818
Manuel Lauss779e7d42008-12-21 09:26:22 +0100819config CSRC_R4K_LIB
820 bool
821
Ralf Baechle940f6b42007-11-24 22:33:28 +0000822config CSRC_R4K
Manuel Lauss779e7d42008-12-21 09:26:22 +0100823 select CSRC_R4K_LIB
Ralf Baechle940f6b42007-11-24 22:33:28 +0000824 bool
825
Ralf Baechle217dd112007-11-01 01:57:55 +0000826config CSRC_SB1250
827 bool
828
Atsushi Nemotoa9aec7f2008-04-05 00:55:41 +0900829config GPIO_TXX9
830 select GENERIC_GPIO
Michael Buesch7444a722008-07-25 01:46:11 -0700831 select ARCH_REQUIRE_GPIOLIB
Atsushi Nemotoa9aec7f2008-04-05 00:55:41 +0900832 bool
833
Aurelien Jarnodf78b5c2007-09-05 08:58:26 +0200834config CFE
835 bool
836
Ralf Baechle4ce588c2005-09-03 15:56:19 -0700837config DMA_COHERENT
Linus Torvalds1da177e2005-04-16 15:20:36 -0700838 bool
839
Ralf Baechle4ce588c2005-09-03 15:56:19 -0700840config DMA_NONCOHERENT
841 bool
FUJITA Tomonorie1e02b32010-03-10 15:23:25 -0800842 select NEED_DMA_MAP_STATE
Ralf Baechle4ce588c2005-09-03 15:56:19 -0700843
FUJITA Tomonorie1e02b32010-03-10 15:23:25 -0800844config NEED_DMA_MAP_STATE
Linus Torvalds1da177e2005-04-16 15:20:36 -0700845 bool
846
Ralf Baechle36a88532007-03-01 11:56:43 +0000847config SYS_HAS_EARLY_PRINTK
Linus Torvalds1da177e2005-04-16 15:20:36 -0700848 bool
Linus Torvalds1da177e2005-04-16 15:20:36 -0700849
Ralf Baechledbb74542007-08-07 14:52:17 +0100850config HOTPLUG_CPU
Ralf Baechle1b2bc752009-06-23 10:00:31 +0100851 bool "Support for hot-pluggable CPUs"
852 depends on SMP && HOTPLUG && SYS_SUPPORTS_HOTPLUG_CPU
853 help
854 Say Y here to allow turning CPUs off and on. CPUs can be
855 controlled through /sys/devices/system/cpu.
856 (Note: power management support will enable this option
857 automatically on SMP systems. )
858 Say N if you want to disable CPU hotplug.
859
860config SYS_SUPPORTS_HOTPLUG_CPU
Ralf Baechledbb74542007-08-07 14:52:17 +0100861 bool
Ralf Baechledbb74542007-08-07 14:52:17 +0100862
Linus Torvalds1da177e2005-04-16 15:20:36 -0700863config I8259
864 bool
Linus Torvalds1da177e2005-04-16 15:20:36 -0700865
Linus Torvalds1da177e2005-04-16 15:20:36 -0700866config MIPS_BONITO64
867 bool
Linus Torvalds1da177e2005-04-16 15:20:36 -0700868
869config MIPS_MSC
870 bool
Linus Torvalds1da177e2005-04-16 15:20:36 -0700871
Brian Murphy1f21d2b2007-08-21 22:34:16 +0200872config MIPS_NILE4
873 bool
874
Linus Torvalds1da177e2005-04-16 15:20:36 -0700875config MIPS_DISABLE_OBSOLETE_IDE
876 bool
877
Ralf Baechle39b8d522008-04-28 17:14:26 +0100878config SYNC_R4K
879 bool
880
Maciej W. Rozyckid388d682007-05-29 15:08:07 +0100881config NO_IOPORT
882 def_bool n
883
Ralf Baechle8313da32007-08-24 16:48:30 +0100884config GENERIC_ISA_DMA
885 bool
886 select ZONE_DMA if GENERIC_ISA_DMA_SUPPORT_BROKEN=n
Namhyung Kima35bee82010-10-18 12:55:21 +0900887 select ISA_DMA_API
Ralf Baechle8313da32007-08-24 16:48:30 +0100888
Ralf Baechleaa414df2006-11-30 01:14:51 +0000889config GENERIC_ISA_DMA_SUPPORT_BROKEN
890 bool
Ralf Baechle8313da32007-08-24 16:48:30 +0100891 select GENERIC_ISA_DMA
Ralf Baechleaa414df2006-11-30 01:14:51 +0000892
Namhyung Kima35bee82010-10-18 12:55:21 +0900893config ISA_DMA_API
894 bool
895
Yoichi Yuasa09663332007-05-22 00:05:58 +0900896config GENERIC_GPIO
897 bool
898
Ralf Baechle5e83d432005-10-29 19:32:41 +0100899#
Matt LaPlante3cb2fcc2006-11-30 05:22:59 +0100900# Endianess selection. Sufficiently obscure so many users don't know what to
Ralf Baechle5e83d432005-10-29 19:32:41 +0100901# answer,so we try hard to limit the available choices. Also the use of a
902# choice statement should be more obvious to the user.
903#
904choice
905 prompt "Endianess selection"
Linus Torvalds1da177e2005-04-16 15:20:36 -0700906 help
907 Some MIPS machines can be configured for either little or big endian
Ralf Baechle5e83d432005-10-29 19:32:41 +0100908 byte order. These modes require different kernels and a different
Matt LaPlante3cb2fcc2006-11-30 05:22:59 +0100909 Linux distribution. In general there is one preferred byteorder for a
Ralf Baechle5e83d432005-10-29 19:32:41 +0100910 particular system but some systems are just as commonly used in the
David Sterba3dde6ad2007-05-09 07:12:20 +0200911 one or the other endianness.
Ralf Baechle5e83d432005-10-29 19:32:41 +0100912
913config CPU_BIG_ENDIAN
914 bool "Big endian"
915 depends on SYS_SUPPORTS_BIG_ENDIAN
916
917config CPU_LITTLE_ENDIAN
918 bool "Little endian"
919 depends on SYS_SUPPORTS_LITTLE_ENDIAN
920 help
921
922endchoice
923
David Daney22b07632010-07-23 18:41:43 -0700924config EXPORT_UASM
925 bool
926
Ralf Baechle21162452007-02-09 17:08:58 +0000927config SYS_SUPPORTS_APM_EMULATION
928 bool
929
Ralf Baechle5e83d432005-10-29 19:32:41 +0100930config SYS_SUPPORTS_BIG_ENDIAN
931 bool
932
933config SYS_SUPPORTS_LITTLE_ENDIAN
934 bool
Linus Torvalds1da177e2005-04-16 15:20:36 -0700935
David Daney9cffd1542009-05-27 17:47:46 -0700936config SYS_SUPPORTS_HUGETLBFS
937 bool
938 depends on CPU_SUPPORTS_HUGEPAGES && 64BIT
939 default y
940
Linus Torvalds1da177e2005-04-16 15:20:36 -0700941config IRQ_CPU
942 bool
943
944config IRQ_CPU_RM7K
945 bool
946
Ralf Baechle5e83d432005-10-29 19:32:41 +0100947config IRQ_CPU_RM9K
948 bool
949
Marc St-Jean9267a302007-06-14 15:55:31 -0600950config IRQ_MSP_SLP
951 bool
952
953config IRQ_MSP_CIC
954 bool
955
Atsushi Nemoto8420fd02007-08-02 23:35:53 +0900956config IRQ_TXX9
957 bool
958
Yoichi Yuasad5ab1a62007-09-13 23:51:26 +0900959config IRQ_GT641XX
960 bool
961
Ralf Baechle39b8d522008-04-28 17:14:26 +0100962config IRQ_GIC
963 bool
964
David Daneya86c7f72008-12-11 15:33:38 -0800965config IRQ_CPU_OCTEON
966 bool
967
Linus Torvalds1da177e2005-04-16 15:20:36 -0700968config MIPS_BOARDS_GEN
969 bool
Linus Torvalds1da177e2005-04-16 15:20:36 -0700970
Yoichi Yuasa252161e2007-03-14 21:51:26 +0900971config PCI_GT64XXX_PCI0
Linus Torvalds1da177e2005-04-16 15:20:36 -0700972 bool
Linus Torvalds1da177e2005-04-16 15:20:36 -0700973
Marc St-Jean9267a302007-06-14 15:55:31 -0600974config NO_EXCEPT_FILL
975 bool
976
thomas@koeller.dyndns.org663c3d92006-08-27 13:51:48 +0200977config MIPS_RM9122
978 bool
979 select SERIAL_RM9000
thomas@koeller.dyndns.org663c3d92006-08-27 13:51:48 +0200980
Ralf Baechlea83860c2009-03-13 21:17:57 +0100981config SOC_EMMA2RH
982 bool
983 select CEVT_R4K
984 select CSRC_R4K
985 select DMA_NONCOHERENT
986 select IRQ_CPU
987 select SWAP_IO_SPACE
988 select SYS_HAS_CPU_R5500
989 select SYS_SUPPORTS_32BIT_KERNEL
990 select SYS_SUPPORTS_64BIT_KERNEL
991 select SYS_SUPPORTS_BIG_ENDIAN
992
Daniel Lairdedb63102008-06-16 15:49:21 +0100993config SOC_PNX833X
994 bool
995 select CEVT_R4K
996 select CSRC_R4K
997 select IRQ_CPU
998 select DMA_NONCOHERENT
999 select SYS_HAS_CPU_MIPS32_R2
1000 select SYS_SUPPORTS_32BIT_KERNEL
1001 select SYS_SUPPORTS_LITTLE_ENDIAN
1002 select SYS_SUPPORTS_BIG_ENDIAN
Daniel Lairdedb63102008-06-16 15:49:21 +01001003 select GENERIC_GPIO
1004 select CPU_MIPSR2_IRQ_VI
1005
1006config SOC_PNX8335
1007 bool
1008 select SOC_PNX833X
1009
Pete Popovbdf21b12005-07-14 17:47:57 +00001010config PNX8550
1011 bool
1012 select SOC_PNX8550
1013
1014config SOC_PNX8550
1015 bool
Pete Popovbdf21b12005-07-14 17:47:57 +00001016 select DMA_NONCOHERENT
1017 select HW_HAS_PCI
Ralf Baechleb8c2a772005-10-31 13:08:37 +00001018 select SYS_HAS_CPU_MIPS32_R1
Ralf Baechle36a88532007-03-01 11:56:43 +00001019 select SYS_HAS_EARLY_PRINTK
Ralf Baechle7cf80532005-10-20 22:33:09 +01001020 select SYS_SUPPORTS_32BIT_KERNEL
Florian Fainelli4ead1682007-05-22 21:44:42 +02001021 select GENERIC_GPIO
Pete Popovbdf21b12005-07-14 17:47:57 +00001022
Linus Torvalds1da177e2005-04-16 15:20:36 -07001023config SWAP_IO_SPACE
1024 bool
1025
thomas@koeller.dyndns.org663c3d92006-08-27 13:51:48 +02001026config SERIAL_RM9000
1027 bool
1028
Thomas Bogendoerfere2defae2007-12-02 13:00:32 +01001029config SGI_HAS_INDYDOG
1030 bool
1031
Thomas Bogendoerfer5b438c42008-07-10 20:29:55 +02001032config SGI_HAS_HAL2
1033 bool
1034
Thomas Bogendoerfere2defae2007-12-02 13:00:32 +01001035config SGI_HAS_SEEQ
1036 bool
1037
1038config SGI_HAS_WD93
1039 bool
1040
1041config SGI_HAS_ZILOG
1042 bool
1043
1044config SGI_HAS_I8042
1045 bool
1046
1047config DEFAULT_SGI_PARTITION
1048 bool
1049
Ralf Baechle5e83d432005-10-29 19:32:41 +01001050config ARC32
1051 bool
1052
Thomas Bogendoerfer231a35d2008-01-04 23:31:07 +01001053config SNIPROM
1054 bool
1055
Linus Torvalds1da177e2005-04-16 15:20:36 -07001056config BOOT_ELF32
1057 bool
Linus Torvalds1da177e2005-04-16 15:20:36 -07001058
1059config MIPS_L1_CACHE_SHIFT
1060 int
Ralf Baechlec7088752009-10-12 22:30:06 +02001061 default "4" if MACH_DECSTATION || MIKROTIK_RB532 || PMC_MSP4200_EVAL
Ralf Baechle0db2b742009-10-13 16:54:01 +02001062 default "6" if MIPS_CPU_SCACHE
David Daneya86c7f72008-12-11 15:33:38 -08001063 default "7" if SGI_IP22 || SGI_IP27 || SGI_IP28 || SNI_RM || CPU_CAVIUM_OCTEON
Linus Torvalds1da177e2005-04-16 15:20:36 -07001064 default "5"
1065
Linus Torvalds1da177e2005-04-16 15:20:36 -07001066config HAVE_STD_PC_SERIAL_PORT
1067 bool
1068
Linus Torvalds1da177e2005-04-16 15:20:36 -07001069config ARC_CONSOLE
1070 bool "ARC console support"
Thomas Bogendoerfere2defae2007-12-02 13:00:32 +01001071 depends on SGI_IP22 || SGI_IP28 || (SNI_RM && CPU_LITTLE_ENDIAN)
Linus Torvalds1da177e2005-04-16 15:20:36 -07001072
1073config ARC_MEMORY
1074 bool
Thomas Bogendoerfer14b36af2006-12-05 17:05:44 +01001075 depends on MACH_JAZZ || SNI_RM || SGI_IP32
Linus Torvalds1da177e2005-04-16 15:20:36 -07001076 default y
1077
1078config ARC_PROMLIB
1079 bool
Thomas Bogendoerfere2defae2007-12-02 13:00:32 +01001080 depends on MACH_JAZZ || SNI_RM || SGI_IP22 || SGI_IP28 || SGI_IP32
Linus Torvalds1da177e2005-04-16 15:20:36 -07001081 default y
1082
1083config ARC64
1084 bool
Linus Torvalds1da177e2005-04-16 15:20:36 -07001085
1086config BOOT_ELF64
1087 bool
Linus Torvalds1da177e2005-04-16 15:20:36 -07001088
Linus Torvalds1da177e2005-04-16 15:20:36 -07001089menu "CPU selection"
1090
1091choice
1092 prompt "CPU type"
1093 default CPU_R4X00
1094
Wu Zhangjin3702bba2009-07-02 23:27:41 +08001095config CPU_LOONGSON2E
1096 bool "Loongson 2E"
1097 depends on SYS_HAS_CPU_LOONGSON2E
1098 select CPU_LOONGSON2
Fuxin Zhang2a21c732007-06-06 14:52:43 +08001099 help
1100 The Loongson 2E processor implements the MIPS III instruction set
1101 with many extensions.
1102
Wu Zhangjin6f7a2512009-11-06 18:45:05 +08001103 It has an internal FPGA northbridge, which is compatiable to
1104 bonito64.
1105
1106config CPU_LOONGSON2F
1107 bool "Loongson 2F"
1108 depends on SYS_HAS_CPU_LOONGSON2F
1109 select CPU_LOONGSON2
Arnaud Patardc197da92010-04-29 11:58:54 +02001110 select GENERIC_GPIO
1111 select ARCH_REQUIRE_GPIOLIB
Wu Zhangjin6f7a2512009-11-06 18:45:05 +08001112 help
1113 The Loongson 2F processor implements the MIPS III instruction set
1114 with many extensions.
1115
1116 Loongson2F have built-in DDR2 and PCIX controller. The PCIX controller
1117 have a similar programming interface with FPGA northbridge used in
1118 Loongson2E.
1119
Ralf Baechle6e760c82005-07-06 12:08:11 +00001120config CPU_MIPS32_R1
1121 bool "MIPS32 Release 1"
Ralf Baechle7cf80532005-10-20 22:33:09 +01001122 depends on SYS_HAS_CPU_MIPS32_R1
Ralf Baechle6e760c82005-07-06 12:08:11 +00001123 select CPU_HAS_PREFETCH
Ralf Baechle797798c2005-08-10 15:17:11 +00001124 select CPU_SUPPORTS_32BIT_KERNEL
Ralf Baechleec28f302006-03-05 00:45:33 +00001125 select CPU_SUPPORTS_HIGHMEM
Ralf Baechle6e760c82005-07-06 12:08:11 +00001126 help
Ralf Baechle5e83d432005-10-29 19:32:41 +01001127 Choose this option to build a kernel for release 1 or later of the
Ralf Baechle1e5f1ca2005-07-12 14:51:22 +00001128 MIPS32 architecture. Most modern embedded systems with a 32-bit
1129 MIPS processor are based on a MIPS32 processor. If you know the
1130 specific type of processor in your system, choose those that one
1131 otherwise CPU_MIPS32_R1 is a safe bet for any MIPS32 system.
1132 Release 2 of the MIPS32 architecture is available since several
1133 years so chances are you even have a MIPS32 Release 2 processor
1134 in which case you should choose CPU_MIPS32_R2 instead for better
1135 performance.
1136
1137config CPU_MIPS32_R2
1138 bool "MIPS32 Release 2"
Ralf Baechle7cf80532005-10-20 22:33:09 +01001139 depends on SYS_HAS_CPU_MIPS32_R2
Ralf Baechle1e5f1ca2005-07-12 14:51:22 +00001140 select CPU_HAS_PREFETCH
Ralf Baechle797798c2005-08-10 15:17:11 +00001141 select CPU_SUPPORTS_32BIT_KERNEL
Ralf Baechleec28f302006-03-05 00:45:33 +00001142 select CPU_SUPPORTS_HIGHMEM
Ralf Baechle1e5f1ca2005-07-12 14:51:22 +00001143 help
Ralf Baechle5e83d432005-10-29 19:32:41 +01001144 Choose this option to build a kernel for release 2 or later of the
Ralf Baechle6e760c82005-07-06 12:08:11 +00001145 MIPS32 architecture. Most modern embedded systems with a 32-bit
1146 MIPS processor are based on a MIPS32 processor. If you know the
1147 specific type of processor in your system, choose those that one
1148 otherwise CPU_MIPS32_R1 is a safe bet for any MIPS32 system.
Linus Torvalds1da177e2005-04-16 15:20:36 -07001149
Ralf Baechle6e760c82005-07-06 12:08:11 +00001150config CPU_MIPS64_R1
1151 bool "MIPS64 Release 1"
Ralf Baechle7cf80532005-10-20 22:33:09 +01001152 depends on SYS_HAS_CPU_MIPS64_R1
Ralf Baechle797798c2005-08-10 15:17:11 +00001153 select CPU_HAS_PREFETCH
Yoichi Yuasaed5ba2f2005-09-03 15:56:21 -07001154 select CPU_SUPPORTS_32BIT_KERNEL
1155 select CPU_SUPPORTS_64BIT_KERNEL
Ralf Baechleec28f302006-03-05 00:45:33 +00001156 select CPU_SUPPORTS_HIGHMEM
David Daney9cffd1542009-05-27 17:47:46 -07001157 select CPU_SUPPORTS_HUGEPAGES
Ralf Baechle6e760c82005-07-06 12:08:11 +00001158 help
1159 Choose this option to build a kernel for release 1 or later of the
1160 MIPS64 architecture. Many modern embedded systems with a 64-bit
1161 MIPS processor are based on a MIPS64 processor. If you know the
1162 specific type of processor in your system, choose those that one
1163 otherwise CPU_MIPS64_R1 is a safe bet for any MIPS64 system.
Ralf Baechle1e5f1ca2005-07-12 14:51:22 +00001164 Release 2 of the MIPS64 architecture is available since several
1165 years so chances are you even have a MIPS64 Release 2 processor
1166 in which case you should choose CPU_MIPS64_R2 instead for better
1167 performance.
1168
1169config CPU_MIPS64_R2
1170 bool "MIPS64 Release 2"
Ralf Baechle7cf80532005-10-20 22:33:09 +01001171 depends on SYS_HAS_CPU_MIPS64_R2
Ralf Baechle797798c2005-08-10 15:17:11 +00001172 select CPU_HAS_PREFETCH
Ralf Baechle1e5f1ca2005-07-12 14:51:22 +00001173 select CPU_SUPPORTS_32BIT_KERNEL
1174 select CPU_SUPPORTS_64BIT_KERNEL
Ralf Baechleec28f302006-03-05 00:45:33 +00001175 select CPU_SUPPORTS_HIGHMEM
David Daney9cffd1542009-05-27 17:47:46 -07001176 select CPU_SUPPORTS_HUGEPAGES
Ralf Baechle1e5f1ca2005-07-12 14:51:22 +00001177 help
1178 Choose this option to build a kernel for release 2 or later of the
1179 MIPS64 architecture. Many modern embedded systems with a 64-bit
1180 MIPS processor are based on a MIPS64 processor. If you know the
1181 specific type of processor in your system, choose those that one
1182 otherwise CPU_MIPS64_R1 is a safe bet for any MIPS64 system.
Linus Torvalds1da177e2005-04-16 15:20:36 -07001183
1184config CPU_R3000
1185 bool "R3000"
Ralf Baechle7cf80532005-10-20 22:33:09 +01001186 depends on SYS_HAS_CPU_R3000
Ralf Baechlef7062dd2006-04-24 14:58:53 +01001187 select CPU_HAS_WB
Yoichi Yuasaed5ba2f2005-09-03 15:56:21 -07001188 select CPU_SUPPORTS_32BIT_KERNEL
Ralf Baechle797798c2005-08-10 15:17:11 +00001189 select CPU_SUPPORTS_HIGHMEM
Linus Torvalds1da177e2005-04-16 15:20:36 -07001190 help
1191 Please make sure to pick the right CPU type. Linux/MIPS is not
1192 designed to be generic, i.e. Kernels compiled for R3000 CPUs will
1193 *not* work on R4000 machines and vice versa. However, since most
1194 of the supported machines have an R4000 (or similar) CPU, R4x00
1195 might be a safe bet. If the resulting kernel does not work,
1196 try to recompile with R3000.
1197
1198config CPU_TX39XX
1199 bool "R39XX"
Ralf Baechle7cf80532005-10-20 22:33:09 +01001200 depends on SYS_HAS_CPU_TX39XX
Yoichi Yuasaed5ba2f2005-09-03 15:56:21 -07001201 select CPU_SUPPORTS_32BIT_KERNEL
Linus Torvalds1da177e2005-04-16 15:20:36 -07001202
1203config CPU_VR41XX
1204 bool "R41xx"
Ralf Baechle7cf80532005-10-20 22:33:09 +01001205 depends on SYS_HAS_CPU_VR41XX
Yoichi Yuasaed5ba2f2005-09-03 15:56:21 -07001206 select CPU_SUPPORTS_32BIT_KERNEL
1207 select CPU_SUPPORTS_64BIT_KERNEL
Linus Torvalds1da177e2005-04-16 15:20:36 -07001208 help
Ralf Baechle5e83d432005-10-29 19:32:41 +01001209 The options selects support for the NEC VR4100 series of processors.
Linus Torvalds1da177e2005-04-16 15:20:36 -07001210 Only choose this option if you have one of these processors as a
1211 kernel built with this option will not run on any other type of
1212 processor or vice versa.
1213
1214config CPU_R4300
1215 bool "R4300"
Ralf Baechle7cf80532005-10-20 22:33:09 +01001216 depends on SYS_HAS_CPU_R4300
Yoichi Yuasaed5ba2f2005-09-03 15:56:21 -07001217 select CPU_SUPPORTS_32BIT_KERNEL
1218 select CPU_SUPPORTS_64BIT_KERNEL
Linus Torvalds1da177e2005-04-16 15:20:36 -07001219 help
1220 MIPS Technologies R4300-series processors.
1221
1222config CPU_R4X00
1223 bool "R4x00"
Ralf Baechle7cf80532005-10-20 22:33:09 +01001224 depends on SYS_HAS_CPU_R4X00
Yoichi Yuasaed5ba2f2005-09-03 15:56:21 -07001225 select CPU_SUPPORTS_32BIT_KERNEL
1226 select CPU_SUPPORTS_64BIT_KERNEL
Linus Torvalds1da177e2005-04-16 15:20:36 -07001227 help
1228 MIPS Technologies R4000-series processors other than 4300, including
1229 the R4000, R4400, R4600, and 4700.
1230
1231config CPU_TX49XX
1232 bool "R49XX"
Ralf Baechle7cf80532005-10-20 22:33:09 +01001233 depends on SYS_HAS_CPU_TX49XX
Atsushi Nemotode862b42006-03-17 12:59:22 +09001234 select CPU_HAS_PREFETCH
Yoichi Yuasaed5ba2f2005-09-03 15:56:21 -07001235 select CPU_SUPPORTS_32BIT_KERNEL
1236 select CPU_SUPPORTS_64BIT_KERNEL
Linus Torvalds1da177e2005-04-16 15:20:36 -07001237
1238config CPU_R5000
1239 bool "R5000"
Ralf Baechle7cf80532005-10-20 22:33:09 +01001240 depends on SYS_HAS_CPU_R5000
Yoichi Yuasaed5ba2f2005-09-03 15:56:21 -07001241 select CPU_SUPPORTS_32BIT_KERNEL
1242 select CPU_SUPPORTS_64BIT_KERNEL
Linus Torvalds1da177e2005-04-16 15:20:36 -07001243 help
1244 MIPS Technologies R5000-series processors other than the Nevada.
1245
1246config CPU_R5432
1247 bool "R5432"
Ralf Baechle7cf80532005-10-20 22:33:09 +01001248 depends on SYS_HAS_CPU_R5432
Ralf Baechle5e83d432005-10-29 19:32:41 +01001249 select CPU_SUPPORTS_32BIT_KERNEL
1250 select CPU_SUPPORTS_64BIT_KERNEL
Linus Torvalds1da177e2005-04-16 15:20:36 -07001251
Shinya Kuribayashi542c1022008-10-24 01:27:57 +09001252config CPU_R5500
1253 bool "R5500"
1254 depends on SYS_HAS_CPU_R5500
Shinya Kuribayashi542c1022008-10-24 01:27:57 +09001255 select CPU_SUPPORTS_32BIT_KERNEL
1256 select CPU_SUPPORTS_64BIT_KERNEL
David Daney9cffd1542009-05-27 17:47:46 -07001257 select CPU_SUPPORTS_HUGEPAGES
Shinya Kuribayashi542c1022008-10-24 01:27:57 +09001258 help
1259 NEC VR5500 and VR5500A series processors implement 64-bit MIPS IV
1260 instruction set.
1261
Linus Torvalds1da177e2005-04-16 15:20:36 -07001262config CPU_R6000
1263 bool "R6000"
Yoichi Yuasaed5ba2f2005-09-03 15:56:21 -07001264 depends on EXPERIMENTAL
Ralf Baechle7cf80532005-10-20 22:33:09 +01001265 depends on SYS_HAS_CPU_R6000
Yoichi Yuasaed5ba2f2005-09-03 15:56:21 -07001266 select CPU_SUPPORTS_32BIT_KERNEL
Linus Torvalds1da177e2005-04-16 15:20:36 -07001267 help
1268 MIPS Technologies R6000 and R6000A series processors. Note these
Chris Dearmanc09b47d2006-06-20 17:15:20 +01001269 processors are extremely rare and the support for them is incomplete.
Linus Torvalds1da177e2005-04-16 15:20:36 -07001270
1271config CPU_NEVADA
1272 bool "RM52xx"
Ralf Baechle7cf80532005-10-20 22:33:09 +01001273 depends on SYS_HAS_CPU_NEVADA
Yoichi Yuasaed5ba2f2005-09-03 15:56:21 -07001274 select CPU_SUPPORTS_32BIT_KERNEL
1275 select CPU_SUPPORTS_64BIT_KERNEL
Linus Torvalds1da177e2005-04-16 15:20:36 -07001276 help
1277 QED / PMC-Sierra RM52xx-series ("Nevada") processors.
1278
1279config CPU_R8000
1280 bool "R8000"
Yoichi Yuasaed5ba2f2005-09-03 15:56:21 -07001281 depends on EXPERIMENTAL
Ralf Baechle7cf80532005-10-20 22:33:09 +01001282 depends on SYS_HAS_CPU_R8000
Ralf Baechle5e83d432005-10-29 19:32:41 +01001283 select CPU_HAS_PREFETCH
Yoichi Yuasaed5ba2f2005-09-03 15:56:21 -07001284 select CPU_SUPPORTS_64BIT_KERNEL
Linus Torvalds1da177e2005-04-16 15:20:36 -07001285 help
1286 MIPS Technologies R8000 processors. Note these processors are
1287 uncommon and the support for them is incomplete.
1288
1289config CPU_R10000
1290 bool "R10000"
Ralf Baechle7cf80532005-10-20 22:33:09 +01001291 depends on SYS_HAS_CPU_R10000
Ralf Baechle5e83d432005-10-29 19:32:41 +01001292 select CPU_HAS_PREFETCH
Yoichi Yuasaed5ba2f2005-09-03 15:56:21 -07001293 select CPU_SUPPORTS_32BIT_KERNEL
1294 select CPU_SUPPORTS_64BIT_KERNEL
Ralf Baechle797798c2005-08-10 15:17:11 +00001295 select CPU_SUPPORTS_HIGHMEM
Linus Torvalds1da177e2005-04-16 15:20:36 -07001296 help
1297 MIPS Technologies R10000-series processors.
1298
1299config CPU_RM7000
1300 bool "RM7000"
Ralf Baechle7cf80532005-10-20 22:33:09 +01001301 depends on SYS_HAS_CPU_RM7000
Ralf Baechle5e83d432005-10-29 19:32:41 +01001302 select CPU_HAS_PREFETCH
Yoichi Yuasaed5ba2f2005-09-03 15:56:21 -07001303 select CPU_SUPPORTS_32BIT_KERNEL
1304 select CPU_SUPPORTS_64BIT_KERNEL
Ralf Baechle797798c2005-08-10 15:17:11 +00001305 select CPU_SUPPORTS_HIGHMEM
Linus Torvalds1da177e2005-04-16 15:20:36 -07001306
1307config CPU_RM9000
1308 bool "RM9000"
Ralf Baechle7cf80532005-10-20 22:33:09 +01001309 depends on SYS_HAS_CPU_RM9000
Ralf Baechle5e83d432005-10-29 19:32:41 +01001310 select CPU_HAS_PREFETCH
Yoichi Yuasaed5ba2f2005-09-03 15:56:21 -07001311 select CPU_SUPPORTS_32BIT_KERNEL
1312 select CPU_SUPPORTS_64BIT_KERNEL
Ralf Baechle797798c2005-08-10 15:17:11 +00001313 select CPU_SUPPORTS_HIGHMEM
Ralf Baechle0004a9d2006-10-31 03:45:07 +00001314 select WEAK_ORDERING
Linus Torvalds1da177e2005-04-16 15:20:36 -07001315
1316config CPU_SB1
1317 bool "SB1"
Ralf Baechle7cf80532005-10-20 22:33:09 +01001318 depends on SYS_HAS_CPU_SB1
Yoichi Yuasaed5ba2f2005-09-03 15:56:21 -07001319 select CPU_SUPPORTS_32BIT_KERNEL
1320 select CPU_SUPPORTS_64BIT_KERNEL
Ralf Baechle797798c2005-08-10 15:17:11 +00001321 select CPU_SUPPORTS_HIGHMEM
Ralf Baechle0004a9d2006-10-31 03:45:07 +00001322 select WEAK_ORDERING
Linus Torvalds1da177e2005-04-16 15:20:36 -07001323
David Daneya86c7f72008-12-11 15:33:38 -08001324config CPU_CAVIUM_OCTEON
1325 bool "Cavium Octeon processor"
David Daney5e683382009-02-02 11:30:59 -08001326 depends on SYS_HAS_CPU_CAVIUM_OCTEON
David Daneya86c7f72008-12-11 15:33:38 -08001327 select IRQ_CPU
1328 select IRQ_CPU_OCTEON
1329 select CPU_HAS_PREFETCH
1330 select CPU_SUPPORTS_64BIT_KERNEL
1331 select SYS_SUPPORTS_SMP
1332 select NR_CPUS_DEFAULT_16
1333 select WEAK_ORDERING
David Daneya86c7f72008-12-11 15:33:38 -08001334 select CPU_SUPPORTS_HIGHMEM
David Daney9cffd1542009-05-27 17:47:46 -07001335 select CPU_SUPPORTS_HUGEPAGES
David Daneya86c7f72008-12-11 15:33:38 -08001336 help
1337 The Cavium Octeon processor is a highly integrated chip containing
1338 many ethernet hardware widgets for networking tasks. The processor
1339 can have up to 16 Mips64v2 cores and 8 integrated gigabit ethernets.
1340 Full details can be found at http://www.caviumnetworks.com.
1341
Linus Torvalds1da177e2005-04-16 15:20:36 -07001342endchoice
1343
Wu Zhangjin622844b2010-04-10 20:04:42 +08001344if CPU_LOONGSON2F
1345config CPU_NOP_WORKAROUNDS
1346 bool
1347
1348config CPU_JUMP_WORKAROUNDS
1349 bool
1350
1351config CPU_LOONGSON2F_WORKAROUNDS
1352 bool "Loongson 2F Workarounds"
1353 default y
1354 select CPU_NOP_WORKAROUNDS
1355 select CPU_JUMP_WORKAROUNDS
1356 help
1357 Loongson 2F01 / 2F02 processors have the NOP & JUMP issues which
1358 require workarounds. Without workarounds the system may hang
1359 unexpectedly. For more information please refer to the gas
1360 -mfix-loongson2f-nop and -mfix-loongson2f-jump options.
1361
1362 Loongson 2F03 and later have fixed these issues and no workarounds
1363 are needed. The workarounds have no significant side effect on them
1364 but may decrease the performance of the system so this option should
1365 be disabled unless the kernel is intended to be run on 2F01 or 2F02
1366 systems.
1367
1368 If unsure, please say Y.
1369endif # CPU_LOONGSON2F
1370
Wu Zhangjin1b93b3c2009-10-14 18:12:16 +08001371config SYS_SUPPORTS_ZBOOT
1372 bool
1373 select HAVE_KERNEL_GZIP
1374 select HAVE_KERNEL_BZIP2
1375 select HAVE_KERNEL_LZMA
Wu Zhangjinfe1d45e2010-01-15 20:34:46 +08001376 select HAVE_KERNEL_LZO
Wu Zhangjin1b93b3c2009-10-14 18:12:16 +08001377
1378config SYS_SUPPORTS_ZBOOT_UART16550
1379 bool
1380 select SYS_SUPPORTS_ZBOOT
1381
Wu Zhangjin3702bba2009-07-02 23:27:41 +08001382config CPU_LOONGSON2
1383 bool
1384 select CPU_SUPPORTS_32BIT_KERNEL
1385 select CPU_SUPPORTS_64BIT_KERNEL
1386 select CPU_SUPPORTS_HIGHMEM
1387
1388config SYS_HAS_CPU_LOONGSON2E
Fuxin Zhang2a21c732007-06-06 14:52:43 +08001389 bool
1390
Wu Zhangjin6f7a2512009-11-06 18:45:05 +08001391config SYS_HAS_CPU_LOONGSON2F
1392 bool
Wu Zhangjin55045ff2009-11-11 13:39:12 +08001393 select CPU_SUPPORTS_CPUFREQ
1394 select CPU_SUPPORTS_ADDRWINCFG if 64BIT
Wu Zhangjin22f1fdf2009-11-11 13:59:23 +08001395 select CPU_SUPPORTS_UNCACHED_ACCELERATED
Wu Zhangjin6f7a2512009-11-06 18:45:05 +08001396
Ralf Baechle7cf80532005-10-20 22:33:09 +01001397config SYS_HAS_CPU_MIPS32_R1
1398 bool
1399
1400config SYS_HAS_CPU_MIPS32_R2
1401 bool
1402
1403config SYS_HAS_CPU_MIPS64_R1
1404 bool
1405
1406config SYS_HAS_CPU_MIPS64_R2
1407 bool
1408
1409config SYS_HAS_CPU_R3000
1410 bool
1411
1412config SYS_HAS_CPU_TX39XX
1413 bool
1414
1415config SYS_HAS_CPU_VR41XX
1416 bool
1417
1418config SYS_HAS_CPU_R4300
1419 bool
1420
1421config SYS_HAS_CPU_R4X00
1422 bool
1423
1424config SYS_HAS_CPU_TX49XX
1425 bool
1426
1427config SYS_HAS_CPU_R5000
1428 bool
1429
1430config SYS_HAS_CPU_R5432
1431 bool
1432
Shinya Kuribayashi542c1022008-10-24 01:27:57 +09001433config SYS_HAS_CPU_R5500
1434 bool
1435
Ralf Baechle7cf80532005-10-20 22:33:09 +01001436config SYS_HAS_CPU_R6000
1437 bool
1438
1439config SYS_HAS_CPU_NEVADA
1440 bool
1441
1442config SYS_HAS_CPU_R8000
1443 bool
1444
1445config SYS_HAS_CPU_R10000
1446 bool
1447
1448config SYS_HAS_CPU_RM7000
1449 bool
1450
1451config SYS_HAS_CPU_RM9000
1452 bool
1453
1454config SYS_HAS_CPU_SB1
1455 bool
1456
David Daney5e683382009-02-02 11:30:59 -08001457config SYS_HAS_CPU_CAVIUM_OCTEON
1458 bool
1459
Ralf Baechle17099b12007-07-14 13:24:05 +01001460#
1461# CPU may reorder R->R, R->W, W->R, W->W
1462# Reordering beyond LL and SC is handled in WEAK_REORDERING_BEYOND_LLSC
1463#
Ralf Baechle0004a9d2006-10-31 03:45:07 +00001464config WEAK_ORDERING
1465 bool
Ralf Baechle17099b12007-07-14 13:24:05 +01001466
1467#
1468# CPU may reorder reads and writes beyond LL/SC
1469# CPU may reorder R->LL, R->LL, W->LL, W->LL, R->SC, R->SC, W->SC, W->SC
1470#
1471config WEAK_REORDERING_BEYOND_LLSC
1472 bool
Ralf Baechle5e83d432005-10-29 19:32:41 +01001473endmenu
1474
1475#
Chris Dearmanc09b47d2006-06-20 17:15:20 +01001476# These two indicate any level of the MIPS32 and MIPS64 architecture
Ralf Baechle5e83d432005-10-29 19:32:41 +01001477#
1478config CPU_MIPS32
1479 bool
1480 default y if CPU_MIPS32_R1 || CPU_MIPS32_R2
1481
1482config CPU_MIPS64
1483 bool
1484 default y if CPU_MIPS64_R1 || CPU_MIPS64_R2
1485
1486#
Chris Dearmanc09b47d2006-06-20 17:15:20 +01001487# These two indicate the revision of the architecture, either Release 1 or Release 2
Ralf Baechle5e83d432005-10-29 19:32:41 +01001488#
1489config CPU_MIPSR1
1490 bool
1491 default y if CPU_MIPS32_R1 || CPU_MIPS64_R1
1492
1493config CPU_MIPSR2
1494 bool
David Daneya86c7f72008-12-11 15:33:38 -08001495 default y if CPU_MIPS32_R2 || CPU_MIPS64_R2 || CPU_CAVIUM_OCTEON
Ralf Baechle5e83d432005-10-29 19:32:41 +01001496
1497config SYS_SUPPORTS_32BIT_KERNEL
1498 bool
1499config SYS_SUPPORTS_64BIT_KERNEL
1500 bool
1501config CPU_SUPPORTS_32BIT_KERNEL
1502 bool
1503config CPU_SUPPORTS_64BIT_KERNEL
1504 bool
Wu Zhangjin55045ff2009-11-11 13:39:12 +08001505config CPU_SUPPORTS_CPUFREQ
1506 bool
1507config CPU_SUPPORTS_ADDRWINCFG
1508 bool
David Daney9cffd1542009-05-27 17:47:46 -07001509config CPU_SUPPORTS_HUGEPAGES
1510 bool
Wu Zhangjin22f1fdf2009-11-11 13:59:23 +08001511config CPU_SUPPORTS_UNCACHED_ACCELERATED
1512 bool
David Daney82622282009-10-14 12:16:56 -07001513config MIPS_PGD_C0_CONTEXT
1514 bool
1515 default y if 64BIT && CPU_MIPSR2
Ralf Baechle5e83d432005-10-29 19:32:41 +01001516
David Daney8192c9e2008-09-23 00:04:26 -07001517#
1518# Set to y for ptrace access to watch registers.
1519#
1520config HARDWARE_WATCHPOINTS
1521 bool
David Daneyf8394902009-01-05 15:29:14 -08001522 default y if CPU_MIPSR1 || CPU_MIPSR2
David Daney8192c9e2008-09-23 00:04:26 -07001523
Ralf Baechle5e83d432005-10-29 19:32:41 +01001524menu "Kernel type"
1525
1526choice
1527
1528 prompt "Kernel code model"
1529 help
1530 You should only select this option if you have a workload that
1531 actually benefits from 64-bit processing or if your machine has
1532 large memory. You will only be presented a single option in this
1533 menu if your system does not support both 32-bit and 64-bit kernels.
1534
1535config 32BIT
1536 bool "32-bit kernel"
1537 depends on CPU_SUPPORTS_32BIT_KERNEL && SYS_SUPPORTS_32BIT_KERNEL
1538 select TRAD_SIGNALS
1539 help
1540 Select this option if you want to build a 32-bit kernel.
1541config 64BIT
1542 bool "64-bit kernel"
1543 depends on CPU_SUPPORTS_64BIT_KERNEL && SYS_SUPPORTS_64BIT_KERNEL
Ralf Baechledbda6ac2009-02-08 16:00:26 +00001544 select HAVE_SYSCALL_WRAPPERS
Ralf Baechle5e83d432005-10-29 19:32:41 +01001545 help
1546 Select this option if you want to build a 64-bit kernel.
1547
1548endchoice
1549
Linus Torvalds1da177e2005-04-16 15:20:36 -07001550choice
1551 prompt "Kernel page size"
1552 default PAGE_SIZE_4KB
1553
1554config PAGE_SIZE_4KB
1555 bool "4kB"
Wu Zhangjin315fe622009-12-01 14:55:25 +08001556 depends on !CPU_LOONGSON2
Linus Torvalds1da177e2005-04-16 15:20:36 -07001557 help
1558 This option select the standard 4kB Linux page size. On some
1559 R3000-family processors this is the only available page size. Using
1560 4kB page size will minimize memory consumption and is therefore
1561 recommended for low memory systems.
1562
1563config PAGE_SIZE_8KB
1564 bool "8kB"
Ralf Baechlec52399b2009-04-02 14:07:10 +02001565 depends on (EXPERIMENTAL && CPU_R8000) || CPU_CAVIUM_OCTEON
Linus Torvalds1da177e2005-04-16 15:20:36 -07001566 help
1567 Using 8kB page size will result in higher performance kernel at
1568 the price of higher memory consumption. This option is available
Ralf Baechlec52399b2009-04-02 14:07:10 +02001569 only on R8000 and cnMIPS processors. Note that you will need a
1570 suitable Linux distribution to support this.
Linus Torvalds1da177e2005-04-16 15:20:36 -07001571
1572config PAGE_SIZE_16KB
1573 bool "16kB"
Ralf Baechle714bfad2006-05-17 14:04:30 +01001574 depends on !CPU_R3000 && !CPU_TX39XX
Linus Torvalds1da177e2005-04-16 15:20:36 -07001575 help
1576 Using 16kB page size will result in higher performance kernel at
1577 the price of higher memory consumption. This option is available on
Ralf Baechle714bfad2006-05-17 14:04:30 +01001578 all non-R3000 family processors. Note that you will need a suitable
1579 Linux distribution to support this.
Linus Torvalds1da177e2005-04-16 15:20:36 -07001580
Ralf Baechlec52399b2009-04-02 14:07:10 +02001581config PAGE_SIZE_32KB
1582 bool "32kB"
1583 depends on CPU_CAVIUM_OCTEON
1584 help
1585 Using 32kB page size will result in higher performance kernel at
1586 the price of higher memory consumption. This option is available
1587 only on cnMIPS cores. Note that you will need a suitable Linux
1588 distribution to support this.
1589
Linus Torvalds1da177e2005-04-16 15:20:36 -07001590config PAGE_SIZE_64KB
1591 bool "64kB"
1592 depends on EXPERIMENTAL && !CPU_R3000 && !CPU_TX39XX
1593 help
1594 Using 64kB page size will result in higher performance kernel at
1595 the price of higher memory consumption. This option is available on
1596 all non-R3000 family processor. Not that at the time of this
Ralf Baechle714bfad2006-05-17 14:04:30 +01001597 writing this option is still high experimental.
Linus Torvalds1da177e2005-04-16 15:20:36 -07001598
1599endchoice
1600
1601config BOARD_SCACHE
1602 bool
1603
1604config IP22_CPU_SCACHE
1605 bool
1606 select BOARD_SCACHE
1607
Chris Dearman9318c512006-06-20 17:15:20 +01001608#
1609# Support for a MIPS32 / MIPS64 style S-caches
1610#
1611config MIPS_CPU_SCACHE
1612 bool
1613 select BOARD_SCACHE
1614
Linus Torvalds1da177e2005-04-16 15:20:36 -07001615config R5000_CPU_SCACHE
1616 bool
1617 select BOARD_SCACHE
1618
1619config RM7000_CPU_SCACHE
1620 bool
1621 select BOARD_SCACHE
1622
1623config SIBYTE_DMA_PAGEOPS
1624 bool "Use DMA to clear/copy pages"
1625 depends on CPU_SB1
1626 help
1627 Instead of using the CPU to zero and copy pages, use a Data Mover
1628 channel. These DMA channels are otherwise unused by the standard
1629 SiByte Linux port. Seems to give a small performance benefit.
1630
1631config CPU_HAS_PREFETCH
Ralf Baechlec8094b52005-08-05 14:28:54 +00001632 bool
Linus Torvalds1da177e2005-04-16 15:20:36 -07001633
Ralf Baechle340ee4b2005-08-17 17:44:08 +00001634choice
1635 prompt "MIPS MT options"
Ralf Baechlef41ae0b2006-06-05 17:24:46 +01001636
1637config MIPS_MT_DISABLED
1638 bool "Disable multithreading support."
1639 help
1640 Use this option if your workload can't take advantage of
1641 MIPS hardware multithreading support. On systems that don't have
1642 the option of an MT-enabled processor this option will be the only
1643 option in this menu.
Ralf Baechle340ee4b2005-08-17 17:44:08 +00001644
Ralf Baechle59d6ab82006-10-06 17:36:20 +01001645config MIPS_MT_SMP
1646 bool "Use 1 TC on each available VPE for SMP"
1647 depends on SYS_SUPPORTS_MULTITHREADING
1648 select CPU_MIPSR2_IRQ_VI
Chris Dearmand725cf32007-05-08 14:05:39 +01001649 select CPU_MIPSR2_IRQ_EI
Ralf Baechle59d6ab82006-10-06 17:36:20 +01001650 select MIPS_MT
Ralf Baechlef510aa32007-03-16 21:58:37 +00001651 select NR_CPUS_DEFAULT_2
Ralf Baechle59d6ab82006-10-06 17:36:20 +01001652 select SMP
Ralf Baechle0ab7aef2007-03-02 20:42:04 +00001653 select SYS_SUPPORTS_SCHED_SMT if SMP
Ralf Baechle59d6ab82006-10-06 17:36:20 +01001654 select SYS_SUPPORTS_SMP
Ralf Baechle87353d82007-11-19 12:23:51 +00001655 select SMP_UP
Ralf Baechle59d6ab82006-10-06 17:36:20 +01001656 help
Ralf Baechle25f12b32010-09-16 11:40:41 +01001657 This is a kernel model which is known a VSMP but lately has been
1658 marketesed into SMVP.
1659 Virtual SMP uses the processor's VPEs to implement virtual
1660 processors. In currently available configuration of the 34K processor
1661 this allows for a dual processor. Both processors will share the same
1662 primary caches; each will obtain the half of the TLB for it's own
1663 exclusive use. For a layman this model can be described as similar to
1664 what Intel calls Hyperthreading.
1665
1666 For further information see http://www.linux-mips.org/wiki/34K#VSMP
Ralf Baechle59d6ab82006-10-06 17:36:20 +01001667
Ralf Baechle41c594a2006-04-05 09:45:45 +01001668config MIPS_MT_SMTC
1669 bool "SMTC: Use all TCs on all VPEs for SMP"
Ralf Baechlef41ae0b2006-06-05 17:24:46 +01001670 depends on CPU_MIPS32_R2
1671 #depends on CPU_MIPS64_R2 # once there is hardware ...
1672 depends on SYS_SUPPORTS_MULTITHREADING
Ralf Baechlef7062dd2006-04-24 14:58:53 +01001673 select CPU_MIPSR2_IRQ_VI
Chris Dearmand725cf32007-05-08 14:05:39 +01001674 select CPU_MIPSR2_IRQ_EI
Ralf Baechlef41ae0b2006-06-05 17:24:46 +01001675 select MIPS_MT
Ralf Baechle130e2fb2007-02-06 16:53:15 +00001676 select NR_CPUS_DEFAULT_8
Ralf Baechle41c594a2006-04-05 09:45:45 +01001677 select SMP
Ralf Baechle73b76c72006-08-15 19:36:40 +01001678 select SYS_SUPPORTS_SMP
Ralf Baechle87353d82007-11-19 12:23:51 +00001679 select SMP_UP
Ralf Baechlef41ae0b2006-06-05 17:24:46 +01001680 help
1681 This is a kernel model which is known a SMTC or lately has been
1682 marketesed into SMVP.
Ralf Baechle25f12b32010-09-16 11:40:41 +01001683 is presenting the available TC's of the core as processors to Linux.
1684 On currently available 34K processors this means a Linux system will
1685 see up to 5 processors. The implementation of the SMTC kernel differs
1686 significantly from VSMP and cannot efficiently coexist in the same
1687 kernel binary so the choice between VSMP and SMTC is a compile time
1688 decision.
1689
1690 For further information see http://www.linux-mips.org/wiki/34K#SMTC
Ralf Baechle41c594a2006-04-05 09:45:45 +01001691
Ralf Baechle340ee4b2005-08-17 17:44:08 +00001692endchoice
1693
Ralf Baechlef41ae0b2006-06-05 17:24:46 +01001694config MIPS_MT
1695 bool
1696
Ralf Baechle0ab7aef2007-03-02 20:42:04 +00001697config SCHED_SMT
1698 bool "SMT (multithreading) scheduler support"
1699 depends on SYS_SUPPORTS_SCHED_SMT
1700 default n
1701 help
1702 SMT scheduler support improves the CPU scheduler's decision making
1703 when dealing with MIPS MT enabled cores at a cost of slightly
1704 increased overhead in some places. If unsure say N here.
1705
1706config SYS_SUPPORTS_SCHED_SMT
1707 bool
1708
1709
Ralf Baechlef41ae0b2006-06-05 17:24:46 +01001710config SYS_SUPPORTS_MULTITHREADING
1711 bool
1712
Ralf Baechlef088fc82006-04-05 09:45:47 +01001713config MIPS_MT_FPAFF
1714 bool "Dynamic FPU affinity for FP-intensive threads"
Ralf Baechlef088fc82006-04-05 09:45:47 +01001715 default y
Ralf Baechle07cc0c92007-07-27 19:31:10 +01001716 depends on MIPS_MT_SMP || MIPS_MT_SMTC
1717
1718config MIPS_VPE_LOADER
1719 bool "VPE loader support."
1720 depends on SYS_SUPPORTS_MULTITHREADING
1721 select CPU_MIPSR2_IRQ_VI
1722 select CPU_MIPSR2_IRQ_EI
Ralf Baechle07cc0c92007-07-27 19:31:10 +01001723 select MIPS_MT
1724 help
1725 Includes a loader for loading an elf relocatable object
1726 onto another VPE and running it.
Ralf Baechlef088fc82006-04-05 09:45:47 +01001727
Kevin D. Kissell0db34212007-07-12 16:21:08 +01001728config MIPS_MT_SMTC_IM_BACKSTOP
1729 bool "Use per-TC register bits as backstop for inhibited IM bits"
1730 depends on MIPS_MT_SMTC
Kevin D. Kissell8531a352008-09-09 21:48:52 +02001731 default n
Kevin D. Kissell0db34212007-07-12 16:21:08 +01001732 help
1733 To support multiple TC microthreads acting as "CPUs" within
1734 a VPE, VPE-wide interrupt mask bits must be specially manipulated
1735 during interrupt handling. To support legacy drivers and interrupt
1736 controller management code, SMTC has a "backstop" to track and
1737 if necessary restore the interrupt mask. This has some performance
Kevin D. Kissell8531a352008-09-09 21:48:52 +02001738 impact on interrupt service overhead.
Kevin D. Kissell0db34212007-07-12 16:21:08 +01001739
Kevin D. Kissellf571eff2007-08-03 19:38:03 +02001740config MIPS_MT_SMTC_IRQAFF
1741 bool "Support IRQ affinity API"
1742 depends on MIPS_MT_SMTC
1743 default n
1744 help
1745 Enables SMP IRQ affinity API (/proc/irq/*/smp_affinity, etc.)
1746 for SMTC Linux kernel. Requires platform support, of which
1747 an example can be found in the MIPS kernel i8259 and Malta
Kevin D. Kissell8531a352008-09-09 21:48:52 +02001748 platform code. Adds some overhead to interrupt dispatch, and
1749 should be used only if you know what you are doing.
Kevin D. Kissellf571eff2007-08-03 19:38:03 +02001750
Ralf Baechlee01402b2005-07-14 15:57:16 +00001751config MIPS_VPE_LOADER_TOM
1752 bool "Load VPE program into memory hidden from linux"
1753 depends on MIPS_VPE_LOADER
1754 default y
1755 help
1756 The loader can use memory that is present but has been hidden from
1757 Linux using the kernel command line option "mem=xxMB". It's up to
1758 you to ensure the amount you put in the option and the space your
1759 program requires is less or equal to the amount physically present.
1760
1761# this should possibly be in drivers/char, but it is rather cpu related. Hmmm
1762config MIPS_VPE_APSP_API
Ralf Baechle5e83d432005-10-29 19:32:41 +01001763 bool "Enable support for AP/SP API (RTLX)"
1764 depends on MIPS_VPE_LOADER
1765 help
Ralf Baechlee01402b2005-07-14 15:57:16 +00001766
Ralf Baechle26009902006-04-05 09:45:45 +01001767config MIPS_APSP_KSPD
1768 bool "Enable KSPD"
1769 depends on MIPS_VPE_APSP_API
1770 default y
1771 help
1772 KSPD is a kernel daemon that accepts syscall requests from the SP
1773 side, actions them and returns the results. It also handles the
1774 "exit" syscall notifying other kernel modules the SP program is
1775 exiting. You probably want to say yes here.
1776
Ralf Baechle4a16ff42008-10-04 00:06:29 +01001777config MIPS_CMP
1778 bool "MIPS CMP framework support"
1779 depends on SYS_SUPPORTS_MIPS_CMP
Tim Andersoneb9b5142009-06-17 16:40:34 -07001780 select SYNC_R4K
Ralf Baechle4a16ff42008-10-04 00:06:29 +01001781 select SYS_SUPPORTS_SMP
1782 select SYS_SUPPORTS_SCHED_SMT if SMP
1783 select WEAK_ORDERING
1784 default n
1785 help
1786 This is a placeholder option for the GCMP work. It will need to
1787 be handled differently...
1788
Linus Torvalds1da177e2005-04-16 15:20:36 -07001789config SB1_PASS_1_WORKAROUNDS
1790 bool
1791 depends on CPU_SB1_PASS_1
1792 default y
1793
1794config SB1_PASS_2_WORKAROUNDS
1795 bool
1796 depends on CPU_SB1 && (CPU_SB1_PASS_2_2 || CPU_SB1_PASS_2)
1797 default y
1798
1799config SB1_PASS_2_1_WORKAROUNDS
1800 bool
1801 depends on CPU_SB1 && CPU_SB1_PASS_2
1802 default y
1803
1804config 64BIT_PHYS_ADDR
Ralf Baechled806cb22007-08-02 00:36:08 +01001805 bool
Linus Torvalds1da177e2005-04-16 15:20:36 -07001806
pascal@pabr.org60ec6572010-01-03 13:39:12 +01001807config ARCH_PHYS_ADDR_T_64BIT
1808 def_bool 64BIT_PHYS_ADDR
1809
Franck Bui-Huu9693a852007-02-02 17:41:47 +01001810config CPU_HAS_SMARTMIPS
1811 depends on SYS_SUPPORTS_SMARTMIPS
1812 bool "Support for the SmartMIPS ASE"
1813 help
1814 SmartMIPS is a extension of the MIPS32 architecture aimed at
1815 increased security at both hardware and software level for
1816 smartcards. Enabling this option will allow proper use of the
1817 SmartMIPS instructions by Linux applications. However a kernel with
1818 this option will not work on a MIPS core without SmartMIPS core. If
1819 you don't know you probably don't have SmartMIPS and should say N
1820 here.
1821
Linus Torvalds1da177e2005-04-16 15:20:36 -07001822config CPU_HAS_WB
Ralf Baechlef7062dd2006-04-24 14:58:53 +01001823 bool
Ralf Baechlee01402b2005-07-14 15:57:16 +00001824
Ralf Baechlef41ae0b2006-06-05 17:24:46 +01001825#
1826# Vectored interrupt mode is an R2 feature
1827#
Ralf Baechlee01402b2005-07-14 15:57:16 +00001828config CPU_MIPSR2_IRQ_VI
Ralf Baechlef41ae0b2006-06-05 17:24:46 +01001829 bool
Ralf Baechlee01402b2005-07-14 15:57:16 +00001830
Ralf Baechlef41ae0b2006-06-05 17:24:46 +01001831#
1832# Extended interrupt mode is an R2 feature
1833#
Ralf Baechlee01402b2005-07-14 15:57:16 +00001834config CPU_MIPSR2_IRQ_EI
Ralf Baechlef41ae0b2006-06-05 17:24:46 +01001835 bool
Ralf Baechlee01402b2005-07-14 15:57:16 +00001836
Linus Torvalds1da177e2005-04-16 15:20:36 -07001837config CPU_HAS_SYNC
1838 bool
1839 depends on !CPU_R3000
1840 default y
1841
Ralf Baechleea580402007-10-11 23:46:09 +01001842config GENERIC_CLOCKEVENTS_BROADCAST
1843 bool
1844
Linus Torvalds1da177e2005-04-16 15:20:36 -07001845#
Maciej W. Rozycki20d60d92007-10-23 12:43:11 +01001846# CPU non-features
1847#
1848config CPU_DADDI_WORKAROUNDS
1849 bool
1850
1851config CPU_R4000_WORKAROUNDS
1852 bool
1853 select CPU_R4400_WORKAROUNDS
1854
1855config CPU_R4400_WORKAROUNDS
1856 bool
1857
1858#
Ralf Baechle797798c2005-08-10 15:17:11 +00001859# Use the generic interrupt handling code in kernel/irq/:
1860#
1861config GENERIC_HARDIRQS
1862 bool
1863 default y
1864
1865config GENERIC_IRQ_PROBE
1866 bool
1867 default y
1868
Ingo Molnar0d7012a2006-06-29 02:24:43 -07001869config IRQ_PER_CPU
Ingo Molnar0d7012a2006-06-29 02:24:43 -07001870 bool
Ingo Molnar0d7012a2006-06-29 02:24:43 -07001871
Ralf Baechle797798c2005-08-10 15:17:11 +00001872#
Linus Torvalds1da177e2005-04-16 15:20:36 -07001873# - Highmem only makes sense for the 32-bit kernel.
1874# - The current highmem code will only work properly on physically indexed
1875# caches such as R3000, SB1, R7000 or those that look like they're virtually
1876# indexed such as R4000/R4400 SC and MC versions or R10000. So for the
1877# moment we protect the user and offer the highmem option only on machines
1878# where it's known to be safe. This will not offer highmem on a few systems
1879# such as MIPS32 and MIPS64 CPUs which may have virtual and physically
1880# indexed CPUs but we're playing safe.
Ralf Baechle797798c2005-08-10 15:17:11 +00001881# - We use SYS_SUPPORTS_HIGHMEM to offer highmem only for systems where we
1882# know they might have memory configurations that could make use of highmem
1883# support.
Linus Torvalds1da177e2005-04-16 15:20:36 -07001884#
1885config HIGHMEM
1886 bool "High Memory Support"
Ralf Baechle797798c2005-08-10 15:17:11 +00001887 depends on 32BIT && CPU_SUPPORTS_HIGHMEM && SYS_SUPPORTS_HIGHMEM
1888
1889config CPU_SUPPORTS_HIGHMEM
1890 bool
1891
1892config SYS_SUPPORTS_HIGHMEM
1893 bool
Linus Torvalds1da177e2005-04-16 15:20:36 -07001894
Franck Bui-Huu9693a852007-02-02 17:41:47 +01001895config SYS_SUPPORTS_SMARTMIPS
1896 bool
1897
Yoichi Yuasab4819b52005-06-25 14:54:31 -07001898config ARCH_FLATMEM_ENABLE
1899 def_bool y
Wu Zhangjinf133f222009-12-01 14:55:42 +08001900 depends on !NUMA && !CPU_LOONGSON2
Yoichi Yuasab4819b52005-06-25 14:54:31 -07001901
Ralf Baechled8cb4e12006-06-11 23:03:08 +01001902config ARCH_DISCONTIGMEM_ENABLE
1903 bool
1904 default y if SGI_IP27
1905 help
David Sterba3dde6ad2007-05-09 07:12:20 +02001906 Say Y to support efficient handling of discontiguous physical memory,
Ralf Baechled8cb4e12006-06-11 23:03:08 +01001907 for architectures which are either NUMA (Non-Uniform Memory Access)
1908 or have huge holes in the physical address space for other reasons.
1909 See <file:Documentation/vm/numa> for more.
1910
Ralf Baechlecce335a2007-11-03 02:05:43 +00001911config ARCH_POPULATES_NODE_MAP
1912 def_bool y
1913
Atsushi Nemotob1c6cd42006-07-03 00:09:47 +09001914config ARCH_SPARSEMEM_ENABLE
1915 bool
Atsushi Nemoto7de58fa2006-07-05 01:22:44 +09001916 select SPARSEMEM_STATIC
Atsushi Nemoto31473742006-07-03 00:09:47 +09001917
Ralf Baechled8cb4e12006-06-11 23:03:08 +01001918config NUMA
1919 bool "NUMA Support"
1920 depends on SYS_SUPPORTS_NUMA
1921 help
1922 Say Y to compile the kernel to support NUMA (Non-Uniform Memory
1923 Access). This option improves performance on systems with more
1924 than two nodes; on two node systems it is generally better to
1925 leave it disabled; on single node systems disable this option
1926 disabled.
1927
1928config SYS_SUPPORTS_NUMA
1929 bool
1930
Yasunori Gotoc80d79d2006-04-10 22:53:53 -07001931config NODES_SHIFT
1932 int
1933 default "6"
1934 depends on NEED_MULTIPLE_NODES
1935
Yoichi Yuasab4819b52005-06-25 14:54:31 -07001936source "mm/Kconfig"
1937
Linus Torvalds1da177e2005-04-16 15:20:36 -07001938config SMP
1939 bool "Multi-Processing support"
Ralf Baechlee73ea272006-06-04 11:51:46 +01001940 depends on SYS_SUPPORTS_SMP
Ralf Baechleb4b30a52006-08-03 17:34:24 +01001941 select IRQ_PER_CPU
Jens Axboe2f304c02008-06-17 10:45:23 +02001942 select USE_GENERIC_SMP_HELPERS
Ralf Baechlee73ea272006-06-04 11:51:46 +01001943 help
Linus Torvalds1da177e2005-04-16 15:20:36 -07001944 This enables support for systems with more than one CPU. If you have
1945 a system with only one CPU, like most personal computers, say N. If
1946 you have a system with more than one CPU, say Y.
1947
1948 If you say N here, the kernel will run on single and multiprocessor
1949 machines, but will use only one CPU of a multiprocessor machine. If
1950 you say Y here, the kernel will run on many, but not all,
1951 singleprocessor machines. On a singleprocessor machine, the kernel
1952 will run faster if you say N here.
1953
1954 People using multiprocessor machines who say Y here should also say
1955 Y to "Enhanced Real Time Clock Support", below.
1956
Adrian Bunk03502fa2008-02-03 15:50:21 +02001957 See also the SMP-HOWTO available at
1958 <http://www.tldp.org/docs.html#howto>.
Linus Torvalds1da177e2005-04-16 15:20:36 -07001959
1960 If you don't know what to do here, say N.
1961
Ralf Baechle87353d82007-11-19 12:23:51 +00001962config SMP_UP
1963 bool
1964
Ralf Baechle4a16ff42008-10-04 00:06:29 +01001965config SYS_SUPPORTS_MIPS_CMP
1966 bool
1967
Ralf Baechlee73ea272006-06-04 11:51:46 +01001968config SYS_SUPPORTS_SMP
1969 bool
1970
Atsushi Nemoto72ede9b2007-03-18 01:01:39 +09001971config NR_CPUS_DEFAULT_1
1972 bool
1973
Ralf Baechle130e2fb2007-02-06 16:53:15 +00001974config NR_CPUS_DEFAULT_2
1975 bool
1976
1977config NR_CPUS_DEFAULT_4
1978 bool
1979
1980config NR_CPUS_DEFAULT_8
1981 bool
1982
1983config NR_CPUS_DEFAULT_16
1984 bool
1985
1986config NR_CPUS_DEFAULT_32
1987 bool
1988
1989config NR_CPUS_DEFAULT_64
1990 bool
1991
Linus Torvalds1da177e2005-04-16 15:20:36 -07001992config NR_CPUS
1993 int "Maximum number of CPUs (2-64)"
Atsushi Nemoto72ede9b2007-03-18 01:01:39 +09001994 range 1 64 if NR_CPUS_DEFAULT_1
Linus Torvalds1da177e2005-04-16 15:20:36 -07001995 depends on SMP
Atsushi Nemoto72ede9b2007-03-18 01:01:39 +09001996 default "1" if NR_CPUS_DEFAULT_1
Ralf Baechle130e2fb2007-02-06 16:53:15 +00001997 default "2" if NR_CPUS_DEFAULT_2
1998 default "4" if NR_CPUS_DEFAULT_4
1999 default "8" if NR_CPUS_DEFAULT_8
2000 default "16" if NR_CPUS_DEFAULT_16
2001 default "32" if NR_CPUS_DEFAULT_32
2002 default "64" if NR_CPUS_DEFAULT_64
Linus Torvalds1da177e2005-04-16 15:20:36 -07002003 help
2004 This allows you to specify the maximum number of CPUs which this
2005 kernel will support. The maximum supported value is 32 for 32-bit
2006 kernel and 64 for 64-bit kernels; the minimum value which makes
Atsushi Nemoto72ede9b2007-03-18 01:01:39 +09002007 sense is 1 for Qemu (useful only for kernel debugging purposes)
2008 and 2 for all others.
Linus Torvalds1da177e2005-04-16 15:20:36 -07002009
2010 This is purely to save memory - each supported CPU adds
Atsushi Nemoto72ede9b2007-03-18 01:01:39 +09002011 approximately eight kilobytes to the kernel image. For best
2012 performance should round up your number of processors to the next
2013 power of two.
Linus Torvalds1da177e2005-04-16 15:20:36 -07002014
Atsushi Nemotoc4eee282007-11-12 01:05:16 +09002015source "kernel/time/Kconfig"
2016
Atsushi Nemoto1723b4a2006-06-20 00:19:13 +09002017#
2018# Timer Interrupt Frequency Configuration
2019#
2020
2021choice
2022 prompt "Timer frequency"
2023 default HZ_250
2024 help
2025 Allows the configuration of the timer frequency.
2026
2027 config HZ_48
Ralf Baechle0f873582008-02-25 16:55:29 +00002028 bool "48 HZ" if SYS_SUPPORTS_48HZ || SYS_SUPPORTS_ARBIT_HZ
Atsushi Nemoto1723b4a2006-06-20 00:19:13 +09002029
2030 config HZ_100
2031 bool "100 HZ" if SYS_SUPPORTS_100HZ || SYS_SUPPORTS_ARBIT_HZ
2032
2033 config HZ_128
2034 bool "128 HZ" if SYS_SUPPORTS_128HZ || SYS_SUPPORTS_ARBIT_HZ
2035
2036 config HZ_250
2037 bool "250 HZ" if SYS_SUPPORTS_250HZ || SYS_SUPPORTS_ARBIT_HZ
2038
2039 config HZ_256
2040 bool "256 HZ" if SYS_SUPPORTS_256HZ || SYS_SUPPORTS_ARBIT_HZ
2041
2042 config HZ_1000
2043 bool "1000 HZ" if SYS_SUPPORTS_1000HZ || SYS_SUPPORTS_ARBIT_HZ
2044
2045 config HZ_1024
2046 bool "1024 HZ" if SYS_SUPPORTS_1024HZ || SYS_SUPPORTS_ARBIT_HZ
2047
2048endchoice
2049
2050config SYS_SUPPORTS_48HZ
2051 bool
2052
2053config SYS_SUPPORTS_100HZ
2054 bool
2055
2056config SYS_SUPPORTS_128HZ
2057 bool
2058
2059config SYS_SUPPORTS_250HZ
2060 bool
2061
2062config SYS_SUPPORTS_256HZ
2063 bool
2064
2065config SYS_SUPPORTS_1000HZ
2066 bool
2067
2068config SYS_SUPPORTS_1024HZ
2069 bool
2070
2071config SYS_SUPPORTS_ARBIT_HZ
2072 bool
2073 default y if !SYS_SUPPORTS_48HZ && !SYS_SUPPORTS_100HZ && \
2074 !SYS_SUPPORTS_128HZ && !SYS_SUPPORTS_250HZ && \
2075 !SYS_SUPPORTS_256HZ && !SYS_SUPPORTS_1000HZ && \
2076 !SYS_SUPPORTS_1024HZ
2077
2078config HZ
2079 int
2080 default 48 if HZ_48
2081 default 100 if HZ_100
2082 default 128 if HZ_128
2083 default 250 if HZ_250
2084 default 256 if HZ_256
2085 default 1000 if HZ_1000
2086 default 1024 if HZ_1024
2087
Ralf Baechlee80de852005-07-11 20:45:51 +00002088source "kernel/Kconfig.preempt"
Linus Torvalds1da177e2005-04-16 15:20:36 -07002089
Linus Torvalds1da177e2005-04-16 15:20:36 -07002090config MIPS_INSANE_LARGE
2091 bool "Support for large 64-bit configurations"
Ralf Baechle875d43e2005-09-03 15:56:16 -07002092 depends on CPU_R10000 && 64BIT
Linus Torvalds1da177e2005-04-16 15:20:36 -07002093 help
2094 MIPS R10000 does support a 44 bit / 16TB address space as opposed to
2095 previous 64-bit processors which only supported 40 bit / 1TB. If you
2096 need processes of more than 1TB virtual address space, say Y here.
2097 This will result in additional memory usage, so it is not
2098 recommended for normal users.
2099
Atsushi Nemotoea6e9422007-01-16 23:29:11 +09002100config KEXEC
2101 bool "Kexec system call (EXPERIMENTAL)"
2102 depends on EXPERIMENTAL
2103 help
2104 kexec is a system call that implements the ability to shutdown your
2105 current kernel, and to start another kernel. It is like a reboot
David Sterba3dde6ad2007-05-09 07:12:20 +02002106 but it is independent of the system firmware. And like a reboot
Atsushi Nemotoea6e9422007-01-16 23:29:11 +09002107 you can start any kernel with it, not just Linux.
2108
Matt LaPlante01dd2fb2007-10-20 01:34:40 +02002109 The name comes from the similarity to the exec system call.
Atsushi Nemotoea6e9422007-01-16 23:29:11 +09002110
2111 It is an ongoing process to be certain the hardware in a machine
2112 is properly shutdown, so do not be surprised if this code does not
2113 initially work for you. It may help to enable device hotplugging
2114 support. As of this writing the exact hardware interface is
2115 strongly in flux, so no good recommendation can be made.
2116
2117config SECCOMP
2118 bool "Enable seccomp to safely compute untrusted bytecode"
Ralf Baechle293c5bd2007-07-25 16:19:33 +01002119 depends on PROC_FS
Atsushi Nemotoea6e9422007-01-16 23:29:11 +09002120 default y
2121 help
2122 This kernel feature is useful for number crunching applications
2123 that may need to compute untrusted bytecode during their
2124 execution. By using pipes or other transports made available to
2125 the process as file descriptors supporting the read/write
2126 syscalls, it's possible to isolate those applications in
2127 their own address space using seccomp. Once seccomp is
2128 enabled via /proc/<pid>/seccomp, it cannot be disabled
2129 and the task is only allowed to execute a few safe syscalls
2130 defined by each seccomp mode.
2131
2132 If unsure, say Y. Only embedded should say N here.
2133
Dezhong Diaof2ffa5a2010-10-13 00:52:46 -06002134config USE_OF
2135 bool "Flattened Device Tree support"
2136 select OF
2137 select OF_FLATTREE
2138 help
2139 Include support for flattened device tree machine descriptions.
2140
Ralf Baechle5e83d432005-10-29 19:32:41 +01002141endmenu
2142
Atsushi Nemoto1df0f0f2006-09-26 23:44:01 +09002143config LOCKDEP_SUPPORT
2144 bool
2145 default y
2146
2147config STACKTRACE_SUPPORT
2148 bool
2149 default y
2150
Ralf Baechleb6c35392005-11-25 11:35:40 +00002151source "init/Kconfig"
2152
Matt Helsleydc52ddc2008-10-18 20:27:21 -07002153source "kernel/Kconfig.freezer"
2154
Linus Torvalds1da177e2005-04-16 15:20:36 -07002155menu "Bus options (PCI, PCMCIA, EISA, ISA, TC)"
2156
Ralf Baechle5e83d432005-10-29 19:32:41 +01002157config HW_HAS_EISA
2158 bool
Linus Torvalds1da177e2005-04-16 15:20:36 -07002159config HW_HAS_PCI
2160 bool
2161
2162config PCI
2163 bool "Support for PCI controller"
2164 depends on HW_HAS_PCI
Ralf Baechleabb4ae42007-10-11 23:46:03 +01002165 select PCI_DOMAINS
Linus Torvalds1da177e2005-04-16 15:20:36 -07002166 help
2167 Find out whether you have a PCI motherboard. PCI is the name of a
2168 bus system, i.e. the way the CPU talks to the other stuff inside
2169 your box. Other bus systems are ISA, EISA, or VESA. If you have PCI,
2170 say Y, otherwise N.
2171
Linus Torvalds1da177e2005-04-16 15:20:36 -07002172config PCI_DOMAINS
2173 bool
Linus Torvalds1da177e2005-04-16 15:20:36 -07002174
2175source "drivers/pci/Kconfig"
2176
2177#
2178# ISA support is now enabled via select. Too many systems still have the one
2179# or other ISA chip on the board that users don't know about so don't expect
2180# users to choose the right thing ...
2181#
2182config ISA
2183 bool
2184
2185config EISA
2186 bool "EISA support"
Ralf Baechle5e83d432005-10-29 19:32:41 +01002187 depends on HW_HAS_EISA
Linus Torvalds1da177e2005-04-16 15:20:36 -07002188 select ISA
Ralf Baechleaa414df2006-11-30 01:14:51 +00002189 select GENERIC_ISA_DMA
Linus Torvalds1da177e2005-04-16 15:20:36 -07002190 ---help---
2191 The Extended Industry Standard Architecture (EISA) bus was
2192 developed as an open alternative to the IBM MicroChannel bus.
2193
2194 The EISA bus provided some of the features of the IBM MicroChannel
2195 bus while maintaining backward compatibility with cards made for
2196 the older ISA bus. The EISA bus saw limited use between 1988 and
2197 1995 when it was made obsolete by the PCI bus.
2198
2199 Say Y here if you are building a kernel for an EISA-based machine.
2200
2201 Otherwise, say N.
2202
2203source "drivers/eisa/Kconfig"
2204
2205config TC
2206 bool "TURBOchannel support"
2207 depends on MACH_DECSTATION
2208 help
Justin P. Mattock50a23e62010-10-16 10:36:23 -07002209 TURBOchannel is a DEC (now Compaq (now HP)) bus for Alpha and MIPS
2210 processors. TURBOchannel programming specifications are available
2211 at:
2212 <ftp://ftp.hp.com/pub/alphaserver/archive/triadd/>
2213 and:
2214 <http://www.computer-refuge.org/classiccmp/ftp.digital.com/pub/DEC/TriAdd/>
2215 Linux driver support status is documented at:
2216 <http://www.linux-mips.org/wiki/DECstation>
Linus Torvalds1da177e2005-04-16 15:20:36 -07002217
2218#config ACCESSBUS
2219# bool "Access.Bus support"
2220# depends on TC
2221
2222config MMU
2223 bool
2224 default y
2225
Ralf Baechled865bea2007-10-11 23:46:10 +01002226config I8253
2227 bool
Wu Zhangjin9726b432009-11-17 01:32:58 +08002228 select MIPS_EXTERNAL_TIMER
Ralf Baechled865bea2007-10-11 23:46:10 +01002229
Ralf Baechlecce335a2007-11-03 02:05:43 +00002230config ZONE_DMA32
2231 bool
2232
Linus Torvalds1da177e2005-04-16 15:20:36 -07002233source "drivers/pcmcia/Kconfig"
2234
2235source "drivers/pci/hotplug/Kconfig"
2236
2237endmenu
2238
2239menu "Executable file formats"
2240
2241source "fs/Kconfig.binfmt"
2242
2243config TRAD_SIGNALS
2244 bool
Linus Torvalds1da177e2005-04-16 15:20:36 -07002245
Linus Torvalds1da177e2005-04-16 15:20:36 -07002246config MIPS32_COMPAT
2247 bool "Kernel support for Linux/MIPS 32-bit binary compatibility"
Ralf Baechle875d43e2005-09-03 15:56:16 -07002248 depends on 64BIT
Linus Torvalds1da177e2005-04-16 15:20:36 -07002249 help
2250 Select this option if you want Linux/MIPS 32-bit binary
2251 compatibility. Since all software available for Linux/MIPS is
2252 currently 32-bit you should say Y here.
2253
2254config COMPAT
2255 bool
2256 depends on MIPS32_COMPAT
2257 default y
2258
Atsushi Nemoto05e43962006-11-07 18:02:44 +09002259config SYSVIPC_COMPAT
2260 bool
2261 depends on COMPAT && SYSVIPC
2262 default y
2263
Linus Torvalds1da177e2005-04-16 15:20:36 -07002264config MIPS32_O32
2265 bool "Kernel support for o32 binaries"
2266 depends on MIPS32_COMPAT
2267 help
2268 Select this option if you want to run o32 binaries. These are pure
2269 32-bit binaries as used by the 32-bit Linux/MIPS port. Most of
2270 existing binaries are in this format.
2271
2272 If unsure, say Y.
2273
2274config MIPS32_N32
2275 bool "Kernel support for n32 binaries"
2276 depends on MIPS32_COMPAT
2277 help
2278 Select this option if you want to run n32 binaries. These are
2279 64-bit binaries using 32-bit quantities for addressing and certain
2280 data that would normally be 64-bit. They are used in special
2281 cases.
2282
2283 If unsure, say N.
2284
2285config BINFMT_ELF32
2286 bool
2287 default y if MIPS32_O32 || MIPS32_N32
2288
Ralf Baechle21162452007-02-09 17:08:58 +00002289endmenu
Linus Torvalds1da177e2005-04-16 15:20:36 -07002290
Ralf Baechle21162452007-02-09 17:08:58 +00002291menu "Power management options"
Rodolfo Giometti952fa952006-06-05 17:43:10 +02002292
Wu Zhangjin363c55c2009-06-04 20:27:10 +08002293config ARCH_HIBERNATION_POSSIBLE
2294 def_bool y
Ralf Baechle3f5b3e12009-07-02 11:48:07 +01002295 depends on SYS_SUPPORTS_HOTPLUG_CPU || !SMP
Wu Zhangjin363c55c2009-06-04 20:27:10 +08002296
Johannes Bergf4cb5702007-12-08 02:14:00 +01002297config ARCH_SUSPEND_POSSIBLE
2298 def_bool y
Ralf Baechle3f5b3e12009-07-02 11:48:07 +01002299 depends on SYS_SUPPORTS_HOTPLUG_CPU || !SMP
Johannes Bergf4cb5702007-12-08 02:14:00 +01002300
Ralf Baechle21162452007-02-09 17:08:58 +00002301source "kernel/power/Kconfig"
Rodolfo Giometti952fa952006-06-05 17:43:10 +02002302
Linus Torvalds1da177e2005-04-16 15:20:36 -07002303endmenu
2304
Wu Zhangjin9726b432009-11-17 01:32:58 +08002305source "arch/mips/kernel/cpufreq/Kconfig"
2306
Sam Ravnborgd5950b42005-07-11 21:03:49 -07002307source "net/Kconfig"
2308
Linus Torvalds1da177e2005-04-16 15:20:36 -07002309source "drivers/Kconfig"
2310
2311source "fs/Kconfig"
2312
2313source "arch/mips/Kconfig.debug"
2314
2315source "security/Kconfig"
2316
2317source "crypto/Kconfig"
2318
2319source "lib/Kconfig"