blob: 9a05292cfae7e595dbfc7993224ff1f6acdc1177 [file] [log] [blame]
Linus Torvalds1da177e2005-04-16 15:20:36 -07001config MIPS
2 bool
3 default y
Mark Saltera862a422013-10-07 22:13:33 -04004 select ARCH_MIGHT_HAVE_PC_PARPORT
Ralf Baechlec3fc5cd2013-05-29 01:07:19 +02005 select HAVE_CONTEXT_TRACKING
Yoichi Yuasaf8ac04252009-06-04 00:16:04 +09006 select HAVE_GENERIC_DMA_COHERENT
Sam Ravnborgec7748b2008-02-09 10:46:40 +01007 select HAVE_IDE
Mathieu Desnoyers42d4b832008-02-02 15:10:34 -05008 select HAVE_OPROFILE
Deng-Cheng Zhu7f788d22010-10-12 19:37:21 +08009 select HAVE_PERF_EVENTS
10 select PERF_USE_VMALLOC
Jason Wessel88547002008-07-29 15:58:53 -050011 select HAVE_ARCH_KGDB
Ralf Baechlec0ff3c52012-08-17 08:22:04 +020012 select HAVE_ARCH_TRACEHOOK
Mark Brown7563bbf2012-04-15 10:52:54 +010013 select ARCH_HAVE_CUSTOM_GPIO_H
Wu Zhangjind2bb07622009-11-20 20:34:29 +080014 select HAVE_FUNCTION_TRACER
Wu Zhangjin69a7d1b2009-11-20 20:34:30 +080015 select HAVE_FUNCTION_TRACE_MCOUNT_TEST
Wu Zhangjin538f1952009-11-20 20:34:32 +080016 select HAVE_DYNAMIC_FTRACE
17 select HAVE_FTRACE_MCOUNT_RECORD
Wu Zhangjin64575f92010-10-27 18:59:09 +080018 select HAVE_C_RECORDMCOUNT
Wu Zhangjin29c5d342009-11-20 20:34:34 +080019 select HAVE_FUNCTION_GRAPH_TRACER
David Daneyc1bf2072010-08-03 11:22:20 -070020 select HAVE_KPROBES
21 select HAVE_KRETPROBES
Catalin Marinasb69ec422012-10-08 16:28:11 -070022 select HAVE_DEBUG_KMEMLEAK
Ralf Baechle1d7bf992013-09-06 20:24:48 +020023 select HAVE_SYSCALL_TRACEPOINTS
David Daneye26d1962012-01-10 15:10:22 -080024 select ARCH_BINFMT_ELF_RANDOMIZE_PIE
Ben Hutchings383c97b2013-03-04 04:17:21 +000025 select HAVE_ARCH_TRANSPARENT_HUGEPAGE if CPU_SUPPORTS_HUGEPAGES && 64BIT
Wu Zhangjin21a41fa2009-11-10 00:06:11 +080026 select RTC_LIB if !MACH_LOONGSON
Deng-Cheng Zhu2b789202010-06-09 12:35:25 +080027 select GENERIC_ATOMIC64 if !64BIT
Catalin Marinas74634492012-07-30 14:41:09 -070028 select ARCH_HAS_ATOMIC64_DEC_IF_POSITIVE
David Daney48e1fd52010-10-01 13:27:32 -070029 select HAVE_DMA_ATTRS
30 select HAVE_DMA_API_DEBUG
David Daney3bd27e32010-11-05 15:12:48 -070031 select GENERIC_IRQ_PROBE
Thomas Gleixnerf8396c12011-03-23 21:09:05 +000032 select GENERIC_IRQ_SHOW
Markos Chandras78857612013-06-17 08:09:00 +000033 select GENERIC_PCI_IOMAP
David Daney94bb0c12010-12-28 13:26:23 -080034 select HAVE_ARCH_JUMP_LABEL
Will Deaconc1d7e012012-07-30 14:42:46 -070035 select ARCH_WANT_IPC_PARSE_VERSION
Thomas Gleixner0f462e32011-07-23 12:41:25 +000036 select IRQ_FORCED_THREADING
Tejun Heo9d15ffc2011-12-08 10:22:09 -080037 select HAVE_MEMBLOCK
38 select HAVE_MEMBLOCK_NODE_MAP
39 select ARCH_DISCARD_MEMBLOCK
Thomas Gleixner360014a2012-04-20 13:05:51 +000040 select GENERIC_SMP_IDLE_THREAD
David Daney4b054492012-04-19 14:59:58 -070041 select BUILDTIME_EXTABLE_SORT
Anna-Maria Gleixnercde17942012-05-18 16:45:50 +000042 select GENERIC_CLOCKEVENTS
43 select GENERIC_CMOS_UPDATE
David Howells786d35d2012-09-28 14:31:03 +093044 select HAVE_MOD_ARCH_SPECIFIC
Stephen Rothwell4febd952013-03-07 15:48:16 +110045 select VIRT_TO_BUS
Joshua Kinard2f12fb22012-12-27 18:46:46 +000046 select MODULES_USE_ELF_REL if MODULES
47 select MODULES_USE_ELF_RELA if MODULES && 64BIT
Al Viro50150d22012-12-27 12:11:46 -050048 select CLONE_BACKWARDS
Dave Hansend1a1dc02013-07-01 13:04:42 -070049 select HAVE_DEBUG_STACKOVERFLOW
Linus Torvalds1da177e2005-04-16 15:20:36 -070050
Linus Torvalds1da177e2005-04-16 15:20:36 -070051menu "Machine selection"
52
Ralf Baechle5e83d432005-10-29 19:32:41 +010053choice
54 prompt "System type"
55 default SGI_IP22
Linus Torvalds1da177e2005-04-16 15:20:36 -070056
Manuel Lauss42a4f172010-07-15 21:45:04 +020057config MIPS_ALCHEMY
Yoichi Yuasac3543e22007-05-11 20:44:30 +090058 bool "Alchemy processor based machines"
Manuel Lauss42a4f172010-07-15 21:45:04 +020059 select 64BIT_PHYS_ADDR
Ralf Baechlef772cdb2012-11-30 17:27:27 +010060 select CEVT_R4K
Steven J. Hilld7ea3352012-11-14 23:34:17 -060061 select CSRC_R4K
Manuel Lauss42a4f172010-07-15 21:45:04 +020062 select IRQ_CPU
63 select SYS_HAS_CPU_MIPS32_R1
64 select SYS_SUPPORTS_32BIT_KERNEL
65 select SYS_SUPPORTS_APM_EMULATION
Alexandre Courbotefb12432013-03-11 19:17:52 +090066 select ARCH_REQUIRE_GPIOLIB
Wu Zhangjin1b93b3c2009-10-14 18:12:16 +080067 select SYS_SUPPORTS_ZBOOT
Manuel Lauss3766386032011-08-12 11:39:45 +020068 select USB_ARCH_HAS_OHCI
69 select USB_ARCH_HAS_EHCI
Linus Torvalds1da177e2005-04-16 15:20:36 -070070
Florian Fainelli7ca5dc12009-06-24 11:12:57 +020071config AR7
72 bool "Texas Instruments AR7"
73 select BOOT_ELF32
74 select DMA_NONCOHERENT
75 select CEVT_R4K
76 select CSRC_R4K
77 select IRQ_CPU
78 select NO_EXCEPT_FILL
79 select SWAP_IO_SPACE
80 select SYS_HAS_CPU_MIPS32_R1
81 select SYS_HAS_EARLY_PRINTK
82 select SYS_SUPPORTS_32BIT_KERNEL
83 select SYS_SUPPORTS_LITTLE_ENDIAN
Wu Zhangjin1b93b3c2009-10-14 18:12:16 +080084 select SYS_SUPPORTS_ZBOOT_UART16550
Florian Fainelli5f3c9092010-01-03 21:16:51 +010085 select ARCH_REQUIRE_GPIOLIB
Florian Fainelli7ca5dc12009-06-24 11:12:57 +020086 select VLYNQ
Yoichi Yuasa8551fb62012-08-01 15:38:00 +090087 select HAVE_CLK
Florian Fainelli7ca5dc12009-06-24 11:12:57 +020088 help
89 Support for the Texas Instruments AR7 System-on-a-Chip
90 family: TNETD7100, 7200 and 7300.
91
Gabor Juhosd4a67d92011-01-04 21:28:14 +010092config ATH79
93 bool "Atheros AR71XX/AR724X/AR913X based boards"
Gabor Juhos6eae43c2011-01-04 21:28:15 +010094 select ARCH_REQUIRE_GPIOLIB
Gabor Juhosd4a67d92011-01-04 21:28:14 +010095 select BOOT_RAW
96 select CEVT_R4K
97 select CSRC_R4K
98 select DMA_NONCOHERENT
Gabor Juhos94638062012-08-04 18:01:26 +020099 select HAVE_CLK
Gabor Juhos2c4f1ac2013-08-28 10:41:47 +0200100 select CLKDEV_LOOKUP
Gabor Juhosd4a67d92011-01-04 21:28:14 +0100101 select IRQ_CPU
Gabor Juhos0aabf1a2011-01-04 21:28:16 +0100102 select MIPS_MACHINE
Gabor Juhosd4a67d92011-01-04 21:28:14 +0100103 select SYS_HAS_CPU_MIPS32_R2
104 select SYS_HAS_EARLY_PRINTK
105 select SYS_SUPPORTS_32BIT_KERNEL
106 select SYS_SUPPORTS_BIG_ENDIAN
107 help
108 Support for the Atheros AR71XX/AR724X/AR913X SoCs.
109
Aurelien Jarno1c0c13e2007-09-25 15:40:12 +0200110config BCM47XX
Florian Fainellic6193662010-03-25 11:42:41 +0100111 bool "Broadcom BCM47XX based boards"
Hauke Mehrtens2da4c742012-11-20 22:24:34 +0000112 select ARCH_WANT_OPTIONAL_GPIOLIB
Hauke Mehrtensfe08f8c2012-12-26 20:06:17 +0000113 select BOOT_RAW
Ralf Baechle42f77542007-10-18 17:48:11 +0100114 select CEVT_R4K
Ralf Baechle940f6b42007-11-24 22:33:28 +0000115 select CSRC_R4K
Aurelien Jarno1c0c13e2007-09-25 15:40:12 +0200116 select DMA_NONCOHERENT
117 select HW_HAS_PCI
118 select IRQ_CPU
Markos Chandras314878d2013-07-23 15:40:37 +0100119 select SYS_HAS_CPU_MIPS32_R1
Hauke Mehrtensdd54ded2012-12-26 20:06:18 +0000120 select NO_EXCEPT_FILL
Aurelien Jarno1c0c13e2007-09-25 15:40:12 +0200121 select SYS_SUPPORTS_32BIT_KERNEL
122 select SYS_SUPPORTS_LITTLE_ENDIAN
Hauke Mehrtense1ccbb62013-09-25 00:36:56 +0200123 select SYS_HAS_EARLY_PRINTK
124 select EARLY_PRINTK_8250 if EARLY_PRINTK
Aurelien Jarno1c0c13e2007-09-25 15:40:12 +0200125 help
126 Support for BCM47XX based boards
127
Maxime Bizone7300d02009-08-18 13:23:37 +0100128config BCM63XX
129 bool "Broadcom BCM63XX based boards"
Florian Fainelliae8de612013-06-18 16:55:39 +0000130 select BOOT_RAW
Maxime Bizone7300d02009-08-18 13:23:37 +0100131 select CEVT_R4K
132 select CSRC_R4K
133 select DMA_NONCOHERENT
134 select IRQ_CPU
Maxime Bizone7300d02009-08-18 13:23:37 +0100135 select SYS_SUPPORTS_32BIT_KERNEL
136 select SYS_SUPPORTS_BIG_ENDIAN
137 select SYS_HAS_EARLY_PRINTK
138 select SWAP_IO_SPACE
139 select ARCH_REQUIRE_GPIOLIB
Yoichi Yuasa3e82eee2012-08-01 15:39:52 +0900140 select HAVE_CLK
Florian Fainelliaf2418b2014-01-14 09:54:40 -0800141 select MIPS_L1_CACHE_SHIFT_4
Maxime Bizone7300d02009-08-18 13:23:37 +0100142 help
143 Support for BCM63XX based boards
144
Linus Torvalds1da177e2005-04-16 15:20:36 -0700145config MIPS_COBALT
Martin Michlmayr3fa986f2006-05-09 23:34:53 +0200146 bool "Cobalt Server"
Ralf Baechle42f77542007-10-18 17:48:11 +0100147 select CEVT_R4K
Ralf Baechle940f6b42007-11-24 22:33:28 +0000148 select CSRC_R4K
Yoichi Yuasa1097c6a2007-10-22 19:43:15 +0900149 select CEVT_GT641XX
Linus Torvalds1da177e2005-04-16 15:20:36 -0700150 select DMA_NONCOHERENT
Yoichi Yuasa8a8594a2010-02-08 21:01:22 +0900151 select EARLY_PRINTK_8250 if EARLY_PRINTK
Linus Torvalds1da177e2005-04-16 15:20:36 -0700152 select HW_HAS_PCI
Ralf Baechled865bea2007-10-11 23:46:10 +0100153 select I8253
Linus Torvalds1da177e2005-04-16 15:20:36 -0700154 select I8259
155 select IRQ_CPU
Yoichi Yuasad5ab1a62007-09-13 23:51:26 +0900156 select IRQ_GT641XX
Yoichi Yuasa252161e2007-03-14 21:51:26 +0900157 select PCI_GT64XXX_PCI0
Yoichi Yuasae25bfc92009-06-02 23:17:07 +0900158 select PCI
Ralf Baechle7cf80532005-10-20 22:33:09 +0100159 select SYS_HAS_CPU_NEVADA
Yoichi Yuasa0a22e0d2007-03-02 12:42:33 +0900160 select SYS_HAS_EARLY_PRINTK
Yoichi Yuasaed5ba2f2005-09-03 15:56:21 -0700161 select SYS_SUPPORTS_32BIT_KERNEL
Florian Fainelli0e8774b2008-01-15 19:42:57 +0100162 select SYS_SUPPORTS_64BIT_KERNEL
Ralf Baechle5e83d432005-10-29 19:32:41 +0100163 select SYS_SUPPORTS_LITTLE_ENDIAN
Linus Torvalds1da177e2005-04-16 15:20:36 -0700164
165config MACH_DECSTATION
Martin Michlmayr3fa986f2006-05-09 23:34:53 +0200166 bool "DECstations"
Linus Torvalds1da177e2005-04-16 15:20:36 -0700167 select BOOT_ELF32
Yoichi Yuasa6457d9f2008-04-25 12:11:44 +0900168 select CEVT_DS1287
Ralf Baechle42f77542007-10-18 17:48:11 +0100169 select CEVT_R4K
Yoichi Yuasa42474172008-04-24 09:48:40 +0900170 select CSRC_IOASIC
Ralf Baechle940f6b42007-11-24 22:33:28 +0000171 select CSRC_R4K
Maciej W. Rozycki20d60d92007-10-23 12:43:11 +0100172 select CPU_DADDI_WORKAROUNDS if 64BIT
173 select CPU_R4000_WORKAROUNDS if 64BIT
174 select CPU_R4400_WORKAROUNDS if 64BIT
Linus Torvalds1da177e2005-04-16 15:20:36 -0700175 select DMA_NONCOHERENT
Maciej W. Rozyckid388d682007-05-29 15:08:07 +0100176 select NO_IOPORT
Linus Torvalds1da177e2005-04-16 15:20:36 -0700177 select IRQ_CPU
Ralf Baechle7cf80532005-10-20 22:33:09 +0100178 select SYS_HAS_CPU_R3000
179 select SYS_HAS_CPU_R4X00
Yoichi Yuasaed5ba2f2005-09-03 15:56:21 -0700180 select SYS_SUPPORTS_32BIT_KERNEL
Kees Cook7d607172013-01-16 18:53:19 -0800181 select SYS_SUPPORTS_64BIT_KERNEL
Ralf Baechle5e83d432005-10-29 19:32:41 +0100182 select SYS_SUPPORTS_LITTLE_ENDIAN
Atsushi Nemoto1723b4a2006-06-20 00:19:13 +0900183 select SYS_SUPPORTS_128HZ
184 select SYS_SUPPORTS_256HZ
185 select SYS_SUPPORTS_1024HZ
Florian Fainelli930beb52014-01-14 09:54:38 -0800186 select MIPS_L1_CACHE_SHIFT_4
Ralf Baechle5e83d432005-10-29 19:32:41 +0100187 help
Linus Torvalds1da177e2005-04-16 15:20:36 -0700188 This enables support for DEC's MIPS based workstations. For details
189 see the Linux/MIPS FAQ on <http://www.linux-mips.org/> and the
190 DECstation porting pages on <http://decstation.unix-ag.org/>.
191
192 If you have one of the following DECstation Models you definitely
193 want to choose R4xx0 for the CPU Type:
194
Ralf Baechle93088162007-08-29 14:21:45 +0100195 DECstation 5000/50
196 DECstation 5000/150
197 DECstation 5000/260
198 DECsystem 5900/260
Linus Torvalds1da177e2005-04-16 15:20:36 -0700199
200 otherwise choose R3000.
201
Ralf Baechle5e83d432005-10-29 19:32:41 +0100202config MACH_JAZZ
Martin Michlmayr3fa986f2006-05-09 23:34:53 +0200203 bool "Jazz family of machines"
Ralf Baechle0e2794b2012-11-15 20:48:50 +0100204 select FW_ARC
205 select FW_ARC32
Ralf Baechle5e83d432005-10-29 19:32:41 +0100206 select ARCH_MAY_HAVE_PC_FDC
Ralf Baechle42f77542007-10-18 17:48:11 +0100207 select CEVT_R4K
Ralf Baechle940f6b42007-11-24 22:33:28 +0000208 select CSRC_R4K
Thomas Bogendoerfere2defae2007-12-02 13:00:32 +0100209 select DEFAULT_SGI_PARTITION if CPU_BIG_ENDIAN
Ralf Baechle5e83d432005-10-29 19:32:41 +0100210 select GENERIC_ISA_DMA
Ralf Baechle8a118c32011-06-01 19:05:10 +0100211 select HAVE_PCSPKR_PLATFORM
Thomas Bogendoerferea202c62007-08-25 11:01:50 +0200212 select IRQ_CPU
Ralf Baechled865bea2007-10-11 23:46:10 +0100213 select I8253
Ralf Baechle5e83d432005-10-29 19:32:41 +0100214 select I8259
215 select ISA
Ralf Baechle7cf80532005-10-20 22:33:09 +0100216 select SYS_HAS_CPU_R4X00
Ralf Baechle5e83d432005-10-29 19:32:41 +0100217 select SYS_SUPPORTS_32BIT_KERNEL
Kees Cook7d607172013-01-16 18:53:19 -0800218 select SYS_SUPPORTS_64BIT_KERNEL
Atsushi Nemoto1723b4a2006-06-20 00:19:13 +0900219 select SYS_SUPPORTS_100HZ
Linus Torvalds1da177e2005-04-16 15:20:36 -0700220 help
Ralf Baechle5e83d432005-10-29 19:32:41 +0100221 This a family of machines based on the MIPS R4030 chipset which was
222 used by several vendors to build RISC/os and Windows NT workstations.
Matt LaPlante692105b2009-01-26 11:12:25 +0100223 Members include the Acer PICA, MIPS Magnum 4000, MIPS Millennium and
Ralf Baechle5e83d432005-10-29 19:32:41 +0100224 Olivetti M700-10 workstations.
225
Lars-Peter Clausen5ebabe52010-06-19 04:08:19 +0000226config MACH_JZ4740
227 bool "Ingenic JZ4740 based machines"
228 select SYS_HAS_CPU_MIPS32_R1
229 select SYS_SUPPORTS_32BIT_KERNEL
230 select SYS_SUPPORTS_LITTLE_ENDIAN
Lluís Batlle i Rossellf9c9aff2012-03-30 16:48:05 +0200231 select SYS_SUPPORTS_ZBOOT_UART16550
Lars-Peter Clausen5ebabe52010-06-19 04:08:19 +0000232 select DMA_NONCOHERENT
233 select IRQ_CPU
Lars-Peter Clausen5ebabe52010-06-19 04:08:19 +0000234 select ARCH_REQUIRE_GPIOLIB
235 select SYS_HAS_EARLY_PRINTK
236 select HAVE_PWM
Maurus Cuelenaereab5330e2011-03-01 00:20:01 +0100237 select HAVE_CLK
Lars-Peter Clausen83bc7692011-09-24 02:29:46 +0200238 select GENERIC_IRQ_CHIP
Lars-Peter Clausen5ebabe52010-06-19 04:08:19 +0000239
John Crispin171bb2f2011-03-30 09:27:47 +0200240config LANTIQ
241 bool "Lantiq based platforms"
242 select DMA_NONCOHERENT
243 select IRQ_CPU
244 select CEVT_R4K
245 select CSRC_R4K
246 select SYS_HAS_CPU_MIPS32_R1
247 select SYS_HAS_CPU_MIPS32_R2
248 select SYS_SUPPORTS_BIG_ENDIAN
249 select SYS_SUPPORTS_32BIT_KERNEL
250 select SYS_SUPPORTS_MULTITHREADING
251 select SYS_HAS_EARLY_PRINTK
252 select ARCH_REQUIRE_GPIOLIB
253 select SWAP_IO_SPACE
254 select BOOT_RAW
John Crispin287e3f32012-04-17 15:53:19 +0200255 select HAVE_MACH_CLKDEV
256 select CLKDEV_LOOKUP
John Crispina0392222012-04-13 20:56:13 +0200257 select USE_OF
John Crispin3f8c50c2012-08-28 12:44:59 +0200258 select PINCTRL
259 select PINCTRL_LANTIQ
John Crispin171bb2f2011-03-30 09:27:47 +0200260
Brian Murphy1f21d2b2007-08-21 22:34:16 +0200261config LASAT
262 bool "LASAT Networks platforms"
Ralf Baechle42f77542007-10-18 17:48:11 +0100263 select CEVT_R4K
Ralf Baechle940f6b42007-11-24 22:33:28 +0000264 select CSRC_R4K
Brian Murphy1f21d2b2007-08-21 22:34:16 +0200265 select DMA_NONCOHERENT
266 select SYS_HAS_EARLY_PRINTK
267 select HW_HAS_PCI
Ralf Baechlea5ccfe52007-10-14 23:49:33 +0100268 select IRQ_CPU
Brian Murphy1f21d2b2007-08-21 22:34:16 +0200269 select PCI_GT64XXX_PCI0
270 select MIPS_NILE4
271 select R5000_CPU_SCACHE
272 select SYS_HAS_CPU_R5000
273 select SYS_SUPPORTS_32BIT_KERNEL
274 select SYS_SUPPORTS_64BIT_KERNEL if BROKEN
275 select SYS_SUPPORTS_LITTLE_ENDIAN
Brian Murphy1f21d2b2007-08-21 22:34:16 +0200276
Wu Zhangjin85749d22009-07-02 23:26:45 +0800277config MACH_LOONGSON
278 bool "Loongson family of machines"
Wu Zhangjinc7e8c662010-01-04 17:16:46 +0800279 select SYS_SUPPORTS_ZBOOT
Yoichi Yuasaade299d2007-07-27 15:25:43 +0900280 help
Wu Zhangjin85749d22009-07-02 23:26:45 +0800281 This enables the support of Loongson family of machines.
282
283 Loongson is a family of general-purpose MIPS-compatible CPUs.
284 developed at Institute of Computing Technology (ICT),
285 Chinese Academy of Sciences (CAS) in the People's Republic
286 of China. The chief architect is Professor Weiwu Hu.
Yoichi Yuasaade299d2007-07-27 15:25:43 +0900287
Kelvin Cheungca585cf2012-07-25 16:17:24 +0200288config MACH_LOONGSON1
289 bool "Loongson 1 family of machines"
290 select SYS_SUPPORTS_ZBOOT
291 help
292 This enables support for the Loongson 1 based machines.
293
294 Loongson 1 is a family of 32-bit MIPS-compatible SoCs developed by
295 the ICT (Institute of Computing Technology) and the Chinese Academy
296 of Sciences.
297
Linus Torvalds1da177e2005-04-16 15:20:36 -0700298config MIPS_MALTA
Martin Michlmayr3fa986f2006-05-09 23:34:53 +0200299 bool "MIPS Malta board"
Ralf Baechle61ed2422005-09-15 08:52:34 +0000300 select ARCH_MAY_HAVE_PC_FDC
Linus Torvalds1da177e2005-04-16 15:20:36 -0700301 select BOOT_ELF32
Ralf Baechlefa71c962008-01-29 10:15:00 +0000302 select BOOT_RAW
Ralf Baechle42f77542007-10-18 17:48:11 +0100303 select CEVT_R4K
Ralf Baechle940f6b42007-11-24 22:33:28 +0000304 select CSRC_R4K
Steven J. Hill778eeb12012-12-07 03:51:04 +0000305 select CSRC_GIC
Felix Fietkau885014b2013-09-27 14:41:44 +0200306 select DMA_MAYBE_COHERENT
Linus Torvalds1da177e2005-04-16 15:20:36 -0700307 select GENERIC_ISA_DMA
Ralf Baechle8a118c32011-06-01 19:05:10 +0100308 select HAVE_PCSPKR_PLATFORM
Ralf Baechleaa414df2006-11-30 01:14:51 +0000309 select IRQ_CPU
Ralf Baechle39b8d522008-04-28 17:14:26 +0100310 select IRQ_GIC
Linus Torvalds1da177e2005-04-16 15:20:36 -0700311 select HW_HAS_PCI
Ralf Baechled865bea2007-10-11 23:46:10 +0100312 select I8253
Linus Torvalds1da177e2005-04-16 15:20:36 -0700313 select I8259
Ralf Baechle5e83d432005-10-29 19:32:41 +0100314 select MIPS_BONITO64
Chris Dearman9318c512006-06-20 17:15:20 +0100315 select MIPS_CPU_SCACHE
Yoichi Yuasa252161e2007-03-14 21:51:26 +0900316 select PCI_GT64XXX_PCI0
Ralf Baechle5e83d432005-10-29 19:32:41 +0100317 select MIPS_MSC
Linus Torvalds1da177e2005-04-16 15:20:36 -0700318 select SWAP_IO_SPACE
Ralf Baechle7cf80532005-10-20 22:33:09 +0100319 select SYS_HAS_CPU_MIPS32_R1
320 select SYS_HAS_CPU_MIPS32_R2
321 select SYS_HAS_CPU_MIPS64_R1
Leonid Yegoshin5d9fbed2012-07-19 09:11:15 +0200322 select SYS_HAS_CPU_MIPS64_R2
Ralf Baechle7cf80532005-10-20 22:33:09 +0100323 select SYS_HAS_CPU_NEVADA
324 select SYS_HAS_CPU_RM7000
Yoichi Yuasaed5ba2f2005-09-03 15:56:21 -0700325 select SYS_SUPPORTS_32BIT_KERNEL
326 select SYS_SUPPORTS_64BIT_KERNEL
Ralf Baechle5e83d432005-10-29 19:32:41 +0100327 select SYS_SUPPORTS_BIG_ENDIAN
328 select SYS_SUPPORTS_LITTLE_ENDIAN
Tim Anderson03650702009-06-17 16:22:53 -0700329 select SYS_SUPPORTS_MIPS_CMP
Ralf Baechlef41ae0b2006-06-05 17:24:46 +0100330 select SYS_SUPPORTS_MULTITHREADING
Franck Bui-Huu9693a852007-02-02 17:41:47 +0100331 select SYS_SUPPORTS_SMARTMIPS
Wu Zhangjin1b93b3c2009-10-14 18:12:16 +0800332 select SYS_SUPPORTS_ZBOOT
Linus Torvalds1da177e2005-04-16 15:20:36 -0700333 help
Maciej W. Rozyckif638d192005-02-02 22:23:46 +0000334 This enables support for the MIPS Technologies Malta evaluation
Linus Torvalds1da177e2005-04-16 15:20:36 -0700335 board.
336
Steven J. Hillec47b272012-05-11 02:46:20 +0000337config MIPS_SEAD3
338 bool "MIPS SEAD3 board"
339 select BOOT_ELF32
340 select BOOT_RAW
341 select CEVT_R4K
342 select CSRC_R4K
Steven J. Hilldfa762e2013-04-10 16:28:36 -0500343 select CSRC_GIC
Steven J. Hillec47b272012-05-11 02:46:20 +0000344 select CPU_MIPSR2_IRQ_VI
345 select CPU_MIPSR2_IRQ_EI
346 select DMA_NONCOHERENT
347 select IRQ_CPU
348 select IRQ_GIC
Qais Yousef44327232013-12-06 11:00:42 +0000349 select LIBFDT
Steven J. Hillec47b272012-05-11 02:46:20 +0000350 select MIPS_MSC
351 select SYS_HAS_CPU_MIPS32_R1
352 select SYS_HAS_CPU_MIPS32_R2
353 select SYS_HAS_CPU_MIPS64_R1
354 select SYS_HAS_EARLY_PRINTK
355 select SYS_SUPPORTS_32BIT_KERNEL
356 select SYS_SUPPORTS_64BIT_KERNEL
357 select SYS_SUPPORTS_BIG_ENDIAN
358 select SYS_SUPPORTS_LITTLE_ENDIAN
359 select SYS_SUPPORTS_SMARTMIPS
Steven J. Hilla6a48342013-02-05 16:52:02 -0600360 select SYS_SUPPORTS_MICROMIPS
Steven J. Hillec47b272012-05-11 02:46:20 +0000361 select USB_ARCH_HAS_EHCI
362 select USB_EHCI_BIG_ENDIAN_DESC
363 select USB_EHCI_BIG_ENDIAN_MMIO
Steven J. Hill9b731002013-01-17 11:37:03 -0600364 select USE_OF
Steven J. Hillec47b272012-05-11 02:46:20 +0000365 help
366 This enables support for the MIPS Technologies SEAD3 evaluation
367 board.
368
Ralf Baechlea83860c2009-03-13 21:17:57 +0100369config NEC_MARKEINS
370 bool "NEC EMMA2RH Mark-eins board"
371 select SOC_EMMA2RH
372 select HW_HAS_PCI
373 help
374 This enables support for the NEC Electronics Mark-eins boards.
Yoichi Yuasaade299d2007-07-27 15:25:43 +0900375
Ralf Baechle5e83d432005-10-29 19:32:41 +0100376config MACH_VR41XX
Yoichi Yuasa74142d62007-04-26 19:45:09 +0900377 bool "NEC VR4100 series based machines"
Ralf Baechle42f77542007-10-18 17:48:11 +0100378 select CEVT_R4K
Ralf Baechle940f6b42007-11-24 22:33:28 +0000379 select CSRC_R4K
Ralf Baechle7cf80532005-10-20 22:33:09 +0100380 select SYS_HAS_CPU_VR41XX
Yoichi Yuasa27fdd322009-06-29 11:11:05 +0900381 select ARCH_REQUIRE_GPIOLIB
Ralf Baechle5e83d432005-10-29 19:32:41 +0100382
Daniel Lairdedb63102008-06-16 15:49:21 +0100383config NXP_STB220
384 bool "NXP STB220 board"
385 select SOC_PNX833X
386 help
387 Support for NXP Semiconductors STB220 Development Board.
388
389config NXP_STB225
390 bool "NXP 225 board"
391 select SOC_PNX833X
392 select SOC_PNX8335
393 help
394 Support for NXP Semiconductors STB225 Development Board.
395
Marc St-Jean9267a302007-06-14 15:55:31 -0600396config PMC_MSP
397 bool "PMC-Sierra MSP chipsets"
Anoop P A39d30c12010-11-18 13:42:28 +0530398 select CEVT_R4K
399 select CSRC_R4K
Marc St-Jean9267a302007-06-14 15:55:31 -0600400 select DMA_NONCOHERENT
401 select SWAP_IO_SPACE
402 select NO_EXCEPT_FILL
403 select BOOT_RAW
404 select SYS_HAS_CPU_MIPS32_R1
405 select SYS_HAS_CPU_MIPS32_R2
406 select SYS_SUPPORTS_32BIT_KERNEL
407 select SYS_SUPPORTS_BIG_ENDIAN
Marc St-Jean9267a302007-06-14 15:55:31 -0600408 select IRQ_CPU
409 select SERIAL_8250
410 select SERIAL_8250_CONSOLE
Florian Fainelli9296d942013-04-09 14:29:26 +0200411 select USB_EHCI_BIG_ENDIAN_MMIO
412 select USB_EHCI_BIG_ENDIAN_DESC
Marc St-Jean9267a302007-06-14 15:55:31 -0600413 help
414 This adds support for the PMC-Sierra family of Multi-Service
415 Processor System-On-A-Chips. These parts include a number
416 of integrated peripherals, interfaces and DSPs in addition to
417 a variety of MIPS cores.
418
John Crispinae2b5bb2013-01-20 22:05:30 +0100419config RALINK
420 bool "Ralink based machines"
421 select CEVT_R4K
422 select CSRC_R4K
423 select BOOT_RAW
424 select DMA_NONCOHERENT
425 select IRQ_CPU
426 select USE_OF
427 select SYS_HAS_CPU_MIPS32_R1
428 select SYS_HAS_CPU_MIPS32_R2
429 select SYS_SUPPORTS_32BIT_KERNEL
430 select SYS_SUPPORTS_LITTLE_ENDIAN
431 select SYS_HAS_EARLY_PRINTK
432 select HAVE_MACH_CLKDEV
433 select CLKDEV_LOOKUP
John Crispin2a153f12013-09-04 00:16:59 +0200434 select ARCH_HAS_RESET_CONTROLLER
435 select RESET_CONTROLLER
John Crispinae2b5bb2013-01-20 22:05:30 +0100436
Linus Torvalds1da177e2005-04-16 15:20:36 -0700437config SGI_IP22
Martin Michlmayr3fa986f2006-05-09 23:34:53 +0200438 bool "SGI IP22 (Indy/Indigo2)"
Ralf Baechle0e2794b2012-11-15 20:48:50 +0100439 select FW_ARC
440 select FW_ARC32
Linus Torvalds1da177e2005-04-16 15:20:36 -0700441 select BOOT_ELF32
Ralf Baechle42f77542007-10-18 17:48:11 +0100442 select CEVT_R4K
Ralf Baechle940f6b42007-11-24 22:33:28 +0000443 select CSRC_R4K
Thomas Bogendoerfere2defae2007-12-02 13:00:32 +0100444 select DEFAULT_SGI_PARTITION
Linus Torvalds1da177e2005-04-16 15:20:36 -0700445 select DMA_NONCOHERENT
Ralf Baechle5e83d432005-10-29 19:32:41 +0100446 select HW_HAS_EISA
Ralf Baechled865bea2007-10-11 23:46:10 +0100447 select I8253
Thomas Bogendoerfer68de4802007-11-23 20:34:16 +0100448 select I8259
Linus Torvalds1da177e2005-04-16 15:20:36 -0700449 select IP22_CPU_SCACHE
450 select IRQ_CPU
Ralf Baechleaa414df2006-11-30 01:14:51 +0000451 select GENERIC_ISA_DMA_SUPPORT_BROKEN
Thomas Bogendoerfere2defae2007-12-02 13:00:32 +0100452 select SGI_HAS_I8042
453 select SGI_HAS_INDYDOG
Thomas Bogendoerfer36e5c212008-07-16 14:06:15 +0200454 select SGI_HAS_HAL2
Thomas Bogendoerfere2defae2007-12-02 13:00:32 +0100455 select SGI_HAS_SEEQ
456 select SGI_HAS_WD93
457 select SGI_HAS_ZILOG
Linus Torvalds1da177e2005-04-16 15:20:36 -0700458 select SWAP_IO_SPACE
Ralf Baechle7cf80532005-10-20 22:33:09 +0100459 select SYS_HAS_CPU_R4X00
460 select SYS_HAS_CPU_R5000
Martin Michlmayr2b5e63f2009-11-19 16:40:09 +0000461 #
462 # Disable EARLY_PRINTK for now since it leads to overwritten prom
463 # memory during early boot on some machines.
464 #
465 # See http://www.linux-mips.org/cgi-bin/mesg.cgi?a=linux-mips&i=20091119164009.GA15038%40deprecation.cyrius.com
466 # for a more details discussion
467 #
468 # select SYS_HAS_EARLY_PRINTK
Yoichi Yuasaed5ba2f2005-09-03 15:56:21 -0700469 select SYS_SUPPORTS_32BIT_KERNEL
470 select SYS_SUPPORTS_64BIT_KERNEL
Ralf Baechle5e83d432005-10-29 19:32:41 +0100471 select SYS_SUPPORTS_BIG_ENDIAN
Florian Fainelli930beb52014-01-14 09:54:38 -0800472 select MIPS_L1_CACHE_SHIFT_7
Linus Torvalds1da177e2005-04-16 15:20:36 -0700473 help
474 This are the SGI Indy, Challenge S and Indigo2, as well as certain
475 OEM variants like the Tandem CMN B006S. To compile a Linux kernel
476 that runs on these, say Y here.
477
478config SGI_IP27
Martin Michlmayr3fa986f2006-05-09 23:34:53 +0200479 bool "SGI IP27 (Origin200/2000)"
Ralf Baechle0e2794b2012-11-15 20:48:50 +0100480 select FW_ARC
481 select FW_ARC64
Ralf Baechle5e83d432005-10-29 19:32:41 +0100482 select BOOT_ELF64
Thomas Bogendoerfere2defae2007-12-02 13:00:32 +0100483 select DEFAULT_SGI_PARTITION
Ralf Baechle634286f2009-01-28 17:48:40 +0000484 select DMA_COHERENT
Ralf Baechle36a88532007-03-01 11:56:43 +0000485 select SYS_HAS_EARLY_PRINTK
Linus Torvalds1da177e2005-04-16 15:20:36 -0700486 select HW_HAS_PCI
Ralf Baechle130e2fb2007-02-06 16:53:15 +0000487 select NR_CPUS_DEFAULT_64
Ralf Baechle7cf80532005-10-20 22:33:09 +0100488 select SYS_HAS_CPU_R10000
Yoichi Yuasaed5ba2f2005-09-03 15:56:21 -0700489 select SYS_SUPPORTS_64BIT_KERNEL
Ralf Baechle5e83d432005-10-29 19:32:41 +0100490 select SYS_SUPPORTS_BIG_ENDIAN
Ralf Baechled8cb4e12006-06-11 23:03:08 +0100491 select SYS_SUPPORTS_NUMA
Ralf Baechle1a5c5de2006-11-02 17:23:33 +0000492 select SYS_SUPPORTS_SMP
Florian Fainelli930beb52014-01-14 09:54:38 -0800493 select MIPS_L1_CACHE_SHIFT_7
Linus Torvalds1da177e2005-04-16 15:20:36 -0700494 help
495 This are the SGI Origin 200, Origin 2000 and Onyx 2 Graphics
496 workstations. To compile a Linux kernel that runs on these, say Y
497 here.
498
Thomas Bogendoerfere2defae2007-12-02 13:00:32 +0100499config SGI_IP28
Kees Cook7d607172013-01-16 18:53:19 -0800500 bool "SGI IP28 (Indigo2 R10k)"
Ralf Baechle0e2794b2012-11-15 20:48:50 +0100501 select FW_ARC
502 select FW_ARC64
Thomas Bogendoerfere2defae2007-12-02 13:00:32 +0100503 select BOOT_ELF64
504 select CEVT_R4K
505 select CSRC_R4K
506 select DEFAULT_SGI_PARTITION
507 select DMA_NONCOHERENT
508 select GENERIC_ISA_DMA_SUPPORT_BROKEN
509 select IRQ_CPU
510 select HW_HAS_EISA
511 select I8253
512 select I8259
Thomas Bogendoerfere2defae2007-12-02 13:00:32 +0100513 select SGI_HAS_I8042
514 select SGI_HAS_INDYDOG
Thomas Bogendoerfer5b438c42008-07-10 20:29:55 +0200515 select SGI_HAS_HAL2
Thomas Bogendoerfere2defae2007-12-02 13:00:32 +0100516 select SGI_HAS_SEEQ
517 select SGI_HAS_WD93
518 select SGI_HAS_ZILOG
519 select SWAP_IO_SPACE
520 select SYS_HAS_CPU_R10000
Martin Michlmayr2b5e63f2009-11-19 16:40:09 +0000521 #
522 # Disable EARLY_PRINTK for now since it leads to overwritten prom
523 # memory during early boot on some machines.
524 #
525 # See http://www.linux-mips.org/cgi-bin/mesg.cgi?a=linux-mips&i=20091119164009.GA15038%40deprecation.cyrius.com
526 # for a more details discussion
527 #
528 # select SYS_HAS_EARLY_PRINTK
Thomas Bogendoerfere2defae2007-12-02 13:00:32 +0100529 select SYS_SUPPORTS_64BIT_KERNEL
530 select SYS_SUPPORTS_BIG_ENDIAN
531 help
532 This is the SGI Indigo2 with R10000 processor. To compile a Linux
533 kernel that runs on these, say Y here.
534
Linus Torvalds1da177e2005-04-16 15:20:36 -0700535config SGI_IP32
Ralf Baechlecfd2afc2007-07-10 17:33:00 +0100536 bool "SGI IP32 (O2)"
Ralf Baechle0e2794b2012-11-15 20:48:50 +0100537 select FW_ARC
538 select FW_ARC32
Linus Torvalds1da177e2005-04-16 15:20:36 -0700539 select BOOT_ELF32
Ralf Baechle42f77542007-10-18 17:48:11 +0100540 select CEVT_R4K
Ralf Baechle940f6b42007-11-24 22:33:28 +0000541 select CSRC_R4K
Linus Torvalds1da177e2005-04-16 15:20:36 -0700542 select DMA_NONCOHERENT
543 select HW_HAS_PCI
Ralf Baechledd67b152007-10-14 14:02:26 +0100544 select IRQ_CPU
Linus Torvalds1da177e2005-04-16 15:20:36 -0700545 select R5000_CPU_SCACHE
546 select RM7000_CPU_SCACHE
Ralf Baechle7cf80532005-10-20 22:33:09 +0100547 select SYS_HAS_CPU_R5000
548 select SYS_HAS_CPU_R10000 if BROKEN
549 select SYS_HAS_CPU_RM7000
Ralf Baechledd2f18f2006-01-19 14:55:42 +0000550 select SYS_HAS_CPU_NEVADA
Yoichi Yuasaed5ba2f2005-09-03 15:56:21 -0700551 select SYS_SUPPORTS_64BIT_KERNEL
Ralf Baechle5e83d432005-10-29 19:32:41 +0100552 select SYS_SUPPORTS_BIG_ENDIAN
Linus Torvalds1da177e2005-04-16 15:20:36 -0700553 help
554 If you want this kernel to run on SGI O2 workstation, say Y here.
555
Yoichi Yuasaade299d2007-07-27 15:25:43 +0900556config SIBYTE_CRHINE
557 bool "Sibyte BCM91120C-CRhine"
Ralf Baechle5e83d432005-10-29 19:32:41 +0100558 select BOOT_ELF32
559 select DMA_COHERENT
560 select SIBYTE_BCM1120
561 select SWAP_IO_SPACE
Ralf Baechle7cf80532005-10-20 22:33:09 +0100562 select SYS_HAS_CPU_SB1
Ralf Baechle5e83d432005-10-29 19:32:41 +0100563 select SYS_SUPPORTS_BIG_ENDIAN
564 select SYS_SUPPORTS_LITTLE_ENDIAN
565
Yoichi Yuasaade299d2007-07-27 15:25:43 +0900566config SIBYTE_CARMEL
567 bool "Sibyte BCM91120x-Carmel"
Ralf Baechle5e83d432005-10-29 19:32:41 +0100568 select BOOT_ELF32
569 select DMA_COHERENT
570 select SIBYTE_BCM1120
571 select SWAP_IO_SPACE
Ralf Baechle7cf80532005-10-20 22:33:09 +0100572 select SYS_HAS_CPU_SB1
Ralf Baechle5e83d432005-10-29 19:32:41 +0100573 select SYS_SUPPORTS_BIG_ENDIAN
574 select SYS_SUPPORTS_LITTLE_ENDIAN
575
576config SIBYTE_CRHONE
Martin Michlmayr3fa986f2006-05-09 23:34:53 +0200577 bool "Sibyte BCM91125C-CRhone"
Ralf Baechle5e83d432005-10-29 19:32:41 +0100578 select BOOT_ELF32
579 select DMA_COHERENT
580 select SIBYTE_BCM1125
581 select SWAP_IO_SPACE
Ralf Baechle7cf80532005-10-20 22:33:09 +0100582 select SYS_HAS_CPU_SB1
Ralf Baechle5e83d432005-10-29 19:32:41 +0100583 select SYS_SUPPORTS_BIG_ENDIAN
584 select SYS_SUPPORTS_HIGHMEM
585 select SYS_SUPPORTS_LITTLE_ENDIAN
586
Yoichi Yuasaade299d2007-07-27 15:25:43 +0900587config SIBYTE_RHONE
588 bool "Sibyte BCM91125E-Rhone"
Yoichi Yuasaade299d2007-07-27 15:25:43 +0900589 select BOOT_ELF32
590 select DMA_COHERENT
591 select SIBYTE_BCM1125H
592 select SWAP_IO_SPACE
593 select SYS_HAS_CPU_SB1
594 select SYS_SUPPORTS_BIG_ENDIAN
595 select SYS_SUPPORTS_LITTLE_ENDIAN
596
597config SIBYTE_SWARM
598 bool "Sibyte BCM91250A-SWARM"
599 select BOOT_ELF32
600 select DMA_COHERENT
Sebastian Andrzej Siewiorfcf3ca42010-04-18 15:26:36 +0200601 select HAVE_PATA_PLATFORM
Yoichi Yuasaade299d2007-07-27 15:25:43 +0900602 select SIBYTE_SB1250
603 select SWAP_IO_SPACE
604 select SYS_HAS_CPU_SB1
605 select SYS_SUPPORTS_BIG_ENDIAN
606 select SYS_SUPPORTS_HIGHMEM
Yoichi Yuasaade299d2007-07-27 15:25:43 +0900607 select SYS_SUPPORTS_LITTLE_ENDIAN
Ralf Baechlecce335ae2007-11-03 02:05:43 +0000608 select ZONE_DMA32 if 64BIT
Yoichi Yuasaade299d2007-07-27 15:25:43 +0900609
610config SIBYTE_LITTLESUR
611 bool "Sibyte BCM91250C2-LittleSur"
Yoichi Yuasaade299d2007-07-27 15:25:43 +0900612 select BOOT_ELF32
613 select DMA_COHERENT
Sebastian Andrzej Siewiorfcf3ca42010-04-18 15:26:36 +0200614 select HAVE_PATA_PLATFORM
Yoichi Yuasaade299d2007-07-27 15:25:43 +0900615 select SIBYTE_SB1250
616 select SWAP_IO_SPACE
617 select SYS_HAS_CPU_SB1
618 select SYS_SUPPORTS_BIG_ENDIAN
619 select SYS_SUPPORTS_HIGHMEM
620 select SYS_SUPPORTS_LITTLE_ENDIAN
621
622config SIBYTE_SENTOSA
623 bool "Sibyte BCM91250E-Sentosa"
Yoichi Yuasaade299d2007-07-27 15:25:43 +0900624 select BOOT_ELF32
625 select DMA_COHERENT
Yoichi Yuasaade299d2007-07-27 15:25:43 +0900626 select SIBYTE_SB1250
627 select SWAP_IO_SPACE
628 select SYS_HAS_CPU_SB1
629 select SYS_SUPPORTS_BIG_ENDIAN
630 select SYS_SUPPORTS_LITTLE_ENDIAN
631
Yoichi Yuasaade299d2007-07-27 15:25:43 +0900632config SIBYTE_BIGSUR
633 bool "Sibyte BCM91480B-BigSur"
634 select BOOT_ELF32
635 select DMA_COHERENT
636 select NR_CPUS_DEFAULT_4
Yoichi Yuasaade299d2007-07-27 15:25:43 +0900637 select SIBYTE_BCM1x80
638 select SWAP_IO_SPACE
639 select SYS_HAS_CPU_SB1
640 select SYS_SUPPORTS_BIG_ENDIAN
Ralf Baechle651194f2007-11-01 21:55:39 +0000641 select SYS_SUPPORTS_HIGHMEM
Yoichi Yuasaade299d2007-07-27 15:25:43 +0900642 select SYS_SUPPORTS_LITTLE_ENDIAN
Ralf Baechlecce335ae2007-11-03 02:05:43 +0000643 select ZONE_DMA32 if 64BIT
Yoichi Yuasaade299d2007-07-27 15:25:43 +0900644
Thomas Bogendoerfer14b36af2006-12-05 17:05:44 +0100645config SNI_RM
646 bool "SNI RM200/300/400"
Ralf Baechle0e2794b2012-11-15 20:48:50 +0100647 select FW_ARC if CPU_LITTLE_ENDIAN
648 select FW_ARC32 if CPU_LITTLE_ENDIAN
Paul Bolleaaa9fad2013-03-25 09:39:54 +0000649 select FW_SNIPROM if CPU_BIG_ENDIAN
Ralf Baechle5e83d432005-10-29 19:32:41 +0100650 select ARCH_MAY_HAVE_PC_FDC
651 select BOOT_ELF32
Ralf Baechle42f77542007-10-18 17:48:11 +0100652 select CEVT_R4K
Ralf Baechle940f6b42007-11-24 22:33:28 +0000653 select CSRC_R4K
Thomas Bogendoerfere2defae2007-12-02 13:00:32 +0100654 select DEFAULT_SGI_PARTITION if CPU_BIG_ENDIAN
Ralf Baechle5e83d432005-10-29 19:32:41 +0100655 select DMA_NONCOHERENT
656 select GENERIC_ISA_DMA
Ralf Baechle8a118c32011-06-01 19:05:10 +0100657 select HAVE_PCSPKR_PLATFORM
Ralf Baechle5e83d432005-10-29 19:32:41 +0100658 select HW_HAS_EISA
659 select HW_HAS_PCI
Thomas Bogendoerferc066a322006-12-28 18:22:32 +0100660 select IRQ_CPU
Ralf Baechled865bea2007-10-11 23:46:10 +0100661 select I8253
Ralf Baechle5e83d432005-10-29 19:32:41 +0100662 select I8259
663 select ISA
Thomas Bogendoerfer4a0312f2006-06-13 13:59:01 +0200664 select SWAP_IO_SPACE if CPU_BIG_ENDIAN
Ralf Baechle7cf80532005-10-20 22:33:09 +0100665 select SYS_HAS_CPU_R4X00
Thomas Bogendoerfer4a0312f2006-06-13 13:59:01 +0200666 select SYS_HAS_CPU_R5000
Thomas Bogendoerferc066a322006-12-28 18:22:32 +0100667 select SYS_HAS_CPU_R10000
Thomas Bogendoerfer4a0312f2006-06-13 13:59:01 +0200668 select R5000_CPU_SCACHE
Ralf Baechle36a88532007-03-01 11:56:43 +0000669 select SYS_HAS_EARLY_PRINTK
Yoichi Yuasaed5ba2f2005-09-03 15:56:21 -0700670 select SYS_SUPPORTS_32BIT_KERNEL
Kees Cook7d607172013-01-16 18:53:19 -0800671 select SYS_SUPPORTS_64BIT_KERNEL
Thomas Bogendoerfer4a0312f2006-06-13 13:59:01 +0200672 select SYS_SUPPORTS_BIG_ENDIAN
Ralf Baechle5e83d432005-10-29 19:32:41 +0100673 select SYS_SUPPORTS_HIGHMEM
674 select SYS_SUPPORTS_LITTLE_ENDIAN
Linus Torvalds1da177e2005-04-16 15:20:36 -0700675 help
Thomas Bogendoerfer14b36af2006-12-05 17:05:44 +0100676 The SNI RM200/300/400 are MIPS-based machines manufactured by
677 Siemens Nixdorf Informationssysteme (SNI), parent company of Pyramid
Ralf Baechle5e83d432005-10-29 19:32:41 +0100678 Technology and now in turn merged with Fujitsu. Say Y here to
679 support this machine type.
Linus Torvalds1da177e2005-04-16 15:20:36 -0700680
Atsushi Nemotoedcaf1a2008-07-11 23:27:54 +0900681config MACH_TX39XX
682 bool "Toshiba TX39 series based machines"
Ralf Baechle5e83d432005-10-29 19:32:41 +0100683
Atsushi Nemotoedcaf1a2008-07-11 23:27:54 +0900684config MACH_TX49XX
685 bool "Toshiba TX49 series based machines"
Ralf Baechle23fbee92005-07-25 22:45:45 +0000686
Ralf Baechle73b43902008-07-16 16:12:25 +0100687config MIKROTIK_RB532
688 bool "Mikrotik RB532 boards"
689 select CEVT_R4K
690 select CSRC_R4K
691 select DMA_NONCOHERENT
Ralf Baechle73b43902008-07-16 16:12:25 +0100692 select HW_HAS_PCI
693 select IRQ_CPU
694 select SYS_HAS_CPU_MIPS32_R1
695 select SYS_SUPPORTS_32BIT_KERNEL
696 select SYS_SUPPORTS_LITTLE_ENDIAN
697 select SWAP_IO_SPACE
698 select BOOT_RAW
Florian Fainellid888e252008-08-23 18:54:34 +0200699 select ARCH_REQUIRE_GPIOLIB
Florian Fainelli930beb52014-01-14 09:54:38 -0800700 select MIPS_L1_CACHE_SHIFT_4
Ralf Baechle73b43902008-07-16 16:12:25 +0100701 help
702 Support the Mikrotik(tm) RouterBoard 532 series,
703 based on the IDT RC32434 SoC.
704
David Daney9ddebc42013-05-22 15:10:46 +0000705config CAVIUM_OCTEON_SOC
706 bool "Cavium Networks Octeon SoC based boards"
David Daneya86c7f72008-12-11 15:33:38 -0800707 select CEVT_R4K
708 select 64BIT_PHYS_ADDR
709 select DMA_COHERENT
710 select SYS_SUPPORTS_64BIT_KERNEL
711 select SYS_SUPPORTS_BIG_ENDIAN
Ralf Baechlef65aad42012-10-17 00:39:09 +0200712 select EDAC_SUPPORT
Ralf Baechle773cb772009-06-23 10:36:38 +0100713 select SYS_SUPPORTS_HOTPLUG_CPU
David Daneya86c7f72008-12-11 15:33:38 -0800714 select SYS_HAS_EARLY_PRINTK
David Daney5e683382009-02-02 11:30:59 -0800715 select SYS_HAS_CPU_CAVIUM_OCTEON
David Daneya86c7f72008-12-11 15:33:38 -0800716 select SWAP_IO_SPACE
David Daneye8635b42009-04-23 17:44:38 -0700717 select HW_HAS_PCI
David Daneyf00e0012010-10-01 13:27:30 -0700718 select ZONE_DMA32
David Daney340fbb82010-10-08 14:47:53 -0700719 select USB_ARCH_HAS_OHCI
720 select USB_ARCH_HAS_EHCI
David Daney465aaed2011-08-20 08:44:00 -0700721 select HOLES_IN_ZONE
David Daney99cab4b2013-07-29 14:29:09 -0700722 select ARCH_REQUIRE_GPIOLIB
David Daneya86c7f72008-12-11 15:33:38 -0800723 help
724 This option supports all of the Octeon reference boards from Cavium
725 Networks. It builds a kernel that dynamically determines the Octeon
726 CPU type and supports all known board reference implementations.
727 Some of the supported boards are:
728 EBT3000
729 EBH3000
730 EBH3100
731 Thunder
732 Kodama
733 Hikari
734 Say Y here for most Octeon reference boards.
735
Jayachandran C7f058e82011-05-07 01:36:57 +0530736config NLM_XLR_BOARD
737 bool "Netlogic XLR/XLS based systems"
Jayachandran C7f058e82011-05-07 01:36:57 +0530738 select BOOT_ELF32
739 select NLM_COMMON
Jayachandran C7f058e82011-05-07 01:36:57 +0530740 select SYS_HAS_CPU_XLR
741 select SYS_SUPPORTS_SMP
742 select HW_HAS_PCI
743 select SWAP_IO_SPACE
744 select SYS_SUPPORTS_32BIT_KERNEL
745 select SYS_SUPPORTS_64BIT_KERNEL
746 select 64BIT_PHYS_ADDR
747 select SYS_SUPPORTS_BIG_ENDIAN
748 select SYS_SUPPORTS_HIGHMEM
749 select DMA_COHERENT
750 select NR_CPUS_DEFAULT_32
751 select CEVT_R4K
752 select CSRC_R4K
753 select IRQ_CPU
Jayachandran Cb97215f2012-10-31 12:01:33 +0000754 select ZONE_DMA32 if 64BIT
Jayachandran C7f058e82011-05-07 01:36:57 +0530755 select SYNC_R4K
756 select SYS_HAS_EARLY_PRINTK
Jayachandran Cf35574a2012-07-24 17:28:53 +0200757 select USB_ARCH_HAS_OHCI if USB_SUPPORT
758 select USB_ARCH_HAS_EHCI if USB_SUPPORT
Jayachandran C8f0b0432013-06-10 06:33:26 +0000759 select SYS_SUPPORTS_ZBOOT
760 select SYS_SUPPORTS_ZBOOT_UART16550
Jayachandran C7f058e82011-05-07 01:36:57 +0530761 help
762 Support for systems based on Netlogic XLR and XLS processors.
763 Say Y here if you have a XLR or XLS based board.
764
Jayachandran C1c773ea2011-11-16 00:21:28 +0000765config NLM_XLP_BOARD
766 bool "Netlogic XLP based systems"
Jayachandran C1c773ea2011-11-16 00:21:28 +0000767 select BOOT_ELF32
768 select NLM_COMMON
769 select SYS_HAS_CPU_XLP
770 select SYS_SUPPORTS_SMP
771 select HW_HAS_PCI
Jayachandran C1c773ea2011-11-16 00:21:28 +0000772 select SYS_SUPPORTS_32BIT_KERNEL
773 select SYS_SUPPORTS_64BIT_KERNEL
774 select 64BIT_PHYS_ADDR
775 select SYS_SUPPORTS_BIG_ENDIAN
776 select SYS_SUPPORTS_LITTLE_ENDIAN
777 select SYS_SUPPORTS_HIGHMEM
778 select DMA_COHERENT
779 select NR_CPUS_DEFAULT_32
780 select CEVT_R4K
781 select CSRC_R4K
782 select IRQ_CPU
Jayachandran Cc24a8a72013-12-21 16:52:13 +0530783 select ARCH_SUPPORTS_MSI
Jayachandran Cb97215f2012-10-31 12:01:33 +0000784 select ZONE_DMA32 if 64BIT
Jayachandran C1c773ea2011-11-16 00:21:28 +0000785 select SYNC_R4K
786 select SYS_HAS_EARLY_PRINTK
Jayachandran C2f6528e2012-07-13 21:53:22 +0530787 select USE_OF
Jayachandran C8f0b0432013-06-10 06:33:26 +0000788 select SYS_SUPPORTS_ZBOOT
789 select SYS_SUPPORTS_ZBOOT_UART16550
Jayachandran C1c773ea2011-11-16 00:21:28 +0000790 help
791 This board is based on Netlogic XLP Processor.
792 Say Y here if you have a XLP based board.
793
Linus Torvalds1da177e2005-04-16 15:20:36 -0700794endchoice
795
Ralf Baechlee8c7c482008-09-16 19:12:16 +0200796source "arch/mips/alchemy/Kconfig"
Gabor Juhosd4a67d92011-01-04 21:28:14 +0100797source "arch/mips/ath79/Kconfig"
Hauke Mehrtensa656ffc2011-07-23 01:20:13 +0200798source "arch/mips/bcm47xx/Kconfig"
Maxime Bizone7300d02009-08-18 13:23:37 +0100799source "arch/mips/bcm63xx/Kconfig"
Ralf Baechle5e83d432005-10-29 19:32:41 +0100800source "arch/mips/jazz/Kconfig"
Lars-Peter Clausen5ebabe52010-06-19 04:08:19 +0000801source "arch/mips/jz4740/Kconfig"
John Crispin8ec6d932011-03-30 09:27:48 +0200802source "arch/mips/lantiq/Kconfig"
Brian Murphy1f21d2b2007-08-21 22:34:16 +0200803source "arch/mips/lasat/Kconfig"
Ralf Baechle0f3a05c2012-12-15 11:52:10 +0100804source "arch/mips/pmcs-msp71xx/Kconfig"
John Crispinae2b5bb2013-01-20 22:05:30 +0100805source "arch/mips/ralink/Kconfig"
Ralf Baechle29c48692005-02-07 01:27:14 +0000806source "arch/mips/sgi-ip27/Kconfig"
Ralf Baechle38b18f722005-02-03 14:28:23 +0000807source "arch/mips/sibyte/Kconfig"
Atsushi Nemoto22b1d702008-07-11 00:31:36 +0900808source "arch/mips/txx9/Kconfig"
Ralf Baechle5e83d432005-10-29 19:32:41 +0100809source "arch/mips/vr41xx/Kconfig"
David Daneya86c7f72008-12-11 15:33:38 -0800810source "arch/mips/cavium-octeon/Kconfig"
Wu Zhangjin85749d22009-07-02 23:26:45 +0800811source "arch/mips/loongson/Kconfig"
Kelvin Cheungca585cf2012-07-25 16:17:24 +0200812source "arch/mips/loongson1/Kconfig"
Jayachandran C7f058e82011-05-07 01:36:57 +0530813source "arch/mips/netlogic/Kconfig"
Ralf Baechle38b18f722005-02-03 14:28:23 +0000814
Ralf Baechle5e83d432005-10-29 19:32:41 +0100815endmenu
816
Linus Torvalds1da177e2005-04-16 15:20:36 -0700817config RWSEM_GENERIC_SPINLOCK
818 bool
819 default y
820
821config RWSEM_XCHGADD_ALGORITHM
822 bool
823
David Howellsf0d1b0b2006-12-08 02:37:49 -0800824config ARCH_HAS_ILOG2_U32
825 bool
826 default n
827
828config ARCH_HAS_ILOG2_U64
829 bool
830 default n
831
Akinobu Mita3c9ee7e2006-03-26 01:39:30 -0800832config GENERIC_HWEIGHT
833 bool
834 default y
835
Linus Torvalds1da177e2005-04-16 15:20:36 -0700836config GENERIC_CALIBRATE_DELAY
837 bool
838 default y
839
Ingo Molnarae1e9132008-11-11 09:05:16 +0100840config SCHED_OMIT_FRAME_POINTER
Atsushi Nemoto1cc89032006-04-04 13:11:45 +0900841 bool
842 default y
843
Linus Torvalds1da177e2005-04-16 15:20:36 -0700844#
845# Select some configuration options automatically based on user selections.
846#
Ralf Baechle0e2794b2012-11-15 20:48:50 +0100847config FW_ARC
Linus Torvalds1da177e2005-04-16 15:20:36 -0700848 bool
Linus Torvalds1da177e2005-04-16 15:20:36 -0700849
Ralf Baechle61ed2422005-09-15 08:52:34 +0000850config ARCH_MAY_HAVE_PC_FDC
851 bool
852
Marc St-Jean9267a302007-06-14 15:55:31 -0600853config BOOT_RAW
854 bool
855
Ralf Baechle217dd112007-11-01 01:57:55 +0000856config CEVT_BCM1480
857 bool
858
Yoichi Yuasa6457d9f2008-04-25 12:11:44 +0900859config CEVT_DS1287
860 bool
861
Yoichi Yuasa1097c6a2007-10-22 19:43:15 +0900862config CEVT_GT641XX
863 bool
864
Ralf Baechle42f77542007-10-18 17:48:11 +0100865config CEVT_R4K
866 bool
867
Raghu Gandham0ab2b7d2013-04-10 16:30:12 -0500868config CEVT_GIC
869 bool
870
Ralf Baechle217dd112007-11-01 01:57:55 +0000871config CEVT_SB1250
872 bool
873
Atsushi Nemoto229f7732007-10-25 01:34:09 +0900874config CEVT_TXX9
875 bool
876
Ralf Baechle217dd112007-11-01 01:57:55 +0000877config CSRC_BCM1480
878 bool
879
Yoichi Yuasa42474172008-04-24 09:48:40 +0900880config CSRC_IOASIC
881 bool
882
Ralf Baechle940f6b42007-11-24 22:33:28 +0000883config CSRC_R4K
884 bool
885
Steven J. Hill778eeb12012-12-07 03:51:04 +0000886config CSRC_GIC
887 bool
888
Ralf Baechle217dd112007-11-01 01:57:55 +0000889config CSRC_SB1250
890 bool
891
Atsushi Nemotoa9aec7f2008-04-05 00:55:41 +0900892config GPIO_TXX9
Michael Buesch7444a722008-07-25 01:46:11 -0700893 select ARCH_REQUIRE_GPIOLIB
Atsushi Nemotoa9aec7f2008-04-05 00:55:41 +0900894 bool
895
Ralf Baechle0e2794b2012-11-15 20:48:50 +0100896config FW_CFE
Aurelien Jarnodf78b5c2007-09-05 08:58:26 +0200897 bool
898
FUJITA Tomonori4bafad92010-09-03 09:49:12 +0900899config ARCH_DMA_ADDR_T_64BIT
900 def_bool (HIGHMEM && 64BIT_PHYS_ADDR) || 64BIT
901
Felix Fietkau885014b2013-09-27 14:41:44 +0200902config DMA_MAYBE_COHERENT
903 select DMA_NONCOHERENT
904 bool
905
Ralf Baechle4ce588c2005-09-03 15:56:19 -0700906config DMA_COHERENT
Linus Torvalds1da177e2005-04-16 15:20:36 -0700907 bool
908
Ralf Baechle4ce588c2005-09-03 15:56:19 -0700909config DMA_NONCOHERENT
910 bool
FUJITA Tomonorie1e02b32010-03-10 15:23:25 -0800911 select NEED_DMA_MAP_STATE
Ralf Baechle4ce588c2005-09-03 15:56:19 -0700912
FUJITA Tomonorie1e02b32010-03-10 15:23:25 -0800913config NEED_DMA_MAP_STATE
Linus Torvalds1da177e2005-04-16 15:20:36 -0700914 bool
915
Ralf Baechle36a88532007-03-01 11:56:43 +0000916config SYS_HAS_EARLY_PRINTK
Linus Torvalds1da177e2005-04-16 15:20:36 -0700917 bool
Linus Torvalds1da177e2005-04-16 15:20:36 -0700918
Ralf Baechledbb74542007-08-07 14:52:17 +0100919config HOTPLUG_CPU
Ralf Baechle1b2bc752009-06-23 10:00:31 +0100920 bool "Support for hot-pluggable CPUs"
Stephen Rothwell40b31362013-05-21 13:49:35 +1000921 depends on SMP && SYS_SUPPORTS_HOTPLUG_CPU
Ralf Baechle1b2bc752009-06-23 10:00:31 +0100922 help
923 Say Y here to allow turning CPUs off and on. CPUs can be
924 controlled through /sys/devices/system/cpu.
925 (Note: power management support will enable this option
926 automatically on SMP systems. )
927 Say N if you want to disable CPU hotplug.
928
929config SYS_SUPPORTS_HOTPLUG_CPU
Ralf Baechledbb74542007-08-07 14:52:17 +0100930 bool
Ralf Baechledbb74542007-08-07 14:52:17 +0100931
Linus Torvalds1da177e2005-04-16 15:20:36 -0700932config I8259
933 bool
Linus Torvalds1da177e2005-04-16 15:20:36 -0700934
Linus Torvalds1da177e2005-04-16 15:20:36 -0700935config MIPS_BONITO64
936 bool
Linus Torvalds1da177e2005-04-16 15:20:36 -0700937
938config MIPS_MSC
939 bool
Linus Torvalds1da177e2005-04-16 15:20:36 -0700940
Brian Murphy1f21d2b2007-08-21 22:34:16 +0200941config MIPS_NILE4
942 bool
943
Ralf Baechle39b8d522008-04-28 17:14:26 +0100944config SYNC_R4K
945 bool
946
Gabor Juhos487d70d2010-11-23 16:06:25 +0100947config MIPS_MACHINE
948 def_bool n
949
Maciej W. Rozyckid388d682007-05-29 15:08:07 +0100950config NO_IOPORT
951 def_bool n
952
Ralf Baechle8313da32007-08-24 16:48:30 +0100953config GENERIC_ISA_DMA
954 bool
955 select ZONE_DMA if GENERIC_ISA_DMA_SUPPORT_BROKEN=n
Namhyung Kima35bee82010-10-18 12:55:21 +0900956 select ISA_DMA_API
Ralf Baechle8313da32007-08-24 16:48:30 +0100957
Ralf Baechleaa414df2006-11-30 01:14:51 +0000958config GENERIC_ISA_DMA_SUPPORT_BROKEN
959 bool
Ralf Baechle8313da32007-08-24 16:48:30 +0100960 select GENERIC_ISA_DMA
Ralf Baechleaa414df2006-11-30 01:14:51 +0000961
Namhyung Kima35bee82010-10-18 12:55:21 +0900962config ISA_DMA_API
963 bool
964
David Daney465aaed2011-08-20 08:44:00 -0700965config HOLES_IN_ZONE
966 bool
967
Ralf Baechle5e83d432005-10-29 19:32:41 +0100968#
Masanari Iida6b2aac42012-04-14 00:14:11 +0900969# Endianness selection. Sufficiently obscure so many users don't know what to
Ralf Baechle5e83d432005-10-29 19:32:41 +0100970# answer,so we try hard to limit the available choices. Also the use of a
971# choice statement should be more obvious to the user.
972#
973choice
Masanari Iida6b2aac42012-04-14 00:14:11 +0900974 prompt "Endianness selection"
Linus Torvalds1da177e2005-04-16 15:20:36 -0700975 help
976 Some MIPS machines can be configured for either little or big endian
Ralf Baechle5e83d432005-10-29 19:32:41 +0100977 byte order. These modes require different kernels and a different
Matt LaPlante3cb2fcc2006-11-30 05:22:59 +0100978 Linux distribution. In general there is one preferred byteorder for a
Ralf Baechle5e83d432005-10-29 19:32:41 +0100979 particular system but some systems are just as commonly used in the
David Sterba3dde6ad2007-05-09 07:12:20 +0200980 one or the other endianness.
Ralf Baechle5e83d432005-10-29 19:32:41 +0100981
982config CPU_BIG_ENDIAN
983 bool "Big endian"
984 depends on SYS_SUPPORTS_BIG_ENDIAN
985
986config CPU_LITTLE_ENDIAN
987 bool "Little endian"
988 depends on SYS_SUPPORTS_LITTLE_ENDIAN
Ralf Baechle5e83d432005-10-29 19:32:41 +0100989
990endchoice
991
David Daney22b07632010-07-23 18:41:43 -0700992config EXPORT_UASM
993 bool
994
Ralf Baechle21162452007-02-09 17:08:58 +0000995config SYS_SUPPORTS_APM_EMULATION
996 bool
997
Ralf Baechle5e83d432005-10-29 19:32:41 +0100998config SYS_SUPPORTS_BIG_ENDIAN
999 bool
1000
1001config SYS_SUPPORTS_LITTLE_ENDIAN
1002 bool
Linus Torvalds1da177e2005-04-16 15:20:36 -07001003
David Daney9cffd152009-05-27 17:47:46 -07001004config SYS_SUPPORTS_HUGETLBFS
1005 bool
1006 depends on CPU_SUPPORTS_HUGEPAGES && 64BIT
1007 default y
1008
David Daneyaa1762f2012-10-17 00:48:10 +02001009config MIPS_HUGE_TLB_SUPPORT
1010 def_bool HUGETLB_PAGE || TRANSPARENT_HUGEPAGE
1011
Linus Torvalds1da177e2005-04-16 15:20:36 -07001012config IRQ_CPU
1013 bool
1014
1015config IRQ_CPU_RM7K
1016 bool
1017
Marc St-Jean9267a302007-06-14 15:55:31 -06001018config IRQ_MSP_SLP
1019 bool
1020
1021config IRQ_MSP_CIC
1022 bool
1023
Atsushi Nemoto8420fd02007-08-02 23:35:53 +09001024config IRQ_TXX9
1025 bool
1026
Yoichi Yuasad5ab1a62007-09-13 23:51:26 +09001027config IRQ_GT641XX
1028 bool
1029
Ralf Baechle39b8d522008-04-28 17:14:26 +01001030config IRQ_GIC
1031 bool
1032
Yoichi Yuasa252161e2007-03-14 21:51:26 +09001033config PCI_GT64XXX_PCI0
Linus Torvalds1da177e2005-04-16 15:20:36 -07001034 bool
Linus Torvalds1da177e2005-04-16 15:20:36 -07001035
Marc St-Jean9267a302007-06-14 15:55:31 -06001036config NO_EXCEPT_FILL
1037 bool
1038
Ralf Baechlea83860c2009-03-13 21:17:57 +01001039config SOC_EMMA2RH
1040 bool
1041 select CEVT_R4K
1042 select CSRC_R4K
1043 select DMA_NONCOHERENT
1044 select IRQ_CPU
1045 select SWAP_IO_SPACE
1046 select SYS_HAS_CPU_R5500
1047 select SYS_SUPPORTS_32BIT_KERNEL
1048 select SYS_SUPPORTS_64BIT_KERNEL
1049 select SYS_SUPPORTS_BIG_ENDIAN
1050
Daniel Lairdedb63102008-06-16 15:49:21 +01001051config SOC_PNX833X
1052 bool
1053 select CEVT_R4K
1054 select CSRC_R4K
1055 select IRQ_CPU
1056 select DMA_NONCOHERENT
1057 select SYS_HAS_CPU_MIPS32_R2
1058 select SYS_SUPPORTS_32BIT_KERNEL
1059 select SYS_SUPPORTS_LITTLE_ENDIAN
1060 select SYS_SUPPORTS_BIG_ENDIAN
Daniel Lairdedb63102008-06-16 15:49:21 +01001061 select CPU_MIPSR2_IRQ_VI
1062
1063config SOC_PNX8335
1064 bool
1065 select SOC_PNX833X
1066
Linus Torvalds1da177e2005-04-16 15:20:36 -07001067config SWAP_IO_SPACE
1068 bool
1069
Thomas Bogendoerfere2defae2007-12-02 13:00:32 +01001070config SGI_HAS_INDYDOG
1071 bool
1072
Thomas Bogendoerfer5b438c42008-07-10 20:29:55 +02001073config SGI_HAS_HAL2
1074 bool
1075
Thomas Bogendoerfere2defae2007-12-02 13:00:32 +01001076config SGI_HAS_SEEQ
1077 bool
1078
1079config SGI_HAS_WD93
1080 bool
1081
1082config SGI_HAS_ZILOG
1083 bool
1084
1085config SGI_HAS_I8042
1086 bool
1087
1088config DEFAULT_SGI_PARTITION
1089 bool
1090
Ralf Baechle0e2794b2012-11-15 20:48:50 +01001091config FW_ARC32
Ralf Baechle5e83d432005-10-29 19:32:41 +01001092 bool
1093
Paul Bolleaaa9fad2013-03-25 09:39:54 +00001094config FW_SNIPROM
Thomas Bogendoerfer231a35d2008-01-04 23:31:07 +01001095 bool
1096
Linus Torvalds1da177e2005-04-16 15:20:36 -07001097config BOOT_ELF32
1098 bool
Linus Torvalds1da177e2005-04-16 15:20:36 -07001099
Florian Fainelli930beb52014-01-14 09:54:38 -08001100config MIPS_L1_CACHE_SHIFT_4
1101 bool
1102
1103config MIPS_L1_CACHE_SHIFT_5
1104 bool
1105
1106config MIPS_L1_CACHE_SHIFT_6
1107 bool
1108
1109config MIPS_L1_CACHE_SHIFT_7
1110 bool
1111
Linus Torvalds1da177e2005-04-16 15:20:36 -07001112config MIPS_L1_CACHE_SHIFT
1113 int
Florian Fainellia4c02012014-01-14 09:54:39 -08001114 default "4" if MIPS_L1_CACHE_SHIFT_4
1115 default "5" if MIPS_L1_CACHE_SHIFT_5
1116 default "6" if MIPS_L1_CACHE_SHIFT_6
1117 default "7" if MIPS_L1_CACHE_SHIFT_7
Linus Torvalds1da177e2005-04-16 15:20:36 -07001118 default "5"
1119
Linus Torvalds1da177e2005-04-16 15:20:36 -07001120config HAVE_STD_PC_SERIAL_PORT
1121 bool
1122
Linus Torvalds1da177e2005-04-16 15:20:36 -07001123config ARC_CONSOLE
1124 bool "ARC console support"
Thomas Bogendoerfere2defae2007-12-02 13:00:32 +01001125 depends on SGI_IP22 || SGI_IP28 || (SNI_RM && CPU_LITTLE_ENDIAN)
Linus Torvalds1da177e2005-04-16 15:20:36 -07001126
1127config ARC_MEMORY
1128 bool
Thomas Bogendoerfer14b36af2006-12-05 17:05:44 +01001129 depends on MACH_JAZZ || SNI_RM || SGI_IP32
Linus Torvalds1da177e2005-04-16 15:20:36 -07001130 default y
1131
1132config ARC_PROMLIB
1133 bool
Thomas Bogendoerfere2defae2007-12-02 13:00:32 +01001134 depends on MACH_JAZZ || SNI_RM || SGI_IP22 || SGI_IP28 || SGI_IP32
Linus Torvalds1da177e2005-04-16 15:20:36 -07001135 default y
1136
Ralf Baechle0e2794b2012-11-15 20:48:50 +01001137config FW_ARC64
Linus Torvalds1da177e2005-04-16 15:20:36 -07001138 bool
Linus Torvalds1da177e2005-04-16 15:20:36 -07001139
1140config BOOT_ELF64
1141 bool
Linus Torvalds1da177e2005-04-16 15:20:36 -07001142
Linus Torvalds1da177e2005-04-16 15:20:36 -07001143menu "CPU selection"
1144
1145choice
1146 prompt "CPU type"
1147 default CPU_R4X00
1148
Wu Zhangjin3702bba2009-07-02 23:27:41 +08001149config CPU_LOONGSON2E
1150 bool "Loongson 2E"
1151 depends on SYS_HAS_CPU_LOONGSON2E
1152 select CPU_LOONGSON2
Fuxin Zhang2a21c732007-06-06 14:52:43 +08001153 help
1154 The Loongson 2E processor implements the MIPS III instruction set
1155 with many extensions.
1156
Lucas De Marchi25985ed2011-03-30 22:57:33 -03001157 It has an internal FPGA northbridge, which is compatible to
Wu Zhangjin6f7a2512009-11-06 18:45:05 +08001158 bonito64.
1159
1160config CPU_LOONGSON2F
1161 bool "Loongson 2F"
1162 depends on SYS_HAS_CPU_LOONGSON2F
1163 select CPU_LOONGSON2
Arnaud Patardc197da92010-04-29 11:58:54 +02001164 select ARCH_REQUIRE_GPIOLIB
Wu Zhangjin6f7a2512009-11-06 18:45:05 +08001165 help
1166 The Loongson 2F processor implements the MIPS III instruction set
1167 with many extensions.
1168
1169 Loongson2F have built-in DDR2 and PCIX controller. The PCIX controller
1170 have a similar programming interface with FPGA northbridge used in
1171 Loongson2E.
1172
Kelvin Cheungca585cf2012-07-25 16:17:24 +02001173config CPU_LOONGSON1B
1174 bool "Loongson 1B"
1175 depends on SYS_HAS_CPU_LOONGSON1B
1176 select CPU_LOONGSON1
1177 help
1178 The Loongson 1B is a 32-bit SoC, which implements the MIPS32
1179 release 2 instruction set.
1180
Ralf Baechle6e760c82005-07-06 12:08:11 +00001181config CPU_MIPS32_R1
1182 bool "MIPS32 Release 1"
Ralf Baechle7cf80532005-10-20 22:33:09 +01001183 depends on SYS_HAS_CPU_MIPS32_R1
Ralf Baechle6e760c82005-07-06 12:08:11 +00001184 select CPU_HAS_PREFETCH
Ralf Baechle797798c2005-08-10 15:17:11 +00001185 select CPU_SUPPORTS_32BIT_KERNEL
Ralf Baechleec28f302006-03-05 00:45:33 +00001186 select CPU_SUPPORTS_HIGHMEM
Ralf Baechle6e760c82005-07-06 12:08:11 +00001187 help
Ralf Baechle5e83d432005-10-29 19:32:41 +01001188 Choose this option to build a kernel for release 1 or later of the
Ralf Baechle1e5f1ca2005-07-12 14:51:22 +00001189 MIPS32 architecture. Most modern embedded systems with a 32-bit
1190 MIPS processor are based on a MIPS32 processor. If you know the
1191 specific type of processor in your system, choose those that one
1192 otherwise CPU_MIPS32_R1 is a safe bet for any MIPS32 system.
1193 Release 2 of the MIPS32 architecture is available since several
1194 years so chances are you even have a MIPS32 Release 2 processor
1195 in which case you should choose CPU_MIPS32_R2 instead for better
1196 performance.
1197
1198config CPU_MIPS32_R2
1199 bool "MIPS32 Release 2"
Ralf Baechle7cf80532005-10-20 22:33:09 +01001200 depends on SYS_HAS_CPU_MIPS32_R2
Ralf Baechle1e5f1ca2005-07-12 14:51:22 +00001201 select CPU_HAS_PREFETCH
Ralf Baechle797798c2005-08-10 15:17:11 +00001202 select CPU_SUPPORTS_32BIT_KERNEL
Ralf Baechleec28f302006-03-05 00:45:33 +00001203 select CPU_SUPPORTS_HIGHMEM
Sanjay Lal2235a542012-11-21 18:33:59 -08001204 select HAVE_KVM
Ralf Baechle1e5f1ca2005-07-12 14:51:22 +00001205 help
Ralf Baechle5e83d432005-10-29 19:32:41 +01001206 Choose this option to build a kernel for release 2 or later of the
Ralf Baechle6e760c82005-07-06 12:08:11 +00001207 MIPS32 architecture. Most modern embedded systems with a 32-bit
1208 MIPS processor are based on a MIPS32 processor. If you know the
1209 specific type of processor in your system, choose those that one
1210 otherwise CPU_MIPS32_R1 is a safe bet for any MIPS32 system.
Linus Torvalds1da177e2005-04-16 15:20:36 -07001211
Ralf Baechle6e760c82005-07-06 12:08:11 +00001212config CPU_MIPS64_R1
1213 bool "MIPS64 Release 1"
Ralf Baechle7cf80532005-10-20 22:33:09 +01001214 depends on SYS_HAS_CPU_MIPS64_R1
Ralf Baechle797798c2005-08-10 15:17:11 +00001215 select CPU_HAS_PREFETCH
Yoichi Yuasaed5ba2f2005-09-03 15:56:21 -07001216 select CPU_SUPPORTS_32BIT_KERNEL
1217 select CPU_SUPPORTS_64BIT_KERNEL
Ralf Baechleec28f302006-03-05 00:45:33 +00001218 select CPU_SUPPORTS_HIGHMEM
David Daney9cffd152009-05-27 17:47:46 -07001219 select CPU_SUPPORTS_HUGEPAGES
Ralf Baechle6e760c82005-07-06 12:08:11 +00001220 help
1221 Choose this option to build a kernel for release 1 or later of the
1222 MIPS64 architecture. Many modern embedded systems with a 64-bit
1223 MIPS processor are based on a MIPS64 processor. If you know the
1224 specific type of processor in your system, choose those that one
1225 otherwise CPU_MIPS64_R1 is a safe bet for any MIPS64 system.
Ralf Baechle1e5f1ca2005-07-12 14:51:22 +00001226 Release 2 of the MIPS64 architecture is available since several
1227 years so chances are you even have a MIPS64 Release 2 processor
1228 in which case you should choose CPU_MIPS64_R2 instead for better
1229 performance.
1230
1231config CPU_MIPS64_R2
1232 bool "MIPS64 Release 2"
Ralf Baechle7cf80532005-10-20 22:33:09 +01001233 depends on SYS_HAS_CPU_MIPS64_R2
Ralf Baechle797798c2005-08-10 15:17:11 +00001234 select CPU_HAS_PREFETCH
Ralf Baechle1e5f1ca2005-07-12 14:51:22 +00001235 select CPU_SUPPORTS_32BIT_KERNEL
1236 select CPU_SUPPORTS_64BIT_KERNEL
Ralf Baechleec28f302006-03-05 00:45:33 +00001237 select CPU_SUPPORTS_HIGHMEM
David Daney9cffd152009-05-27 17:47:46 -07001238 select CPU_SUPPORTS_HUGEPAGES
Ralf Baechle1e5f1ca2005-07-12 14:51:22 +00001239 help
1240 Choose this option to build a kernel for release 2 or later of the
1241 MIPS64 architecture. Many modern embedded systems with a 64-bit
1242 MIPS processor are based on a MIPS64 processor. If you know the
1243 specific type of processor in your system, choose those that one
1244 otherwise CPU_MIPS64_R1 is a safe bet for any MIPS64 system.
Linus Torvalds1da177e2005-04-16 15:20:36 -07001245
1246config CPU_R3000
1247 bool "R3000"
Ralf Baechle7cf80532005-10-20 22:33:09 +01001248 depends on SYS_HAS_CPU_R3000
Ralf Baechlef7062dd2006-04-24 14:58:53 +01001249 select CPU_HAS_WB
Yoichi Yuasaed5ba2f2005-09-03 15:56:21 -07001250 select CPU_SUPPORTS_32BIT_KERNEL
Ralf Baechle797798c2005-08-10 15:17:11 +00001251 select CPU_SUPPORTS_HIGHMEM
Linus Torvalds1da177e2005-04-16 15:20:36 -07001252 help
1253 Please make sure to pick the right CPU type. Linux/MIPS is not
1254 designed to be generic, i.e. Kernels compiled for R3000 CPUs will
1255 *not* work on R4000 machines and vice versa. However, since most
1256 of the supported machines have an R4000 (or similar) CPU, R4x00
1257 might be a safe bet. If the resulting kernel does not work,
1258 try to recompile with R3000.
1259
1260config CPU_TX39XX
1261 bool "R39XX"
Ralf Baechle7cf80532005-10-20 22:33:09 +01001262 depends on SYS_HAS_CPU_TX39XX
Yoichi Yuasaed5ba2f2005-09-03 15:56:21 -07001263 select CPU_SUPPORTS_32BIT_KERNEL
Linus Torvalds1da177e2005-04-16 15:20:36 -07001264
1265config CPU_VR41XX
1266 bool "R41xx"
Ralf Baechle7cf80532005-10-20 22:33:09 +01001267 depends on SYS_HAS_CPU_VR41XX
Yoichi Yuasaed5ba2f2005-09-03 15:56:21 -07001268 select CPU_SUPPORTS_32BIT_KERNEL
1269 select CPU_SUPPORTS_64BIT_KERNEL
Linus Torvalds1da177e2005-04-16 15:20:36 -07001270 help
Ralf Baechle5e83d432005-10-29 19:32:41 +01001271 The options selects support for the NEC VR4100 series of processors.
Linus Torvalds1da177e2005-04-16 15:20:36 -07001272 Only choose this option if you have one of these processors as a
1273 kernel built with this option will not run on any other type of
1274 processor or vice versa.
1275
1276config CPU_R4300
1277 bool "R4300"
Ralf Baechle7cf80532005-10-20 22:33:09 +01001278 depends on SYS_HAS_CPU_R4300
Yoichi Yuasaed5ba2f2005-09-03 15:56:21 -07001279 select CPU_SUPPORTS_32BIT_KERNEL
1280 select CPU_SUPPORTS_64BIT_KERNEL
Linus Torvalds1da177e2005-04-16 15:20:36 -07001281 help
1282 MIPS Technologies R4300-series processors.
1283
1284config CPU_R4X00
1285 bool "R4x00"
Ralf Baechle7cf80532005-10-20 22:33:09 +01001286 depends on SYS_HAS_CPU_R4X00
Yoichi Yuasaed5ba2f2005-09-03 15:56:21 -07001287 select CPU_SUPPORTS_32BIT_KERNEL
1288 select CPU_SUPPORTS_64BIT_KERNEL
Ralf Baechle970d0322012-10-18 13:54:15 +02001289 select CPU_SUPPORTS_HUGEPAGES
Linus Torvalds1da177e2005-04-16 15:20:36 -07001290 help
1291 MIPS Technologies R4000-series processors other than 4300, including
1292 the R4000, R4400, R4600, and 4700.
1293
1294config CPU_TX49XX
1295 bool "R49XX"
Ralf Baechle7cf80532005-10-20 22:33:09 +01001296 depends on SYS_HAS_CPU_TX49XX
Atsushi Nemotode862b42006-03-17 12:59:22 +09001297 select CPU_HAS_PREFETCH
Yoichi Yuasaed5ba2f2005-09-03 15:56:21 -07001298 select CPU_SUPPORTS_32BIT_KERNEL
1299 select CPU_SUPPORTS_64BIT_KERNEL
Ralf Baechle970d0322012-10-18 13:54:15 +02001300 select CPU_SUPPORTS_HUGEPAGES
Linus Torvalds1da177e2005-04-16 15:20:36 -07001301
1302config CPU_R5000
1303 bool "R5000"
Ralf Baechle7cf80532005-10-20 22:33:09 +01001304 depends on SYS_HAS_CPU_R5000
Yoichi Yuasaed5ba2f2005-09-03 15:56:21 -07001305 select CPU_SUPPORTS_32BIT_KERNEL
1306 select CPU_SUPPORTS_64BIT_KERNEL
Ralf Baechle970d0322012-10-18 13:54:15 +02001307 select CPU_SUPPORTS_HUGEPAGES
Linus Torvalds1da177e2005-04-16 15:20:36 -07001308 help
1309 MIPS Technologies R5000-series processors other than the Nevada.
1310
1311config CPU_R5432
1312 bool "R5432"
Ralf Baechle7cf80532005-10-20 22:33:09 +01001313 depends on SYS_HAS_CPU_R5432
Ralf Baechle5e83d432005-10-29 19:32:41 +01001314 select CPU_SUPPORTS_32BIT_KERNEL
1315 select CPU_SUPPORTS_64BIT_KERNEL
Ralf Baechle970d0322012-10-18 13:54:15 +02001316 select CPU_SUPPORTS_HUGEPAGES
Linus Torvalds1da177e2005-04-16 15:20:36 -07001317
Shinya Kuribayashi542c1022008-10-24 01:27:57 +09001318config CPU_R5500
1319 bool "R5500"
1320 depends on SYS_HAS_CPU_R5500
Shinya Kuribayashi542c1022008-10-24 01:27:57 +09001321 select CPU_SUPPORTS_32BIT_KERNEL
1322 select CPU_SUPPORTS_64BIT_KERNEL
David Daney9cffd152009-05-27 17:47:46 -07001323 select CPU_SUPPORTS_HUGEPAGES
Shinya Kuribayashi542c1022008-10-24 01:27:57 +09001324 help
1325 NEC VR5500 and VR5500A series processors implement 64-bit MIPS IV
1326 instruction set.
1327
Linus Torvalds1da177e2005-04-16 15:20:36 -07001328config CPU_R6000
1329 bool "R6000"
Ralf Baechle7cf80532005-10-20 22:33:09 +01001330 depends on SYS_HAS_CPU_R6000
Yoichi Yuasaed5ba2f2005-09-03 15:56:21 -07001331 select CPU_SUPPORTS_32BIT_KERNEL
Linus Torvalds1da177e2005-04-16 15:20:36 -07001332 help
1333 MIPS Technologies R6000 and R6000A series processors. Note these
Chris Dearmanc09b47d2006-06-20 17:15:20 +01001334 processors are extremely rare and the support for them is incomplete.
Linus Torvalds1da177e2005-04-16 15:20:36 -07001335
1336config CPU_NEVADA
1337 bool "RM52xx"
Ralf Baechle7cf80532005-10-20 22:33:09 +01001338 depends on SYS_HAS_CPU_NEVADA
Yoichi Yuasaed5ba2f2005-09-03 15:56:21 -07001339 select CPU_SUPPORTS_32BIT_KERNEL
1340 select CPU_SUPPORTS_64BIT_KERNEL
Ralf Baechle970d0322012-10-18 13:54:15 +02001341 select CPU_SUPPORTS_HUGEPAGES
Linus Torvalds1da177e2005-04-16 15:20:36 -07001342 help
1343 QED / PMC-Sierra RM52xx-series ("Nevada") processors.
1344
1345config CPU_R8000
1346 bool "R8000"
Ralf Baechle7cf80532005-10-20 22:33:09 +01001347 depends on SYS_HAS_CPU_R8000
Ralf Baechle5e83d432005-10-29 19:32:41 +01001348 select CPU_HAS_PREFETCH
Yoichi Yuasaed5ba2f2005-09-03 15:56:21 -07001349 select CPU_SUPPORTS_64BIT_KERNEL
Linus Torvalds1da177e2005-04-16 15:20:36 -07001350 help
1351 MIPS Technologies R8000 processors. Note these processors are
1352 uncommon and the support for them is incomplete.
1353
1354config CPU_R10000
1355 bool "R10000"
Ralf Baechle7cf80532005-10-20 22:33:09 +01001356 depends on SYS_HAS_CPU_R10000
Ralf Baechle5e83d432005-10-29 19:32:41 +01001357 select CPU_HAS_PREFETCH
Yoichi Yuasaed5ba2f2005-09-03 15:56:21 -07001358 select CPU_SUPPORTS_32BIT_KERNEL
1359 select CPU_SUPPORTS_64BIT_KERNEL
Ralf Baechle797798c2005-08-10 15:17:11 +00001360 select CPU_SUPPORTS_HIGHMEM
Ralf Baechle970d0322012-10-18 13:54:15 +02001361 select CPU_SUPPORTS_HUGEPAGES
Linus Torvalds1da177e2005-04-16 15:20:36 -07001362 help
1363 MIPS Technologies R10000-series processors.
1364
1365config CPU_RM7000
1366 bool "RM7000"
Ralf Baechle7cf80532005-10-20 22:33:09 +01001367 depends on SYS_HAS_CPU_RM7000
Ralf Baechle5e83d432005-10-29 19:32:41 +01001368 select CPU_HAS_PREFETCH
Yoichi Yuasaed5ba2f2005-09-03 15:56:21 -07001369 select CPU_SUPPORTS_32BIT_KERNEL
1370 select CPU_SUPPORTS_64BIT_KERNEL
Ralf Baechle797798c2005-08-10 15:17:11 +00001371 select CPU_SUPPORTS_HIGHMEM
Ralf Baechle970d0322012-10-18 13:54:15 +02001372 select CPU_SUPPORTS_HUGEPAGES
Linus Torvalds1da177e2005-04-16 15:20:36 -07001373
1374config CPU_SB1
1375 bool "SB1"
Ralf Baechle7cf80532005-10-20 22:33:09 +01001376 depends on SYS_HAS_CPU_SB1
Yoichi Yuasaed5ba2f2005-09-03 15:56:21 -07001377 select CPU_SUPPORTS_32BIT_KERNEL
1378 select CPU_SUPPORTS_64BIT_KERNEL
Ralf Baechle797798c2005-08-10 15:17:11 +00001379 select CPU_SUPPORTS_HIGHMEM
Ralf Baechle970d0322012-10-18 13:54:15 +02001380 select CPU_SUPPORTS_HUGEPAGES
Ralf Baechle0004a9d2006-10-31 03:45:07 +00001381 select WEAK_ORDERING
Linus Torvalds1da177e2005-04-16 15:20:36 -07001382
David Daneya86c7f72008-12-11 15:33:38 -08001383config CPU_CAVIUM_OCTEON
1384 bool "Cavium Octeon processor"
David Daney5e683382009-02-02 11:30:59 -08001385 depends on SYS_HAS_CPU_CAVIUM_OCTEON
Yoichi Yuasa7ee91de2012-07-19 09:11:15 +02001386 select ARCH_SPARSEMEM_ENABLE
David Daneya86c7f72008-12-11 15:33:38 -08001387 select CPU_HAS_PREFETCH
1388 select CPU_SUPPORTS_64BIT_KERNEL
1389 select SYS_SUPPORTS_SMP
1390 select NR_CPUS_DEFAULT_16
1391 select WEAK_ORDERING
David Daneya86c7f72008-12-11 15:33:38 -08001392 select CPU_SUPPORTS_HIGHMEM
David Daney9cffd152009-05-27 17:47:46 -07001393 select CPU_SUPPORTS_HUGEPAGES
David Daney7ed18152012-07-05 18:12:38 +02001394 select LIBFDT
1395 select USE_OF
Florian Fainelli9296d942013-04-09 14:29:26 +02001396 select USB_EHCI_BIG_ENDIAN_MMIO
Florian Fainelli930beb52014-01-14 09:54:38 -08001397 select SYS_HAS_DMA_OPS
1398 select MIPS_L1_CACHE_SHIFT_7
David Daneya86c7f72008-12-11 15:33:38 -08001399 help
1400 The Cavium Octeon processor is a highly integrated chip containing
1401 many ethernet hardware widgets for networking tasks. The processor
1402 can have up to 16 Mips64v2 cores and 8 integrated gigabit ethernets.
1403 Full details can be found at http://www.caviumnetworks.com.
1404
Jonas Gorskicd746242013-12-18 14:12:02 +01001405config CPU_BMIPS
1406 bool "Broadcom BMIPS"
1407 depends on SYS_HAS_CPU_BMIPS
1408 select CPU_MIPS32
Jonas Gorskife7f62c2013-12-18 14:12:05 +01001409 select CPU_BMIPS32_3300 if SYS_HAS_CPU_BMIPS32_3300
Jonas Gorskicd746242013-12-18 14:12:02 +01001410 select CPU_BMIPS4350 if SYS_HAS_CPU_BMIPS4350
1411 select CPU_BMIPS4380 if SYS_HAS_CPU_BMIPS4380
1412 select CPU_BMIPS5000 if SYS_HAS_CPU_BMIPS5000
1413 select CPU_SUPPORTS_32BIT_KERNEL
1414 select DMA_NONCOHERENT
1415 select IRQ_CPU
1416 select SWAP_IO_SPACE
1417 select WEAK_ORDERING
Jonas Gorski56183542013-12-18 14:12:03 +01001418 select CPU_SUPPORTS_HIGHMEM
Jonas Gorski69aaf9c2013-12-18 14:12:04 +01001419 select CPU_HAS_PREFETCH
Kevin Cernekeec1c0c462010-10-17 10:56:53 -07001420 help
Jonas Gorskife7f62c2013-12-18 14:12:05 +01001421 Support for BMIPS32/3300/4350/4380 and BMIPS5000 processors.
Kevin Cernekeec1c0c462010-10-17 10:56:53 -07001422
Jayachandran C7f058e82011-05-07 01:36:57 +05301423config CPU_XLR
1424 bool "Netlogic XLR SoC"
1425 depends on SYS_HAS_CPU_XLR
1426 select CPU_SUPPORTS_32BIT_KERNEL
1427 select CPU_SUPPORTS_64BIT_KERNEL
1428 select CPU_SUPPORTS_HIGHMEM
Ralf Baechle970d0322012-10-18 13:54:15 +02001429 select CPU_SUPPORTS_HUGEPAGES
Jayachandran C7f058e82011-05-07 01:36:57 +05301430 select WEAK_ORDERING
1431 select WEAK_REORDERING_BEYOND_LLSC
Jayachandran C7f058e82011-05-07 01:36:57 +05301432 help
1433 Netlogic Microsystems XLR/XLS processors.
Jayachandran C1c773ea2011-11-16 00:21:28 +00001434
1435config CPU_XLP
1436 bool "Netlogic XLP SoC"
1437 depends on SYS_HAS_CPU_XLP
1438 select CPU_SUPPORTS_32BIT_KERNEL
1439 select CPU_SUPPORTS_64BIT_KERNEL
1440 select CPU_SUPPORTS_HIGHMEM
Jayachandran C1c773ea2011-11-16 00:21:28 +00001441 select WEAK_ORDERING
1442 select WEAK_REORDERING_BEYOND_LLSC
1443 select CPU_HAS_PREFETCH
Jayachandran Cd6504842012-10-31 12:01:29 +00001444 select CPU_MIPSR2
Jayachandran C1c773ea2011-11-16 00:21:28 +00001445 help
1446 Netlogic Microsystems XLP processors.
Linus Torvalds1da177e2005-04-16 15:20:36 -07001447endchoice
1448
Wu Zhangjin622844b2010-04-10 20:04:42 +08001449if CPU_LOONGSON2F
1450config CPU_NOP_WORKAROUNDS
1451 bool
1452
1453config CPU_JUMP_WORKAROUNDS
1454 bool
1455
1456config CPU_LOONGSON2F_WORKAROUNDS
1457 bool "Loongson 2F Workarounds"
1458 default y
1459 select CPU_NOP_WORKAROUNDS
1460 select CPU_JUMP_WORKAROUNDS
1461 help
1462 Loongson 2F01 / 2F02 processors have the NOP & JUMP issues which
1463 require workarounds. Without workarounds the system may hang
1464 unexpectedly. For more information please refer to the gas
1465 -mfix-loongson2f-nop and -mfix-loongson2f-jump options.
1466
1467 Loongson 2F03 and later have fixed these issues and no workarounds
1468 are needed. The workarounds have no significant side effect on them
1469 but may decrease the performance of the system so this option should
1470 be disabled unless the kernel is intended to be run on 2F01 or 2F02
1471 systems.
1472
1473 If unsure, please say Y.
1474endif # CPU_LOONGSON2F
1475
Wu Zhangjin1b93b3c2009-10-14 18:12:16 +08001476config SYS_SUPPORTS_ZBOOT
1477 bool
1478 select HAVE_KERNEL_GZIP
1479 select HAVE_KERNEL_BZIP2
Florian Fainelli31c48672013-09-16 16:55:20 +01001480 select HAVE_KERNEL_LZ4
Wu Zhangjin1b93b3c2009-10-14 18:12:16 +08001481 select HAVE_KERNEL_LZMA
Wu Zhangjinfe1d45e2010-01-15 20:34:46 +08001482 select HAVE_KERNEL_LZO
Florian Fainelli4e23eb62013-09-11 11:51:41 +01001483 select HAVE_KERNEL_XZ
Wu Zhangjin1b93b3c2009-10-14 18:12:16 +08001484
1485config SYS_SUPPORTS_ZBOOT_UART16550
1486 bool
1487 select SYS_SUPPORTS_ZBOOT
1488
Wu Zhangjin3702bba2009-07-02 23:27:41 +08001489config CPU_LOONGSON2
1490 bool
1491 select CPU_SUPPORTS_32BIT_KERNEL
1492 select CPU_SUPPORTS_64BIT_KERNEL
1493 select CPU_SUPPORTS_HIGHMEM
Ralf Baechle970d0322012-10-18 13:54:15 +02001494 select CPU_SUPPORTS_HUGEPAGES
Wu Zhangjin3702bba2009-07-02 23:27:41 +08001495
Kelvin Cheungca585cf2012-07-25 16:17:24 +02001496config CPU_LOONGSON1
1497 bool
1498 select CPU_MIPS32
1499 select CPU_MIPSR2
1500 select CPU_HAS_PREFETCH
1501 select CPU_SUPPORTS_32BIT_KERNEL
1502 select CPU_SUPPORTS_HIGHMEM
1503
Jonas Gorskife7f62c2013-12-18 14:12:05 +01001504config CPU_BMIPS32_3300
Jonas Gorski04fa8bf2013-12-18 14:12:06 +01001505 select SMP_UP if SMP
Kevin Cernekee1bbb6c12011-11-10 22:30:24 -08001506 bool
Jonas Gorskicd746242013-12-18 14:12:02 +01001507
1508config CPU_BMIPS4350
1509 bool
1510 select SYS_SUPPORTS_SMP
1511 select SYS_SUPPORTS_HOTPLUG_CPU
1512
1513config CPU_BMIPS4380
1514 bool
1515 select SYS_SUPPORTS_SMP
1516 select SYS_SUPPORTS_HOTPLUG_CPU
1517
1518config CPU_BMIPS5000
1519 bool
Jonas Gorskicd746242013-12-18 14:12:02 +01001520 select MIPS_CPU_SCACHE
1521 select SYS_SUPPORTS_SMP
1522 select SYS_SUPPORTS_HOTPLUG_CPU
Kevin Cernekee1bbb6c12011-11-10 22:30:24 -08001523
Wu Zhangjin3702bba2009-07-02 23:27:41 +08001524config SYS_HAS_CPU_LOONGSON2E
Fuxin Zhang2a21c732007-06-06 14:52:43 +08001525 bool
1526
Wu Zhangjin6f7a2512009-11-06 18:45:05 +08001527config SYS_HAS_CPU_LOONGSON2F
1528 bool
Wu Zhangjin55045ff2009-11-11 13:39:12 +08001529 select CPU_SUPPORTS_CPUFREQ
1530 select CPU_SUPPORTS_ADDRWINCFG if 64BIT
Wu Zhangjin22f1fdf2009-11-11 13:59:23 +08001531 select CPU_SUPPORTS_UNCACHED_ACCELERATED
Wu Zhangjin6f7a2512009-11-06 18:45:05 +08001532
Kelvin Cheungca585cf2012-07-25 16:17:24 +02001533config SYS_HAS_CPU_LOONGSON1B
1534 bool
1535
Ralf Baechle7cf80532005-10-20 22:33:09 +01001536config SYS_HAS_CPU_MIPS32_R1
1537 bool
1538
1539config SYS_HAS_CPU_MIPS32_R2
1540 bool
1541
1542config SYS_HAS_CPU_MIPS64_R1
1543 bool
1544
1545config SYS_HAS_CPU_MIPS64_R2
1546 bool
1547
1548config SYS_HAS_CPU_R3000
1549 bool
1550
1551config SYS_HAS_CPU_TX39XX
1552 bool
1553
1554config SYS_HAS_CPU_VR41XX
1555 bool
1556
1557config SYS_HAS_CPU_R4300
1558 bool
1559
1560config SYS_HAS_CPU_R4X00
1561 bool
1562
1563config SYS_HAS_CPU_TX49XX
1564 bool
1565
1566config SYS_HAS_CPU_R5000
1567 bool
1568
1569config SYS_HAS_CPU_R5432
1570 bool
1571
Shinya Kuribayashi542c1022008-10-24 01:27:57 +09001572config SYS_HAS_CPU_R5500
1573 bool
1574
Ralf Baechle7cf80532005-10-20 22:33:09 +01001575config SYS_HAS_CPU_R6000
1576 bool
1577
1578config SYS_HAS_CPU_NEVADA
1579 bool
1580
1581config SYS_HAS_CPU_R8000
1582 bool
1583
1584config SYS_HAS_CPU_R10000
1585 bool
1586
1587config SYS_HAS_CPU_RM7000
1588 bool
1589
Ralf Baechle7cf80532005-10-20 22:33:09 +01001590config SYS_HAS_CPU_SB1
1591 bool
1592
David Daney5e683382009-02-02 11:30:59 -08001593config SYS_HAS_CPU_CAVIUM_OCTEON
1594 bool
1595
Jonas Gorskicd746242013-12-18 14:12:02 +01001596config SYS_HAS_CPU_BMIPS
1597 bool
1598
Jonas Gorskife7f62c2013-12-18 14:12:05 +01001599config SYS_HAS_CPU_BMIPS32_3300
Kevin Cernekeec1c0c462010-10-17 10:56:53 -07001600 bool
Jonas Gorskicd746242013-12-18 14:12:02 +01001601 select SYS_HAS_CPU_BMIPS
Kevin Cernekeec1c0c462010-10-17 10:56:53 -07001602
1603config SYS_HAS_CPU_BMIPS4350
1604 bool
Jonas Gorskicd746242013-12-18 14:12:02 +01001605 select SYS_HAS_CPU_BMIPS
Kevin Cernekeec1c0c462010-10-17 10:56:53 -07001606
1607config SYS_HAS_CPU_BMIPS4380
1608 bool
Jonas Gorskicd746242013-12-18 14:12:02 +01001609 select SYS_HAS_CPU_BMIPS
Kevin Cernekeec1c0c462010-10-17 10:56:53 -07001610
1611config SYS_HAS_CPU_BMIPS5000
1612 bool
Jonas Gorskicd746242013-12-18 14:12:02 +01001613 select SYS_HAS_CPU_BMIPS
Kevin Cernekeec1c0c462010-10-17 10:56:53 -07001614
Jayachandran C7f058e82011-05-07 01:36:57 +05301615config SYS_HAS_CPU_XLR
1616 bool
1617
Jayachandran C1c773ea2011-11-16 00:21:28 +00001618config SYS_HAS_CPU_XLP
1619 bool
1620
Ralf Baechle17099b12007-07-14 13:24:05 +01001621#
1622# CPU may reorder R->R, R->W, W->R, W->W
1623# Reordering beyond LL and SC is handled in WEAK_REORDERING_BEYOND_LLSC
1624#
Ralf Baechle0004a9d2006-10-31 03:45:07 +00001625config WEAK_ORDERING
1626 bool
Ralf Baechle17099b12007-07-14 13:24:05 +01001627
1628#
1629# CPU may reorder reads and writes beyond LL/SC
1630# CPU may reorder R->LL, R->LL, W->LL, W->LL, R->SC, R->SC, W->SC, W->SC
1631#
1632config WEAK_REORDERING_BEYOND_LLSC
1633 bool
Ralf Baechle5e83d432005-10-29 19:32:41 +01001634endmenu
1635
1636#
Chris Dearmanc09b47d2006-06-20 17:15:20 +01001637# These two indicate any level of the MIPS32 and MIPS64 architecture
Ralf Baechle5e83d432005-10-29 19:32:41 +01001638#
1639config CPU_MIPS32
1640 bool
1641 default y if CPU_MIPS32_R1 || CPU_MIPS32_R2
1642
1643config CPU_MIPS64
1644 bool
1645 default y if CPU_MIPS64_R1 || CPU_MIPS64_R2
1646
1647#
Chris Dearmanc09b47d2006-06-20 17:15:20 +01001648# These two indicate the revision of the architecture, either Release 1 or Release 2
Ralf Baechle5e83d432005-10-29 19:32:41 +01001649#
1650config CPU_MIPSR1
1651 bool
1652 default y if CPU_MIPS32_R1 || CPU_MIPS64_R1
1653
1654config CPU_MIPSR2
1655 bool
David Daneya86c7f72008-12-11 15:33:38 -08001656 default y if CPU_MIPS32_R2 || CPU_MIPS64_R2 || CPU_CAVIUM_OCTEON
Ralf Baechle5e83d432005-10-29 19:32:41 +01001657
1658config SYS_SUPPORTS_32BIT_KERNEL
1659 bool
1660config SYS_SUPPORTS_64BIT_KERNEL
1661 bool
1662config CPU_SUPPORTS_32BIT_KERNEL
1663 bool
1664config CPU_SUPPORTS_64BIT_KERNEL
1665 bool
Wu Zhangjin55045ff2009-11-11 13:39:12 +08001666config CPU_SUPPORTS_CPUFREQ
1667 bool
1668config CPU_SUPPORTS_ADDRWINCFG
1669 bool
David Daney9cffd152009-05-27 17:47:46 -07001670config CPU_SUPPORTS_HUGEPAGES
1671 bool
Wu Zhangjin22f1fdf2009-11-11 13:59:23 +08001672config CPU_SUPPORTS_UNCACHED_ACCELERATED
1673 bool
David Daney826222842009-10-14 12:16:56 -07001674config MIPS_PGD_C0_CONTEXT
1675 bool
Jayachandran Cd6504842012-10-31 12:01:29 +00001676 default y if 64BIT && CPU_MIPSR2 && !CPU_XLP
Ralf Baechle5e83d432005-10-29 19:32:41 +01001677
David Daney8192c9e2008-09-23 00:04:26 -07001678#
1679# Set to y for ptrace access to watch registers.
1680#
1681config HARDWARE_WATCHPOINTS
1682 bool
David Daneyf8394902009-01-05 15:29:14 -08001683 default y if CPU_MIPSR1 || CPU_MIPSR2
David Daney8192c9e2008-09-23 00:04:26 -07001684
Ralf Baechle5e83d432005-10-29 19:32:41 +01001685menu "Kernel type"
1686
1687choice
Ralf Baechle5e83d432005-10-29 19:32:41 +01001688 prompt "Kernel code model"
1689 help
1690 You should only select this option if you have a workload that
1691 actually benefits from 64-bit processing or if your machine has
1692 large memory. You will only be presented a single option in this
1693 menu if your system does not support both 32-bit and 64-bit kernels.
1694
1695config 32BIT
1696 bool "32-bit kernel"
1697 depends on CPU_SUPPORTS_32BIT_KERNEL && SYS_SUPPORTS_32BIT_KERNEL
1698 select TRAD_SIGNALS
1699 help
1700 Select this option if you want to build a 32-bit kernel.
1701config 64BIT
1702 bool "64-bit kernel"
1703 depends on CPU_SUPPORTS_64BIT_KERNEL && SYS_SUPPORTS_64BIT_KERNEL
1704 help
1705 Select this option if you want to build a 64-bit kernel.
1706
1707endchoice
1708
Sanjay Lal2235a542012-11-21 18:33:59 -08001709config KVM_GUEST
1710 bool "KVM Guest Kernel"
James Hoganf2a5b1d2013-07-12 10:26:11 +00001711 depends on BROKEN_ON_SMP
Sanjay Lal2235a542012-11-21 18:33:59 -08001712 help
1713 Select this option if building a guest kernel for KVM (Trap & Emulate) mode
1714
1715config KVM_HOST_FREQ
1716 int "KVM Host Processor Frequency (MHz)"
1717 depends on KVM_GUEST
1718 default 500
1719 help
1720 Select this option if building a guest kernel for KVM to skip
1721 RTC emulation when determining guest CPU Frequency. Instead, the guest
1722 processor frequency is automatically derived from the host frequency.
1723
Linus Torvalds1da177e2005-04-16 15:20:36 -07001724choice
1725 prompt "Kernel page size"
1726 default PAGE_SIZE_4KB
1727
1728config PAGE_SIZE_4KB
1729 bool "4kB"
Wu Zhangjin315fe622009-12-01 14:55:25 +08001730 depends on !CPU_LOONGSON2
Linus Torvalds1da177e2005-04-16 15:20:36 -07001731 help
1732 This option select the standard 4kB Linux page size. On some
1733 R3000-family processors this is the only available page size. Using
1734 4kB page size will minimize memory consumption and is therefore
1735 recommended for low memory systems.
1736
1737config PAGE_SIZE_8KB
1738 bool "8kB"
Kees Cook7d607172013-01-16 18:53:19 -08001739 depends on CPU_R8000 || CPU_CAVIUM_OCTEON
Linus Torvalds1da177e2005-04-16 15:20:36 -07001740 help
1741 Using 8kB page size will result in higher performance kernel at
1742 the price of higher memory consumption. This option is available
Ralf Baechlec52399b2009-04-02 14:07:10 +02001743 only on R8000 and cnMIPS processors. Note that you will need a
1744 suitable Linux distribution to support this.
Linus Torvalds1da177e2005-04-16 15:20:36 -07001745
1746config PAGE_SIZE_16KB
1747 bool "16kB"
Ralf Baechle714bfad2006-05-17 14:04:30 +01001748 depends on !CPU_R3000 && !CPU_TX39XX
Linus Torvalds1da177e2005-04-16 15:20:36 -07001749 help
1750 Using 16kB page size will result in higher performance kernel at
1751 the price of higher memory consumption. This option is available on
Ralf Baechle714bfad2006-05-17 14:04:30 +01001752 all non-R3000 family processors. Note that you will need a suitable
1753 Linux distribution to support this.
Linus Torvalds1da177e2005-04-16 15:20:36 -07001754
Ralf Baechlec52399b2009-04-02 14:07:10 +02001755config PAGE_SIZE_32KB
1756 bool "32kB"
1757 depends on CPU_CAVIUM_OCTEON
1758 help
1759 Using 32kB page size will result in higher performance kernel at
1760 the price of higher memory consumption. This option is available
1761 only on cnMIPS cores. Note that you will need a suitable Linux
1762 distribution to support this.
1763
Linus Torvalds1da177e2005-04-16 15:20:36 -07001764config PAGE_SIZE_64KB
1765 bool "64kB"
Kees Cook7d607172013-01-16 18:53:19 -08001766 depends on !CPU_R3000 && !CPU_TX39XX
Linus Torvalds1da177e2005-04-16 15:20:36 -07001767 help
1768 Using 64kB page size will result in higher performance kernel at
1769 the price of higher memory consumption. This option is available on
1770 all non-R3000 family processor. Not that at the time of this
Ralf Baechle714bfad2006-05-17 14:04:30 +01001771 writing this option is still high experimental.
Linus Torvalds1da177e2005-04-16 15:20:36 -07001772
1773endchoice
1774
David Daneyc9bace72010-10-11 14:52:45 -07001775config FORCE_MAX_ZONEORDER
1776 int "Maximum zone order"
David Daney85f993b2012-05-04 11:09:35 -07001777 range 14 64 if HUGETLB_PAGE && PAGE_SIZE_64KB
1778 default "14" if HUGETLB_PAGE && PAGE_SIZE_64KB
1779 range 13 64 if HUGETLB_PAGE && PAGE_SIZE_32KB
1780 default "13" if HUGETLB_PAGE && PAGE_SIZE_32KB
1781 range 12 64 if HUGETLB_PAGE && PAGE_SIZE_16KB
1782 default "12" if HUGETLB_PAGE && PAGE_SIZE_16KB
David Daneyc9bace72010-10-11 14:52:45 -07001783 range 11 64
1784 default "11"
1785 help
1786 The kernel memory allocator divides physically contiguous memory
1787 blocks into "zones", where each zone is a power of two number of
1788 pages. This option selects the largest power of two that the kernel
1789 keeps in the memory allocator. If you need to allocate very large
1790 blocks of physically contiguous memory, then you may need to
1791 increase this value.
1792
1793 This config option is actually maximum order plus one. For example,
1794 a value of 11 means that the largest free memory block is 2^10 pages.
1795
1796 The page size is not necessarily 4KB. Keep this in mind
1797 when choosing a value for this option.
1798
Raghu Gandham0ab2b7d2013-04-10 16:30:12 -05001799config CEVT_GIC
1800 bool "Use GIC global counter for clock events"
1801 depends on IRQ_GIC && !(MIPS_SEAD3 || MIPS_MT_SMTC)
1802 help
1803 Use the GIC global counter for the clock events. The R4K clock
1804 event driver is always present, so if the platform ends up not
1805 detecting a GIC, it will fall back to the R4K timer for the
1806 generation of clock events.
1807
Linus Torvalds1da177e2005-04-16 15:20:36 -07001808config BOARD_SCACHE
1809 bool
1810
1811config IP22_CPU_SCACHE
1812 bool
1813 select BOARD_SCACHE
1814
Chris Dearman9318c512006-06-20 17:15:20 +01001815#
1816# Support for a MIPS32 / MIPS64 style S-caches
1817#
1818config MIPS_CPU_SCACHE
1819 bool
1820 select BOARD_SCACHE
Florian Fainelli930beb52014-01-14 09:54:38 -08001821 select MIPS_L1_CACHE_SHIFT_6
Chris Dearman9318c512006-06-20 17:15:20 +01001822
Linus Torvalds1da177e2005-04-16 15:20:36 -07001823config R5000_CPU_SCACHE
1824 bool
1825 select BOARD_SCACHE
1826
1827config RM7000_CPU_SCACHE
1828 bool
1829 select BOARD_SCACHE
1830
1831config SIBYTE_DMA_PAGEOPS
1832 bool "Use DMA to clear/copy pages"
1833 depends on CPU_SB1
1834 help
1835 Instead of using the CPU to zero and copy pages, use a Data Mover
1836 channel. These DMA channels are otherwise unused by the standard
1837 SiByte Linux port. Seems to give a small performance benefit.
1838
1839config CPU_HAS_PREFETCH
Ralf Baechlec8094b52005-08-05 14:28:54 +00001840 bool
Linus Torvalds1da177e2005-04-16 15:20:36 -07001841
Florian Fainelli3165c842012-01-31 18:18:43 +01001842config CPU_GENERIC_DUMP_TLB
1843 bool
1844 default y if !(CPU_R3000 || CPU_R6000 || CPU_R8000 || CPU_TX39XX)
1845
Florian Fainelli91405eb2012-01-31 18:18:44 +01001846config CPU_R4K_FPU
1847 bool
1848 default y if !(CPU_R3000 || CPU_R6000 || CPU_TX39XX || CPU_CAVIUM_OCTEON)
1849
Florian Fainelli62cedc42012-01-31 18:18:45 +01001850config CPU_R4K_CACHE_TLB
1851 bool
1852 default y if !(CPU_R3000 || CPU_R8000 || CPU_SB1 || CPU_TX39XX || CPU_CAVIUM_OCTEON)
1853
Ralf Baechle340ee4b2005-08-17 17:44:08 +00001854choice
1855 prompt "MIPS MT options"
Ralf Baechlef41ae0b2006-06-05 17:24:46 +01001856
1857config MIPS_MT_DISABLED
Steven J. Hillc080faa2013-10-04 16:23:28 -05001858 bool "Disable multithreading support"
Ralf Baechlef41ae0b2006-06-05 17:24:46 +01001859 help
Steven J. Hillc080faa2013-10-04 16:23:28 -05001860 Use this option if your platform does not support the MT ASE
1861 which is hardware multithreading support. On systems without
1862 an MT-enabled processor, this will be the only option that is
1863 available in this menu.
Ralf Baechle340ee4b2005-08-17 17:44:08 +00001864
Ralf Baechle59d6ab82006-10-06 17:36:20 +01001865config MIPS_MT_SMP
1866 bool "Use 1 TC on each available VPE for SMP"
1867 depends on SYS_SUPPORTS_MULTITHREADING
1868 select CPU_MIPSR2_IRQ_VI
Chris Dearmand725cf32007-05-08 14:05:39 +01001869 select CPU_MIPSR2_IRQ_EI
Steven J. Hillc080faa2013-10-04 16:23:28 -05001870 select SYNC_R4K
Ralf Baechle59d6ab82006-10-06 17:36:20 +01001871 select MIPS_MT
1872 select SMP
Ralf Baechle87353d82007-11-19 12:23:51 +00001873 select SMP_UP
Steven J. Hillc080faa2013-10-04 16:23:28 -05001874 select SYS_SUPPORTS_SMP
1875 select SYS_SUPPORTS_SCHED_SMT
Al Cooper399aaa22012-07-13 16:44:53 -04001876 select MIPS_PERF_SHARED_TC_COUNTERS
Ralf Baechle59d6ab82006-10-06 17:36:20 +01001877 help
Steven J. Hillc080faa2013-10-04 16:23:28 -05001878 This is a kernel model which is known as SMVP. This is supported
1879 on cores with the MT ASE and uses the available VPEs to implement
1880 virtual processors which supports SMP. This is equivalent to the
1881 Intel Hyperthreading feature. For further information go to
1882 <http://www.imgtec.com/mips/mips-multithreading.asp>.
Ralf Baechle59d6ab82006-10-06 17:36:20 +01001883
Ralf Baechle41c594a2006-04-05 09:45:45 +01001884config MIPS_MT_SMTC
Steven J. Hillc080faa2013-10-04 16:23:28 -05001885 bool "Use all TCs on all VPEs for SMP (DEPRECATED)"
Ralf Baechlef41ae0b2006-06-05 17:24:46 +01001886 depends on CPU_MIPS32_R2
Ralf Baechlef41ae0b2006-06-05 17:24:46 +01001887 depends on SYS_SUPPORTS_MULTITHREADING
Ralf Baechlef7062dd2006-04-24 14:58:53 +01001888 select CPU_MIPSR2_IRQ_VI
Chris Dearmand725cf32007-05-08 14:05:39 +01001889 select CPU_MIPSR2_IRQ_EI
Ralf Baechlef41ae0b2006-06-05 17:24:46 +01001890 select MIPS_MT
Ralf Baechle41c594a2006-04-05 09:45:45 +01001891 select SMP
Ralf Baechle87353d82007-11-19 12:23:51 +00001892 select SMP_UP
Steven J. Hillc080faa2013-10-04 16:23:28 -05001893 select SYS_SUPPORTS_SMP
1894 select NR_CPUS_DEFAULT_8
Ralf Baechlef41ae0b2006-06-05 17:24:46 +01001895 help
Steven J. Hillc080faa2013-10-04 16:23:28 -05001896 This is a kernel model which is known as SMTC. This is
1897 supported on cores with the MT ASE and presents all TCs
1898 available on all VPEs to support SMP. For further
1899 information see <http://www.linux-mips.org/wiki/34K#SMTC>.
Ralf Baechle41c594a2006-04-05 09:45:45 +01001900
Ralf Baechle340ee4b2005-08-17 17:44:08 +00001901endchoice
1902
Ralf Baechlef41ae0b2006-06-05 17:24:46 +01001903config MIPS_MT
1904 bool
1905
Ralf Baechle0ab7aef2007-03-02 20:42:04 +00001906config SCHED_SMT
1907 bool "SMT (multithreading) scheduler support"
1908 depends on SYS_SUPPORTS_SCHED_SMT
1909 default n
1910 help
1911 SMT scheduler support improves the CPU scheduler's decision making
1912 when dealing with MIPS MT enabled cores at a cost of slightly
1913 increased overhead in some places. If unsure say N here.
1914
1915config SYS_SUPPORTS_SCHED_SMT
1916 bool
1917
Ralf Baechlef41ae0b2006-06-05 17:24:46 +01001918config SYS_SUPPORTS_MULTITHREADING
1919 bool
1920
Ralf Baechlef088fc82006-04-05 09:45:47 +01001921config MIPS_MT_FPAFF
1922 bool "Dynamic FPU affinity for FP-intensive threads"
Ralf Baechlef088fc82006-04-05 09:45:47 +01001923 default y
Ralf Baechle07cc0c92007-07-27 19:31:10 +01001924 depends on MIPS_MT_SMP || MIPS_MT_SMTC
1925
1926config MIPS_VPE_LOADER
1927 bool "VPE loader support."
Markos Chandras704e6462013-06-28 11:25:27 +00001928 depends on SYS_SUPPORTS_MULTITHREADING && MODULES
Ralf Baechle07cc0c92007-07-27 19:31:10 +01001929 select CPU_MIPSR2_IRQ_VI
1930 select CPU_MIPSR2_IRQ_EI
Ralf Baechle07cc0c92007-07-27 19:31:10 +01001931 select MIPS_MT
1932 help
1933 Includes a loader for loading an elf relocatable object
1934 onto another VPE and running it.
Ralf Baechlef088fc82006-04-05 09:45:47 +01001935
Deng-Cheng Zhu17a1d522013-10-30 15:52:07 -05001936config MIPS_VPE_LOADER_CMP
1937 bool
1938 default "y"
1939 depends on MIPS_VPE_LOADER && MIPS_CMP
1940
Deng-Cheng Zhu1a2a6d72013-10-30 15:52:06 -05001941config MIPS_VPE_LOADER_MT
1942 bool
1943 default "y"
1944 depends on MIPS_VPE_LOADER && !MIPS_CMP
1945
Kevin D. Kissell0db34212007-07-12 16:21:08 +01001946config MIPS_MT_SMTC_IM_BACKSTOP
1947 bool "Use per-TC register bits as backstop for inhibited IM bits"
1948 depends on MIPS_MT_SMTC
Kevin D. Kissell8531a352008-09-09 21:48:52 +02001949 default n
Kevin D. Kissell0db34212007-07-12 16:21:08 +01001950 help
1951 To support multiple TC microthreads acting as "CPUs" within
1952 a VPE, VPE-wide interrupt mask bits must be specially manipulated
1953 during interrupt handling. To support legacy drivers and interrupt
1954 controller management code, SMTC has a "backstop" to track and
1955 if necessary restore the interrupt mask. This has some performance
Kevin D. Kissell8531a352008-09-09 21:48:52 +02001956 impact on interrupt service overhead.
Kevin D. Kissell0db34212007-07-12 16:21:08 +01001957
Kevin D. Kissellf571eff2007-08-03 19:38:03 +02001958config MIPS_MT_SMTC_IRQAFF
1959 bool "Support IRQ affinity API"
1960 depends on MIPS_MT_SMTC
1961 default n
1962 help
1963 Enables SMP IRQ affinity API (/proc/irq/*/smp_affinity, etc.)
1964 for SMTC Linux kernel. Requires platform support, of which
1965 an example can be found in the MIPS kernel i8259 and Malta
Kevin D. Kissell8531a352008-09-09 21:48:52 +02001966 platform code. Adds some overhead to interrupt dispatch, and
1967 should be used only if you know what you are doing.
Kevin D. Kissellf571eff2007-08-03 19:38:03 +02001968
Ralf Baechlee01402b2005-07-14 15:57:16 +00001969config MIPS_VPE_LOADER_TOM
1970 bool "Load VPE program into memory hidden from linux"
1971 depends on MIPS_VPE_LOADER
1972 default y
1973 help
1974 The loader can use memory that is present but has been hidden from
1975 Linux using the kernel command line option "mem=xxMB". It's up to
1976 you to ensure the amount you put in the option and the space your
1977 program requires is less or equal to the amount physically present.
1978
Ralf Baechlee01402b2005-07-14 15:57:16 +00001979config MIPS_VPE_APSP_API
Ralf Baechle5e83d432005-10-29 19:32:41 +01001980 bool "Enable support for AP/SP API (RTLX)"
1981 depends on MIPS_VPE_LOADER
1982 help
Ralf Baechlee01402b2005-07-14 15:57:16 +00001983
Deng-Cheng Zhuda615cf2014-01-01 16:29:03 +01001984config MIPS_VPE_APSP_API_CMP
1985 bool
1986 default "y"
1987 depends on MIPS_VPE_APSP_API && MIPS_CMP
1988
Deng-Cheng Zhu2c973ef2014-01-01 16:26:46 +01001989config MIPS_VPE_APSP_API_MT
1990 bool
1991 default "y"
1992 depends on MIPS_VPE_APSP_API && !MIPS_CMP
1993
Ralf Baechle4a16ff42008-10-04 00:06:29 +01001994config MIPS_CMP
Steven J. Hillc080faa2013-10-04 16:23:28 -05001995 bool "MIPS CMP support"
1996 depends on SYS_SUPPORTS_MIPS_CMP && MIPS_MT_SMP
Tim Andersoneb9b5142009-06-17 16:40:34 -07001997 select SYNC_R4K
Ralf Baechle4a16ff42008-10-04 00:06:29 +01001998 select WEAK_ORDERING
1999 default n
2000 help
Steven J. Hillc080faa2013-10-04 16:23:28 -05002001 Enable Coherency Manager processor (CMP) support.
Ralf Baechle4a16ff42008-10-04 00:06:29 +01002002
Linus Torvalds1da177e2005-04-16 15:20:36 -07002003config SB1_PASS_1_WORKAROUNDS
2004 bool
2005 depends on CPU_SB1_PASS_1
2006 default y
2007
2008config SB1_PASS_2_WORKAROUNDS
2009 bool
2010 depends on CPU_SB1 && (CPU_SB1_PASS_2_2 || CPU_SB1_PASS_2)
2011 default y
2012
2013config SB1_PASS_2_1_WORKAROUNDS
2014 bool
2015 depends on CPU_SB1 && CPU_SB1_PASS_2
2016 default y
2017
Sanjay Lal2235a542012-11-21 18:33:59 -08002018
Linus Torvalds1da177e2005-04-16 15:20:36 -07002019config 64BIT_PHYS_ADDR
Ralf Baechled806cb22007-08-02 00:36:08 +01002020 bool
Linus Torvalds1da177e2005-04-16 15:20:36 -07002021
pascal@pabr.org60ec6572010-01-03 13:39:12 +01002022config ARCH_PHYS_ADDR_T_64BIT
2023 def_bool 64BIT_PHYS_ADDR
2024
Franck Bui-Huu9693a852007-02-02 17:41:47 +01002025config CPU_HAS_SMARTMIPS
2026 depends on SYS_SUPPORTS_SMARTMIPS
2027 bool "Support for the SmartMIPS ASE"
2028 help
2029 SmartMIPS is a extension of the MIPS32 architecture aimed at
2030 increased security at both hardware and software level for
2031 smartcards. Enabling this option will allow proper use of the
2032 SmartMIPS instructions by Linux applications. However a kernel with
2033 this option will not work on a MIPS core without SmartMIPS core. If
2034 you don't know you probably don't have SmartMIPS and should say N
2035 here.
2036
Steven J. Hillbce86082013-03-25 13:27:11 -05002037config CPU_MICROMIPS
2038 depends on SYS_SUPPORTS_MICROMIPS
2039 bool "Build kernel using microMIPS ISA"
2040 help
2041 When this option is enabled the kernel will be built using the
2042 microMIPS ISA
2043
Linus Torvalds1da177e2005-04-16 15:20:36 -07002044config CPU_HAS_WB
Ralf Baechlef7062dd2006-04-24 14:58:53 +01002045 bool
Ralf Baechlee01402b2005-07-14 15:57:16 +00002046
Kevin Cernekeedf0ac8a2011-11-16 01:25:45 +00002047config XKS01
2048 bool
2049
Ralf Baechlef41ae0b2006-06-05 17:24:46 +01002050#
2051# Vectored interrupt mode is an R2 feature
2052#
Ralf Baechlee01402b2005-07-14 15:57:16 +00002053config CPU_MIPSR2_IRQ_VI
Ralf Baechlef41ae0b2006-06-05 17:24:46 +01002054 bool
Ralf Baechlee01402b2005-07-14 15:57:16 +00002055
Ralf Baechlef41ae0b2006-06-05 17:24:46 +01002056#
2057# Extended interrupt mode is an R2 feature
2058#
Ralf Baechlee01402b2005-07-14 15:57:16 +00002059config CPU_MIPSR2_IRQ_EI
Ralf Baechlef41ae0b2006-06-05 17:24:46 +01002060 bool
Ralf Baechlee01402b2005-07-14 15:57:16 +00002061
Linus Torvalds1da177e2005-04-16 15:20:36 -07002062config CPU_HAS_SYNC
2063 bool
2064 depends on !CPU_R3000
2065 default y
2066
2067#
Maciej W. Rozycki20d60d92007-10-23 12:43:11 +01002068# CPU non-features
2069#
2070config CPU_DADDI_WORKAROUNDS
2071 bool
2072
2073config CPU_R4000_WORKAROUNDS
2074 bool
2075 select CPU_R4400_WORKAROUNDS
2076
2077config CPU_R4400_WORKAROUNDS
2078 bool
2079
2080#
Linus Torvalds1da177e2005-04-16 15:20:36 -07002081# - Highmem only makes sense for the 32-bit kernel.
2082# - The current highmem code will only work properly on physically indexed
2083# caches such as R3000, SB1, R7000 or those that look like they're virtually
2084# indexed such as R4000/R4400 SC and MC versions or R10000. So for the
2085# moment we protect the user and offer the highmem option only on machines
2086# where it's known to be safe. This will not offer highmem on a few systems
2087# such as MIPS32 and MIPS64 CPUs which may have virtual and physically
2088# indexed CPUs but we're playing safe.
Ralf Baechle797798c2005-08-10 15:17:11 +00002089# - We use SYS_SUPPORTS_HIGHMEM to offer highmem only for systems where we
2090# know they might have memory configurations that could make use of highmem
2091# support.
Linus Torvalds1da177e2005-04-16 15:20:36 -07002092#
2093config HIGHMEM
2094 bool "High Memory Support"
Ralf Baechle797798c2005-08-10 15:17:11 +00002095 depends on 32BIT && CPU_SUPPORTS_HIGHMEM && SYS_SUPPORTS_HIGHMEM
2096
2097config CPU_SUPPORTS_HIGHMEM
2098 bool
2099
2100config SYS_SUPPORTS_HIGHMEM
2101 bool
Linus Torvalds1da177e2005-04-16 15:20:36 -07002102
Franck Bui-Huu9693a852007-02-02 17:41:47 +01002103config SYS_SUPPORTS_SMARTMIPS
2104 bool
2105
Steven J. Hilla6a48342013-02-05 16:52:02 -06002106config SYS_SUPPORTS_MICROMIPS
2107 bool
2108
Yoichi Yuasab4819b52005-06-25 14:54:31 -07002109config ARCH_FLATMEM_ENABLE
2110 def_bool y
Wu Zhangjinf133f222009-12-01 14:55:42 +08002111 depends on !NUMA && !CPU_LOONGSON2
Yoichi Yuasab4819b52005-06-25 14:54:31 -07002112
Ralf Baechled8cb4e12006-06-11 23:03:08 +01002113config ARCH_DISCONTIGMEM_ENABLE
2114 bool
2115 default y if SGI_IP27
2116 help
David Sterba3dde6ad2007-05-09 07:12:20 +02002117 Say Y to support efficient handling of discontiguous physical memory,
Ralf Baechled8cb4e12006-06-11 23:03:08 +01002118 for architectures which are either NUMA (Non-Uniform Memory Access)
2119 or have huge holes in the physical address space for other reasons.
2120 See <file:Documentation/vm/numa> for more.
2121
Atsushi Nemotob1c6cd42006-07-03 00:09:47 +09002122config ARCH_SPARSEMEM_ENABLE
2123 bool
Atsushi Nemoto7de58fa2006-07-05 01:22:44 +09002124 select SPARSEMEM_STATIC
Atsushi Nemoto31473742006-07-03 00:09:47 +09002125
Ralf Baechled8cb4e12006-06-11 23:03:08 +01002126config NUMA
2127 bool "NUMA Support"
2128 depends on SYS_SUPPORTS_NUMA
2129 help
2130 Say Y to compile the kernel to support NUMA (Non-Uniform Memory
2131 Access). This option improves performance on systems with more
2132 than two nodes; on two node systems it is generally better to
2133 leave it disabled; on single node systems disable this option
2134 disabled.
2135
2136config SYS_SUPPORTS_NUMA
2137 bool
2138
Yasunori Gotoc80d79d2006-04-10 22:53:53 -07002139config NODES_SHIFT
2140 int
2141 default "6"
2142 depends on NEED_MULTIPLE_NODES
2143
Deng-Cheng Zhu14f70012010-10-12 19:37:22 +08002144config HW_PERF_EVENTS
2145 bool "Enable hardware performance counter support for perf events"
Zi Shen Lim4be3d2f2012-10-31 12:01:28 +00002146 depends on PERF_EVENTS && !MIPS_MT_SMTC && OPROFILE=n && (CPU_MIPS32 || CPU_MIPS64 || CPU_R10000 || CPU_SB1 || CPU_CAVIUM_OCTEON || CPU_XLP)
Deng-Cheng Zhu14f70012010-10-12 19:37:22 +08002147 default y
2148 help
2149 Enable hardware performance counter support for perf events. If
2150 disabled, perf events will use software events only.
2151
Yoichi Yuasab4819b52005-06-25 14:54:31 -07002152source "mm/Kconfig"
2153
Linus Torvalds1da177e2005-04-16 15:20:36 -07002154config SMP
2155 bool "Multi-Processing support"
Ralf Baechlee73ea272006-06-04 11:51:46 +01002156 depends on SYS_SUPPORTS_SMP
2157 help
Linus Torvalds1da177e2005-04-16 15:20:36 -07002158 This enables support for systems with more than one CPU. If you have
2159 a system with only one CPU, like most personal computers, say N. If
2160 you have a system with more than one CPU, say Y.
2161
2162 If you say N here, the kernel will run on single and multiprocessor
2163 machines, but will use only one CPU of a multiprocessor machine. If
2164 you say Y here, the kernel will run on many, but not all,
2165 singleprocessor machines. On a singleprocessor machine, the kernel
2166 will run faster if you say N here.
2167
2168 People using multiprocessor machines who say Y here should also say
2169 Y to "Enhanced Real Time Clock Support", below.
2170
Adrian Bunk03502fa2008-02-03 15:50:21 +02002171 See also the SMP-HOWTO available at
2172 <http://www.tldp.org/docs.html#howto>.
Linus Torvalds1da177e2005-04-16 15:20:36 -07002173
2174 If you don't know what to do here, say N.
2175
Ralf Baechle87353d82007-11-19 12:23:51 +00002176config SMP_UP
2177 bool
2178
Ralf Baechle4a16ff42008-10-04 00:06:29 +01002179config SYS_SUPPORTS_MIPS_CMP
2180 bool
2181
Ralf Baechlee73ea272006-06-04 11:51:46 +01002182config SYS_SUPPORTS_SMP
2183 bool
2184
Ralf Baechle130e2fb2007-02-06 16:53:15 +00002185config NR_CPUS_DEFAULT_4
2186 bool
2187
2188config NR_CPUS_DEFAULT_8
2189 bool
2190
2191config NR_CPUS_DEFAULT_16
2192 bool
2193
2194config NR_CPUS_DEFAULT_32
2195 bool
2196
2197config NR_CPUS_DEFAULT_64
2198 bool
2199
Linus Torvalds1da177e2005-04-16 15:20:36 -07002200config NR_CPUS
2201 int "Maximum number of CPUs (2-64)"
Markos Chandrasc5eaff32013-08-21 16:01:48 +01002202 range 2 64
Linus Torvalds1da177e2005-04-16 15:20:36 -07002203 depends on SMP
Ralf Baechle130e2fb2007-02-06 16:53:15 +00002204 default "4" if NR_CPUS_DEFAULT_4
2205 default "8" if NR_CPUS_DEFAULT_8
2206 default "16" if NR_CPUS_DEFAULT_16
2207 default "32" if NR_CPUS_DEFAULT_32
2208 default "64" if NR_CPUS_DEFAULT_64
Linus Torvalds1da177e2005-04-16 15:20:36 -07002209 help
2210 This allows you to specify the maximum number of CPUs which this
2211 kernel will support. The maximum supported value is 32 for 32-bit
2212 kernel and 64 for 64-bit kernels; the minimum value which makes
Atsushi Nemoto72ede9b2007-03-18 01:01:39 +09002213 sense is 1 for Qemu (useful only for kernel debugging purposes)
2214 and 2 for all others.
Linus Torvalds1da177e2005-04-16 15:20:36 -07002215
2216 This is purely to save memory - each supported CPU adds
Atsushi Nemoto72ede9b2007-03-18 01:01:39 +09002217 approximately eight kilobytes to the kernel image. For best
2218 performance should round up your number of processors to the next
2219 power of two.
Linus Torvalds1da177e2005-04-16 15:20:36 -07002220
Al Cooper399aaa22012-07-13 16:44:53 -04002221config MIPS_PERF_SHARED_TC_COUNTERS
2222 bool
2223
Atsushi Nemoto1723b4a2006-06-20 00:19:13 +09002224#
2225# Timer Interrupt Frequency Configuration
2226#
2227
2228choice
2229 prompt "Timer frequency"
2230 default HZ_250
2231 help
2232 Allows the configuration of the timer frequency.
2233
2234 config HZ_48
Ralf Baechle0f873582008-02-25 16:55:29 +00002235 bool "48 HZ" if SYS_SUPPORTS_48HZ || SYS_SUPPORTS_ARBIT_HZ
Atsushi Nemoto1723b4a2006-06-20 00:19:13 +09002236
2237 config HZ_100
2238 bool "100 HZ" if SYS_SUPPORTS_100HZ || SYS_SUPPORTS_ARBIT_HZ
2239
2240 config HZ_128
2241 bool "128 HZ" if SYS_SUPPORTS_128HZ || SYS_SUPPORTS_ARBIT_HZ
2242
2243 config HZ_250
2244 bool "250 HZ" if SYS_SUPPORTS_250HZ || SYS_SUPPORTS_ARBIT_HZ
2245
2246 config HZ_256
2247 bool "256 HZ" if SYS_SUPPORTS_256HZ || SYS_SUPPORTS_ARBIT_HZ
2248
2249 config HZ_1000
2250 bool "1000 HZ" if SYS_SUPPORTS_1000HZ || SYS_SUPPORTS_ARBIT_HZ
2251
2252 config HZ_1024
2253 bool "1024 HZ" if SYS_SUPPORTS_1024HZ || SYS_SUPPORTS_ARBIT_HZ
2254
2255endchoice
2256
2257config SYS_SUPPORTS_48HZ
2258 bool
2259
2260config SYS_SUPPORTS_100HZ
2261 bool
2262
2263config SYS_SUPPORTS_128HZ
2264 bool
2265
2266config SYS_SUPPORTS_250HZ
2267 bool
2268
2269config SYS_SUPPORTS_256HZ
2270 bool
2271
2272config SYS_SUPPORTS_1000HZ
2273 bool
2274
2275config SYS_SUPPORTS_1024HZ
2276 bool
2277
2278config SYS_SUPPORTS_ARBIT_HZ
2279 bool
2280 default y if !SYS_SUPPORTS_48HZ && !SYS_SUPPORTS_100HZ && \
2281 !SYS_SUPPORTS_128HZ && !SYS_SUPPORTS_250HZ && \
2282 !SYS_SUPPORTS_256HZ && !SYS_SUPPORTS_1000HZ && \
2283 !SYS_SUPPORTS_1024HZ
2284
2285config HZ
2286 int
2287 default 48 if HZ_48
2288 default 100 if HZ_100
2289 default 128 if HZ_128
2290 default 250 if HZ_250
2291 default 256 if HZ_256
2292 default 1000 if HZ_1000
2293 default 1024 if HZ_1024
2294
Ralf Baechlee80de852005-07-11 20:45:51 +00002295source "kernel/Kconfig.preempt"
Linus Torvalds1da177e2005-04-16 15:20:36 -07002296
Atsushi Nemotoea6e9422007-01-16 23:29:11 +09002297config KEXEC
Kees Cook7d607172013-01-16 18:53:19 -08002298 bool "Kexec system call"
Atsushi Nemotoea6e9422007-01-16 23:29:11 +09002299 help
2300 kexec is a system call that implements the ability to shutdown your
2301 current kernel, and to start another kernel. It is like a reboot
David Sterba3dde6ad2007-05-09 07:12:20 +02002302 but it is independent of the system firmware. And like a reboot
Atsushi Nemotoea6e9422007-01-16 23:29:11 +09002303 you can start any kernel with it, not just Linux.
2304
Matt LaPlante01dd2fb2007-10-20 01:34:40 +02002305 The name comes from the similarity to the exec system call.
Atsushi Nemotoea6e9422007-01-16 23:29:11 +09002306
2307 It is an ongoing process to be certain the hardware in a machine
2308 is properly shutdown, so do not be surprised if this code does not
Geert Uytterhoevenbf220692013-08-20 21:38:03 +02002309 initially work for you. As of this writing the exact hardware
2310 interface is strongly in flux, so no good recommendation can be
2311 made.
Atsushi Nemotoea6e9422007-01-16 23:29:11 +09002312
Ralf Baechle7aa1c8f2012-10-11 18:14:58 +02002313config CRASH_DUMP
2314 bool "Kernel crash dumps"
2315 help
2316 Generate crash dump after being started by kexec.
2317 This should be normally only set in special crash dump kernels
2318 which are loaded in the main kernel with kexec-tools into
2319 a specially reserved region and then later executed after
2320 a crash by kdump/kexec. The crash dump kernel must be compiled
2321 to a memory address not used by the main kernel or firmware using
2322 PHYSICAL_START.
2323
2324config PHYSICAL_START
2325 hex "Physical address where the kernel is loaded"
2326 default "0xffffffff84000000" if 64BIT
2327 default "0x84000000" if 32BIT
2328 depends on CRASH_DUMP
2329 help
2330 This gives the CKSEG0 or KSEG0 address where the kernel is loaded.
2331 If you plan to use kernel for capturing the crash dump change
2332 this value to start of the reserved region (the "X" value as
2333 specified in the "crashkernel=YM@XM" command line boot parameter
2334 passed to the panic-ed kernel).
2335
Atsushi Nemotoea6e9422007-01-16 23:29:11 +09002336config SECCOMP
2337 bool "Enable seccomp to safely compute untrusted bytecode"
Ralf Baechle293c5bd2007-07-25 16:19:33 +01002338 depends on PROC_FS
Atsushi Nemotoea6e9422007-01-16 23:29:11 +09002339 default y
2340 help
2341 This kernel feature is useful for number crunching applications
2342 that may need to compute untrusted bytecode during their
2343 execution. By using pipes or other transports made available to
2344 the process as file descriptors supporting the read/write
2345 syscalls, it's possible to isolate those applications in
2346 their own address space using seccomp. Once seccomp is
2347 enabled via /proc/<pid>/seccomp, it cannot be disabled
2348 and the task is only allowed to execute a few safe syscalls
2349 defined by each seccomp mode.
2350
2351 If unsure, say Y. Only embedded should say N here.
2352
Gregory Fong36ecafc2013-06-12 17:08:54 +00002353config CC_STACKPROTECTOR
2354 bool "Enable -fstack-protector buffer overflow detection (EXPERIMENTAL)"
2355 help
2356 This option turns on the -fstack-protector GCC feature. This
2357 feature puts, at the beginning of functions, a canary value on
2358 the stack just before the return address, and validates
2359 the value just before actually returning. Stack based buffer
2360 overflows (that need to overwrite this return address) now also
2361 overwrite the canary, which gets detected and the attack is then
2362 neutralized via a kernel panic.
2363
2364 This feature requires gcc version 4.2 or above.
2365
Paul Burton597ce172013-11-22 13:12:07 +00002366config MIPS_O32_FP64_SUPPORT
2367 bool "Support for O32 binaries using 64-bit FP"
2368 depends on 32BIT || MIPS32_O32
2369 default y
2370 help
2371 When this is enabled, the kernel will support use of 64-bit floating
2372 point registers with binaries using the O32 ABI along with the
2373 EF_MIPS_FP64 ELF header flag (typically built with -mfp64). On
2374 32-bit MIPS systems this support is at the cost of increasing the
2375 size and complexity of the compiled FPU emulator. Thus if you are
2376 running a MIPS32 system and know that none of your userland binaries
2377 will require 64-bit floating point, you may wish to reduce the size
2378 of your kernel & potentially improve FP emulation performance by
2379 saying N here.
2380
2381 If unsure, say Y.
2382
Dezhong Diaof2ffa5a2010-10-13 00:52:46 -06002383config USE_OF
Jonas Gorski0b3e06f2012-09-18 11:28:54 +02002384 bool
Dezhong Diaof2ffa5a2010-10-13 00:52:46 -06002385 select OF
Stephen Neuendorffere6ce1322010-11-18 15:54:56 -08002386 select OF_EARLY_FLATTREE
Grant Likelyabd23632012-02-24 08:07:06 -07002387 select IRQ_DOMAIN
Dezhong Diaof2ffa5a2010-10-13 00:52:46 -06002388
Ralf Baechle5e83d432005-10-29 19:32:41 +01002389endmenu
2390
Atsushi Nemoto1df0f0f2006-09-26 23:44:01 +09002391config LOCKDEP_SUPPORT
2392 bool
2393 default y
2394
2395config STACKTRACE_SUPPORT
2396 bool
2397 default y
2398
Ralf Baechleb6c35392005-11-25 11:35:40 +00002399source "init/Kconfig"
2400
Matt Helsleydc52ddc2008-10-18 20:27:21 -07002401source "kernel/Kconfig.freezer"
2402
Linus Torvalds1da177e2005-04-16 15:20:36 -07002403menu "Bus options (PCI, PCMCIA, EISA, ISA, TC)"
2404
Ralf Baechle5e83d432005-10-29 19:32:41 +01002405config HW_HAS_EISA
2406 bool
Linus Torvalds1da177e2005-04-16 15:20:36 -07002407config HW_HAS_PCI
2408 bool
2409
2410config PCI
2411 bool "Support for PCI controller"
2412 depends on HW_HAS_PCI
Ralf Baechleabb4ae42007-10-11 23:46:03 +01002413 select PCI_DOMAINS
Michael S. Tsirkin0f3b3952012-01-30 00:23:38 +02002414 select NO_GENERIC_PCI_IOPORT_MAP
Linus Torvalds1da177e2005-04-16 15:20:36 -07002415 help
2416 Find out whether you have a PCI motherboard. PCI is the name of a
2417 bus system, i.e. the way the CPU talks to the other stuff inside
2418 your box. Other bus systems are ISA, EISA, or VESA. If you have PCI,
2419 say Y, otherwise N.
2420
Linus Torvalds1da177e2005-04-16 15:20:36 -07002421config PCI_DOMAINS
2422 bool
Linus Torvalds1da177e2005-04-16 15:20:36 -07002423
2424source "drivers/pci/Kconfig"
2425
Jonas Gorski3f787ca2012-07-24 16:33:14 +02002426source "drivers/pci/pcie/Kconfig"
2427
Linus Torvalds1da177e2005-04-16 15:20:36 -07002428#
2429# ISA support is now enabled via select. Too many systems still have the one
2430# or other ISA chip on the board that users don't know about so don't expect
2431# users to choose the right thing ...
2432#
2433config ISA
2434 bool
2435
2436config EISA
2437 bool "EISA support"
Ralf Baechle5e83d432005-10-29 19:32:41 +01002438 depends on HW_HAS_EISA
Linus Torvalds1da177e2005-04-16 15:20:36 -07002439 select ISA
Ralf Baechleaa414df2006-11-30 01:14:51 +00002440 select GENERIC_ISA_DMA
Linus Torvalds1da177e2005-04-16 15:20:36 -07002441 ---help---
2442 The Extended Industry Standard Architecture (EISA) bus was
2443 developed as an open alternative to the IBM MicroChannel bus.
2444
2445 The EISA bus provided some of the features of the IBM MicroChannel
2446 bus while maintaining backward compatibility with cards made for
2447 the older ISA bus. The EISA bus saw limited use between 1988 and
2448 1995 when it was made obsolete by the PCI bus.
2449
2450 Say Y here if you are building a kernel for an EISA-based machine.
2451
2452 Otherwise, say N.
2453
2454source "drivers/eisa/Kconfig"
2455
2456config TC
2457 bool "TURBOchannel support"
2458 depends on MACH_DECSTATION
2459 help
Justin P. Mattock50a23e62010-10-16 10:36:23 -07002460 TURBOchannel is a DEC (now Compaq (now HP)) bus for Alpha and MIPS
2461 processors. TURBOchannel programming specifications are available
2462 at:
2463 <ftp://ftp.hp.com/pub/alphaserver/archive/triadd/>
2464 and:
2465 <http://www.computer-refuge.org/classiccmp/ftp.digital.com/pub/DEC/TriAdd/>
2466 Linux driver support status is documented at:
2467 <http://www.linux-mips.org/wiki/DECstation>
Linus Torvalds1da177e2005-04-16 15:20:36 -07002468
Linus Torvalds1da177e2005-04-16 15:20:36 -07002469config MMU
2470 bool
2471 default y
2472
Ralf Baechled865bea2007-10-11 23:46:10 +01002473config I8253
2474 bool
Russell King798778b2011-05-08 19:03:03 +01002475 select CLKSRC_I8253
Thomas Gleixner2d026122011-06-09 13:08:27 +00002476 select CLKEVT_I8253
Wu Zhangjin9726b432009-11-17 01:32:58 +08002477 select MIPS_EXTERNAL_TIMER
Ralf Baechled865bea2007-10-11 23:46:10 +01002478
Ralf Baechlee05eb3f2013-06-12 10:54:11 +02002479config ZONE_DMA
2480 bool
2481
Ralf Baechlecce335ae2007-11-03 02:05:43 +00002482config ZONE_DMA32
2483 bool
2484
Linus Torvalds1da177e2005-04-16 15:20:36 -07002485source "drivers/pcmcia/Kconfig"
2486
2487source "drivers/pci/hotplug/Kconfig"
2488
Alexandre Bounine388b78a2011-03-23 16:43:03 -07002489config RAPIDIO
2490 bool "RapidIO support"
2491 depends on PCI
2492 default n
2493 help
2494 If you say Y here, the kernel will include drivers and
2495 infrastructure code to support RapidIO interconnect devices.
2496
2497source "drivers/rapidio/Kconfig"
2498
Linus Torvalds1da177e2005-04-16 15:20:36 -07002499endmenu
2500
2501menu "Executable file formats"
2502
2503source "fs/Kconfig.binfmt"
2504
2505config TRAD_SIGNALS
2506 bool
Linus Torvalds1da177e2005-04-16 15:20:36 -07002507
Linus Torvalds1da177e2005-04-16 15:20:36 -07002508config MIPS32_COMPAT
2509 bool "Kernel support for Linux/MIPS 32-bit binary compatibility"
Ralf Baechle875d43e2005-09-03 15:56:16 -07002510 depends on 64BIT
Linus Torvalds1da177e2005-04-16 15:20:36 -07002511 help
2512 Select this option if you want Linux/MIPS 32-bit binary
2513 compatibility. Since all software available for Linux/MIPS is
2514 currently 32-bit you should say Y here.
2515
2516config COMPAT
2517 bool
2518 depends on MIPS32_COMPAT
Chris Metcalf48b25c42012-03-15 13:13:38 -04002519 select ARCH_WANT_OLD_COMPAT_IPC
Linus Torvalds1da177e2005-04-16 15:20:36 -07002520 default y
2521
Atsushi Nemoto05e43962006-11-07 18:02:44 +09002522config SYSVIPC_COMPAT
2523 bool
2524 depends on COMPAT && SYSVIPC
2525 default y
2526
Linus Torvalds1da177e2005-04-16 15:20:36 -07002527config MIPS32_O32
2528 bool "Kernel support for o32 binaries"
2529 depends on MIPS32_COMPAT
2530 help
2531 Select this option if you want to run o32 binaries. These are pure
2532 32-bit binaries as used by the 32-bit Linux/MIPS port. Most of
2533 existing binaries are in this format.
2534
2535 If unsure, say Y.
2536
2537config MIPS32_N32
2538 bool "Kernel support for n32 binaries"
2539 depends on MIPS32_COMPAT
2540 help
2541 Select this option if you want to run n32 binaries. These are
2542 64-bit binaries using 32-bit quantities for addressing and certain
2543 data that would normally be 64-bit. They are used in special
2544 cases.
2545
2546 If unsure, say N.
2547
2548config BINFMT_ELF32
2549 bool
2550 default y if MIPS32_O32 || MIPS32_N32
2551
Ralf Baechle21162452007-02-09 17:08:58 +00002552endmenu
Linus Torvalds1da177e2005-04-16 15:20:36 -07002553
Ralf Baechle21162452007-02-09 17:08:58 +00002554menu "Power management options"
Rodolfo Giometti952fa952006-06-05 17:43:10 +02002555
Wu Zhangjin363c55c2009-06-04 20:27:10 +08002556config ARCH_HIBERNATION_POSSIBLE
2557 def_bool y
Ralf Baechle3f5b3e12009-07-02 11:48:07 +01002558 depends on SYS_SUPPORTS_HOTPLUG_CPU || !SMP
Wu Zhangjin363c55c2009-06-04 20:27:10 +08002559
Johannes Bergf4cb5702007-12-08 02:14:00 +01002560config ARCH_SUSPEND_POSSIBLE
2561 def_bool y
Ralf Baechle3f5b3e12009-07-02 11:48:07 +01002562 depends on SYS_SUPPORTS_HOTPLUG_CPU || !SMP
Johannes Bergf4cb5702007-12-08 02:14:00 +01002563
Ralf Baechle21162452007-02-09 17:08:58 +00002564source "kernel/power/Kconfig"
Rodolfo Giometti952fa952006-06-05 17:43:10 +02002565
Linus Torvalds1da177e2005-04-16 15:20:36 -07002566endmenu
2567
Viresh Kumar7a998932013-04-04 12:54:21 +00002568config MIPS_EXTERNAL_TIMER
2569 bool
2570
2571if CPU_SUPPORTS_CPUFREQ && MIPS_EXTERNAL_TIMER
2572menu "CPU Power Management"
2573source "drivers/cpufreq/Kconfig"
2574endmenu
2575endif
Wu Zhangjin9726b432009-11-17 01:32:58 +08002576
Sam Ravnborgd5950b42005-07-11 21:03:49 -07002577source "net/Kconfig"
2578
Linus Torvalds1da177e2005-04-16 15:20:36 -07002579source "drivers/Kconfig"
2580
Ralf Baechle98cdee02012-11-15 10:35:42 +01002581source "drivers/firmware/Kconfig"
2582
Linus Torvalds1da177e2005-04-16 15:20:36 -07002583source "fs/Kconfig"
2584
2585source "arch/mips/Kconfig.debug"
2586
2587source "security/Kconfig"
2588
2589source "crypto/Kconfig"
2590
2591source "lib/Kconfig"
Sanjay Lal2235a542012-11-21 18:33:59 -08002592
2593source "arch/mips/kvm/Kconfig"