xref: /linux/arch/mips/Kconfig (revision c530781c93a55a937d2847efeda744b4e099dfef)
11da177e4SLinus Torvaldsconfig MIPS
21da177e4SLinus Torvalds	bool
31da177e4SLinus Torvalds	default y
4a862a426SMark Salter	select ARCH_MIGHT_HAVE_PC_PARPORT
5393c1262SMark Salter	select ARCH_MIGHT_HAVE_PC_SERIO
6c3fc5cd5SRalf Baechle	select HAVE_CONTEXT_TRACKING
7f8ac0425SYoichi Yuasa	select HAVE_GENERIC_DMA_COHERENT
8ec7748b5SSam Ravnborg	select HAVE_IDE
942d4b839SMathieu Desnoyers	select HAVE_OPROFILE
107f788d2dSDeng-Cheng Zhu	select HAVE_PERF_EVENTS
117f788d2dSDeng-Cheng Zhu	select PERF_USE_VMALLOC
1288547001SJason Wessel	select HAVE_ARCH_KGDB
13490b004fSMarkos Chandras	select HAVE_ARCH_SECCOMP_FILTER
14c0ff3c53SRalf Baechle	select HAVE_ARCH_TRACEHOOK
153f5fdb4bSMarkos Chandras	select HAVE_BPF_JIT if !CPU_MICROMIPS
167563bbf8SMark Brown	select ARCH_HAVE_CUSTOM_GPIO_H
17d2bb0762SWu Zhangjin	select HAVE_FUNCTION_TRACER
18538f1952SWu Zhangjin	select HAVE_DYNAMIC_FTRACE
19538f1952SWu Zhangjin	select HAVE_FTRACE_MCOUNT_RECORD
2064575f91SWu Zhangjin	select HAVE_C_RECORDMCOUNT
2129c5d346SWu Zhangjin	select HAVE_FUNCTION_GRAPH_TRACER
22c1bf207dSDavid Daney	select HAVE_KPROBES
23c1bf207dSDavid Daney	select HAVE_KRETPROBES
24b69ec42bSCatalin Marinas	select HAVE_DEBUG_KMEMLEAK
251d7bf993SRalf Baechle	select HAVE_SYSCALL_TRACEPOINTS
26e26d196cSDavid Daney	select ARCH_BINFMT_ELF_RANDOMIZE_PIE
27383c97b4SBen Hutchings	select HAVE_ARCH_TRANSPARENT_HUGEPAGE if CPU_SUPPORTS_HUGEPAGES && 64BIT
2821a41faaSWu Zhangjin	select RTC_LIB if !MACH_LOONGSON
292b78920dSDeng-Cheng Zhu	select GENERIC_ATOMIC64 if !64BIT
307463449bSCatalin Marinas	select ARCH_HAS_ATOMIC64_DEC_IF_POSITIVE
3148e1fd5aSDavid Daney	select HAVE_DMA_ATTRS
32f4649382SZubair Lutfullah Kakakhel	select HAVE_DMA_CONTIGUOUS
3348e1fd5aSDavid Daney	select HAVE_DMA_API_DEBUG
343bd27e32SDavid Daney	select GENERIC_IRQ_PROBE
35f8396c17SThomas Gleixner	select GENERIC_IRQ_SHOW
3678857614SMarkos Chandras	select GENERIC_PCI_IOMAP
3794bb0c1aSDavid Daney	select HAVE_ARCH_JUMP_LABEL
38c1d7e01dSWill Deacon	select ARCH_WANT_IPC_PARSE_VERSION
390f462e3cSThomas Gleixner	select IRQ_FORCED_THREADING
409d15ffc8STejun Heo	select HAVE_MEMBLOCK
419d15ffc8STejun Heo	select HAVE_MEMBLOCK_NODE_MAP
429d15ffc8STejun Heo	select ARCH_DISCARD_MEMBLOCK
43360014a3SThomas Gleixner	select GENERIC_SMP_IDLE_THREAD
444b054495SDavid Daney	select BUILDTIME_EXTABLE_SORT
45cde1794bSAnna-Maria Gleixner	select GENERIC_CLOCKEVENTS
46cde1794bSAnna-Maria Gleixner	select GENERIC_CMOS_UPDATE
47786d35d4SDavid Howells	select HAVE_MOD_ARCH_SPECIFIC
484febd95aSStephen Rothwell	select VIRT_TO_BUS
492f12fb20SJoshua Kinard	select MODULES_USE_ELF_REL if MODULES
502f12fb20SJoshua Kinard	select MODULES_USE_ELF_RELA if MODULES && 64BIT
5150150d2bSAl Viro	select CLONE_BACKWARDS
52d1a1dc0bSDave Hansen	select HAVE_DEBUG_STACKOVERFLOW
5319952a92SKees Cook	select HAVE_CC_STACKPROTECTOR
54b1d4c6caSJames Hogan	select CPU_PM if CPU_IDLE
55cc7964afSPaul Burton	select ARCH_HAS_TICK_BROADCAST if GENERIC_CLOCKEVENTS_BROADCAST
5690cee759SPaul Burton	select ARCH_BINFMT_ELF_STATE
571da177e4SLinus Torvalds
581da177e4SLinus Torvaldsmenu "Machine selection"
591da177e4SLinus Torvalds
605e83d430SRalf Baechlechoice
615e83d430SRalf Baechle	prompt "System type"
625e83d430SRalf Baechle	default SGI_IP22
631da177e4SLinus Torvalds
6442a4f17dSManuel Laussconfig MIPS_ALCHEMY
65c3543e25SYoichi Yuasa	bool "Alchemy processor based machines"
6642a4f17dSManuel Lauss	select 64BIT_PHYS_ADDR
67f772cdb2SRalf Baechle	select CEVT_R4K
68d7ea335cSSteven J. Hill	select CSRC_R4K
6942a4f17dSManuel Lauss	select IRQ_CPU
7088e9a93cSManuel Lauss	select DMA_MAYBE_COHERENT	# Au1000,1500,1100 aren't, rest is
7142a4f17dSManuel Lauss	select SYS_HAS_CPU_MIPS32_R1
7242a4f17dSManuel Lauss	select SYS_SUPPORTS_32BIT_KERNEL
7342a4f17dSManuel Lauss	select SYS_SUPPORTS_APM_EMULATION
74efb12436SAlexandre Courbot	select ARCH_REQUIRE_GPIOLIB
751b93b3c3SWu Zhangjin	select SYS_SUPPORTS_ZBOOT
7647440229SManuel Lauss	select COMMON_CLK
771da177e4SLinus Torvalds
787ca5dc14SFlorian Fainelliconfig AR7
797ca5dc14SFlorian Fainelli	bool "Texas Instruments AR7"
807ca5dc14SFlorian Fainelli	select BOOT_ELF32
817ca5dc14SFlorian Fainelli	select DMA_NONCOHERENT
827ca5dc14SFlorian Fainelli	select CEVT_R4K
837ca5dc14SFlorian Fainelli	select CSRC_R4K
847ca5dc14SFlorian Fainelli	select IRQ_CPU
857ca5dc14SFlorian Fainelli	select NO_EXCEPT_FILL
867ca5dc14SFlorian Fainelli	select SWAP_IO_SPACE
877ca5dc14SFlorian Fainelli	select SYS_HAS_CPU_MIPS32_R1
887ca5dc14SFlorian Fainelli	select SYS_HAS_EARLY_PRINTK
897ca5dc14SFlorian Fainelli	select SYS_SUPPORTS_32BIT_KERNEL
907ca5dc14SFlorian Fainelli	select SYS_SUPPORTS_LITTLE_ENDIAN
91377cb1b6SRalf Baechle	select SYS_SUPPORTS_MIPS16
921b93b3c3SWu Zhangjin	select SYS_SUPPORTS_ZBOOT_UART16550
935f3c9098SFlorian Fainelli	select ARCH_REQUIRE_GPIOLIB
947ca5dc14SFlorian Fainelli	select VLYNQ
958551fb64SYoichi Yuasa	select HAVE_CLK
967ca5dc14SFlorian Fainelli	help
977ca5dc14SFlorian Fainelli	  Support for the Texas Instruments AR7 System-on-a-Chip
987ca5dc14SFlorian Fainelli	  family: TNETD7100, 7200 and 7300.
997ca5dc14SFlorian Fainelli
100d4a67d9dSGabor Juhosconfig ATH79
101d4a67d9dSGabor Juhos	bool "Atheros AR71XX/AR724X/AR913X based boards"
1026eae43c5SGabor Juhos	select ARCH_REQUIRE_GPIOLIB
103d4a67d9dSGabor Juhos	select BOOT_RAW
104d4a67d9dSGabor Juhos	select CEVT_R4K
105d4a67d9dSGabor Juhos	select CSRC_R4K
106d4a67d9dSGabor Juhos	select DMA_NONCOHERENT
10794638067SGabor Juhos	select HAVE_CLK
1082c4f1ac5SGabor Juhos	select CLKDEV_LOOKUP
109d4a67d9dSGabor Juhos	select IRQ_CPU
1100aabf1a4SGabor Juhos	select MIPS_MACHINE
111d4a67d9dSGabor Juhos	select SYS_HAS_CPU_MIPS32_R2
112d4a67d9dSGabor Juhos	select SYS_HAS_EARLY_PRINTK
113d4a67d9dSGabor Juhos	select SYS_SUPPORTS_32BIT_KERNEL
114d4a67d9dSGabor Juhos	select SYS_SUPPORTS_BIG_ENDIAN
115377cb1b6SRalf Baechle	select SYS_SUPPORTS_MIPS16
116d4a67d9dSGabor Juhos	help
117d4a67d9dSGabor Juhos	  Support for the Atheros AR71XX/AR724X/AR913X SoCs.
118d4a67d9dSGabor Juhos
119d666cd02SKevin Cernekeeconfig BCM3384
120d666cd02SKevin Cernekee	bool "Broadcom BCM3384 based boards"
121d666cd02SKevin Cernekee	select BOOT_RAW
122d666cd02SKevin Cernekee	select NO_EXCEPT_FILL
123d666cd02SKevin Cernekee	select USE_OF
124d666cd02SKevin Cernekee	select CEVT_R4K
125d666cd02SKevin Cernekee	select CSRC_R4K
126d666cd02SKevin Cernekee	select SYNC_R4K
127d666cd02SKevin Cernekee	select COMMON_CLK
128d666cd02SKevin Cernekee	select DMA_NONCOHERENT
129d666cd02SKevin Cernekee	select IRQ_CPU
130d666cd02SKevin Cernekee	select SYS_SUPPORTS_32BIT_KERNEL
131d666cd02SKevin Cernekee	select SYS_SUPPORTS_BIG_ENDIAN
132d666cd02SKevin Cernekee	select SYS_SUPPORTS_HIGHMEM
133d666cd02SKevin Cernekee	select SYS_HAS_CPU_BMIPS5000
134d666cd02SKevin Cernekee	select SWAP_IO_SPACE
135d666cd02SKevin Cernekee	select USB_EHCI_BIG_ENDIAN_DESC
136d666cd02SKevin Cernekee	select USB_EHCI_BIG_ENDIAN_MMIO
137d666cd02SKevin Cernekee	select USB_OHCI_BIG_ENDIAN_DESC
138d666cd02SKevin Cernekee	select USB_OHCI_BIG_ENDIAN_MMIO
139d666cd02SKevin Cernekee	help
140d666cd02SKevin Cernekee	  Support for BCM3384 based boards.  BCM3384/BCM33843 is a cable modem
141d666cd02SKevin Cernekee	  chipset with a Linux application processor that is often used to
142d666cd02SKevin Cernekee	  provide Samba services, a CUPS print server, and/or advanced routing
143d666cd02SKevin Cernekee	  features.
144d666cd02SKevin Cernekee
1451c0c13ebSAurelien Jarnoconfig BCM47XX
146c619366eSFlorian Fainelli	bool "Broadcom BCM47XX based boards"
1472da4c74dSHauke Mehrtens	select ARCH_WANT_OPTIONAL_GPIOLIB
148fe08f8c2SHauke Mehrtens	select BOOT_RAW
14942f77542SRalf Baechle	select CEVT_R4K
150940f6b48SRalf Baechle	select CSRC_R4K
1511c0c13ebSAurelien Jarno	select DMA_NONCOHERENT
1521c0c13ebSAurelien Jarno	select HW_HAS_PCI
1531c0c13ebSAurelien Jarno	select IRQ_CPU
154314878d2SMarkos Chandras	select SYS_HAS_CPU_MIPS32_R1
155dd54deddSHauke Mehrtens	select NO_EXCEPT_FILL
1561c0c13ebSAurelien Jarno	select SYS_SUPPORTS_32BIT_KERNEL
1571c0c13ebSAurelien Jarno	select SYS_SUPPORTS_LITTLE_ENDIAN
158377cb1b6SRalf Baechle	select SYS_SUPPORTS_MIPS16
15925e5fb97SAurelien Jarno	select SYS_HAS_EARLY_PRINTK
160e6086557SRalf Baechle	select USE_GENERIC_EARLY_PRINTK_8250
161c949c0bcSRafał Miłecki	select GPIOLIB
162c949c0bcSRafał Miłecki	select LEDS_GPIO_REGISTER
1631c0c13ebSAurelien Jarno	help
1641c0c13ebSAurelien Jarno	 Support for BCM47XX based boards
1651c0c13ebSAurelien Jarno
166e7300d04SMaxime Bizonconfig BCM63XX
167e7300d04SMaxime Bizon	bool "Broadcom BCM63XX based boards"
168ae8de61cSFlorian Fainelli	select BOOT_RAW
169e7300d04SMaxime Bizon	select CEVT_R4K
170e7300d04SMaxime Bizon	select CSRC_R4K
171fc264022SJonas Gorski	select SYNC_R4K
172e7300d04SMaxime Bizon	select DMA_NONCOHERENT
173e7300d04SMaxime Bizon	select IRQ_CPU
174e7300d04SMaxime Bizon	select SYS_SUPPORTS_32BIT_KERNEL
175e7300d04SMaxime Bizon	select SYS_SUPPORTS_BIG_ENDIAN
176e7300d04SMaxime Bizon	select SYS_HAS_EARLY_PRINTK
177e7300d04SMaxime Bizon	select SWAP_IO_SPACE
178e7300d04SMaxime Bizon	select ARCH_REQUIRE_GPIOLIB
1793e82eeebSYoichi Yuasa	select HAVE_CLK
180af2418beSFlorian Fainelli	select MIPS_L1_CACHE_SHIFT_4
181e7300d04SMaxime Bizon	help
182e7300d04SMaxime Bizon	 Support for BCM63XX based boards
183e7300d04SMaxime Bizon
1841da177e4SLinus Torvaldsconfig MIPS_COBALT
1853fa986faSMartin Michlmayr	bool "Cobalt Server"
18642f77542SRalf Baechle	select CEVT_R4K
187940f6b48SRalf Baechle	select CSRC_R4K
1881097c6acSYoichi Yuasa	select CEVT_GT641XX
1891da177e4SLinus Torvalds	select DMA_NONCOHERENT
1901da177e4SLinus Torvalds	select HW_HAS_PCI
191d865bea4SRalf Baechle	select I8253
1921da177e4SLinus Torvalds	select I8259
1931da177e4SLinus Torvalds	select IRQ_CPU
194d5ab1a69SYoichi Yuasa	select IRQ_GT641XX
195252161ecSYoichi Yuasa	select PCI_GT64XXX_PCI0
196e25bfc92SYoichi Yuasa	select PCI
1977cf8053bSRalf Baechle	select SYS_HAS_CPU_NEVADA
1980a22e0d4SYoichi Yuasa	select SYS_HAS_EARLY_PRINTK
199ed5ba2fbSYoichi Yuasa	select SYS_SUPPORTS_32BIT_KERNEL
2000e8774b6SFlorian Fainelli	select SYS_SUPPORTS_64BIT_KERNEL
2015e83d430SRalf Baechle	select SYS_SUPPORTS_LITTLE_ENDIAN
202e6086557SRalf Baechle	select USE_GENERIC_EARLY_PRINTK_8250
2031da177e4SLinus Torvalds
2041da177e4SLinus Torvaldsconfig MACH_DECSTATION
2053fa986faSMartin Michlmayr	bool "DECstations"
2061da177e4SLinus Torvalds	select BOOT_ELF32
2076457d9fcSYoichi Yuasa	select CEVT_DS1287
20881d10badSMaciej W. Rozycki	select CEVT_R4K if CPU_R4X00
2094247417dSYoichi Yuasa	select CSRC_IOASIC
21081d10badSMaciej W. Rozycki	select CSRC_R4K if CPU_R4X00
21120d60d99SMaciej W. Rozycki	select CPU_DADDI_WORKAROUNDS if 64BIT
21220d60d99SMaciej W. Rozycki	select CPU_R4000_WORKAROUNDS if 64BIT
21320d60d99SMaciej W. Rozycki	select CPU_R4400_WORKAROUNDS if 64BIT
2141da177e4SLinus Torvalds	select DMA_NONCOHERENT
215ce816fa8SUwe Kleine-König	select NO_IOPORT_MAP
2161da177e4SLinus Torvalds	select IRQ_CPU
2177cf8053bSRalf Baechle	select SYS_HAS_CPU_R3000
2187cf8053bSRalf Baechle	select SYS_HAS_CPU_R4X00
219ed5ba2fbSYoichi Yuasa	select SYS_SUPPORTS_32BIT_KERNEL
2207d60717eSKees Cook	select SYS_SUPPORTS_64BIT_KERNEL
2215e83d430SRalf Baechle	select SYS_SUPPORTS_LITTLE_ENDIAN
2221723b4a3SAtsushi Nemoto	select SYS_SUPPORTS_128HZ
2231723b4a3SAtsushi Nemoto	select SYS_SUPPORTS_256HZ
2241723b4a3SAtsushi Nemoto	select SYS_SUPPORTS_1024HZ
225930beb5aSFlorian Fainelli	select MIPS_L1_CACHE_SHIFT_4
2265e83d430SRalf Baechle	help
2271da177e4SLinus Torvalds	  This enables support for DEC's MIPS based workstations.  For details
2281da177e4SLinus Torvalds	  see the Linux/MIPS FAQ on <http://www.linux-mips.org/> and the
2291da177e4SLinus Torvalds	  DECstation porting pages on <http://decstation.unix-ag.org/>.
2301da177e4SLinus Torvalds
2311da177e4SLinus Torvalds	  If you have one of the following DECstation Models you definitely
2321da177e4SLinus Torvalds	  want to choose R4xx0 for the CPU Type:
2331da177e4SLinus Torvalds
2341da177e4SLinus Torvalds		DECstation 5000/50
2351da177e4SLinus Torvalds		DECstation 5000/150
2361da177e4SLinus Torvalds		DECstation 5000/260
2371da177e4SLinus Torvalds		DECsystem 5900/260
2381da177e4SLinus Torvalds
2391da177e4SLinus Torvalds	  otherwise choose R3000.
2401da177e4SLinus Torvalds
2415e83d430SRalf Baechleconfig MACH_JAZZ
2423fa986faSMartin Michlmayr	bool "Jazz family of machines"
2430e2794b0SRalf Baechle	select FW_ARC
2440e2794b0SRalf Baechle	select FW_ARC32
2455e83d430SRalf Baechle	select ARCH_MAY_HAVE_PC_FDC
24642f77542SRalf Baechle	select CEVT_R4K
247940f6b48SRalf Baechle	select CSRC_R4K
248e2defae5SThomas Bogendoerfer	select DEFAULT_SGI_PARTITION if CPU_BIG_ENDIAN
2495e83d430SRalf Baechle	select GENERIC_ISA_DMA
2508a118c38SRalf Baechle	select HAVE_PCSPKR_PLATFORM
251ea202c63SThomas Bogendoerfer	select IRQ_CPU
252d865bea4SRalf Baechle	select I8253
2535e83d430SRalf Baechle	select I8259
2545e83d430SRalf Baechle	select ISA
2557cf8053bSRalf Baechle	select SYS_HAS_CPU_R4X00
2565e83d430SRalf Baechle	select SYS_SUPPORTS_32BIT_KERNEL
2577d60717eSKees Cook	select SYS_SUPPORTS_64BIT_KERNEL
2581723b4a3SAtsushi Nemoto	select SYS_SUPPORTS_100HZ
2591da177e4SLinus Torvalds	help
2605e83d430SRalf Baechle	 This a family of machines based on the MIPS R4030 chipset which was
2615e83d430SRalf Baechle	 used by several vendors to build RISC/os and Windows NT workstations.
262692105b8SMatt LaPlante	 Members include the Acer PICA, MIPS Magnum 4000, MIPS Millennium and
2635e83d430SRalf Baechle	 Olivetti M700-10 workstations.
2645e83d430SRalf Baechle
2655ebabe59SLars-Peter Clausenconfig MACH_JZ4740
2665ebabe59SLars-Peter Clausen	bool "Ingenic JZ4740 based machines"
2675ebabe59SLars-Peter Clausen	select SYS_HAS_CPU_MIPS32_R1
2685ebabe59SLars-Peter Clausen	select SYS_SUPPORTS_32BIT_KERNEL
2695ebabe59SLars-Peter Clausen	select SYS_SUPPORTS_LITTLE_ENDIAN
270f9c9affcSLluís Batlle i Rossell	select SYS_SUPPORTS_ZBOOT_UART16550
2715ebabe59SLars-Peter Clausen	select DMA_NONCOHERENT
2725ebabe59SLars-Peter Clausen	select IRQ_CPU
2735ebabe59SLars-Peter Clausen	select ARCH_REQUIRE_GPIOLIB
2745ebabe59SLars-Peter Clausen	select SYS_HAS_EARLY_PRINTK
275ab5330ebSMaurus Cuelenaere	select HAVE_CLK
27683bc7692SLars-Peter Clausen	select GENERIC_IRQ_CHIP
2775ebabe59SLars-Peter Clausen
278171bb2f1SJohn Crispinconfig LANTIQ
279171bb2f1SJohn Crispin	bool "Lantiq based platforms"
280171bb2f1SJohn Crispin	select DMA_NONCOHERENT
281171bb2f1SJohn Crispin	select IRQ_CPU
282171bb2f1SJohn Crispin	select CEVT_R4K
283171bb2f1SJohn Crispin	select CSRC_R4K
284171bb2f1SJohn Crispin	select SYS_HAS_CPU_MIPS32_R1
285171bb2f1SJohn Crispin	select SYS_HAS_CPU_MIPS32_R2
286171bb2f1SJohn Crispin	select SYS_SUPPORTS_BIG_ENDIAN
287171bb2f1SJohn Crispin	select SYS_SUPPORTS_32BIT_KERNEL
288377cb1b6SRalf Baechle	select SYS_SUPPORTS_MIPS16
289171bb2f1SJohn Crispin	select SYS_SUPPORTS_MULTITHREADING
290171bb2f1SJohn Crispin	select SYS_HAS_EARLY_PRINTK
291171bb2f1SJohn Crispin	select ARCH_REQUIRE_GPIOLIB
292171bb2f1SJohn Crispin	select SWAP_IO_SPACE
293171bb2f1SJohn Crispin	select BOOT_RAW
294287e3f3fSJohn Crispin	select HAVE_MACH_CLKDEV
295287e3f3fSJohn Crispin	select CLKDEV_LOOKUP
296a0392222SJohn Crispin	select USE_OF
2973f8c50c9SJohn Crispin	select PINCTRL
2983f8c50c9SJohn Crispin	select PINCTRL_LANTIQ
299*c530781cSJohn Crispin	select ARCH_HAS_RESET_CONTROLLER
300*c530781cSJohn Crispin	select RESET_CONTROLLER
301171bb2f1SJohn Crispin
3021f21d2bdSBrian Murphyconfig LASAT
3031f21d2bdSBrian Murphy	bool "LASAT Networks platforms"
30442f77542SRalf Baechle	select CEVT_R4K
30516f0bbbcSRalf Baechle	select CRC32
306940f6b48SRalf Baechle	select CSRC_R4K
3071f21d2bdSBrian Murphy	select DMA_NONCOHERENT
3081f21d2bdSBrian Murphy	select SYS_HAS_EARLY_PRINTK
3091f21d2bdSBrian Murphy	select HW_HAS_PCI
310a5ccfe5cSRalf Baechle	select IRQ_CPU
3111f21d2bdSBrian Murphy	select PCI_GT64XXX_PCI0
3121f21d2bdSBrian Murphy	select MIPS_NILE4
3131f21d2bdSBrian Murphy	select R5000_CPU_SCACHE
3141f21d2bdSBrian Murphy	select SYS_HAS_CPU_R5000
3151f21d2bdSBrian Murphy	select SYS_SUPPORTS_32BIT_KERNEL
3161f21d2bdSBrian Murphy	select SYS_SUPPORTS_64BIT_KERNEL if BROKEN
3171f21d2bdSBrian Murphy	select SYS_SUPPORTS_LITTLE_ENDIAN
3181f21d2bdSBrian Murphy
31985749d24SWu Zhangjinconfig MACH_LOONGSON
32085749d24SWu Zhangjin	bool "Loongson family of machines"
321c7e8c668SWu Zhangjin	select SYS_SUPPORTS_ZBOOT
322ade299d8SYoichi Yuasa	help
32385749d24SWu Zhangjin	  This enables the support of Loongson family of machines.
32485749d24SWu Zhangjin
32585749d24SWu Zhangjin	  Loongson is a family of general-purpose MIPS-compatible CPUs.
32685749d24SWu Zhangjin	  developed at Institute of Computing Technology (ICT),
32785749d24SWu Zhangjin	  Chinese Academy of Sciences (CAS) in the People's Republic
32885749d24SWu Zhangjin	  of China. The chief architect is Professor Weiwu Hu.
329ade299d8SYoichi Yuasa
330ca585cf9SKelvin Cheungconfig MACH_LOONGSON1
331ca585cf9SKelvin Cheung	bool "Loongson 1 family of machines"
332ca585cf9SKelvin Cheung	select SYS_SUPPORTS_ZBOOT
333ca585cf9SKelvin Cheung	help
334ca585cf9SKelvin Cheung	  This enables support for the Loongson 1 based machines.
335ca585cf9SKelvin Cheung
336ca585cf9SKelvin Cheung	  Loongson 1 is a family of 32-bit MIPS-compatible SoCs developed by
337ca585cf9SKelvin Cheung	  the ICT (Institute of Computing Technology) and the Chinese Academy
338ca585cf9SKelvin Cheung	  of Sciences.
339ca585cf9SKelvin Cheung
3401da177e4SLinus Torvaldsconfig MIPS_MALTA
3413fa986faSMartin Michlmayr	bool "MIPS Malta board"
34261ed242dSRalf Baechle	select ARCH_MAY_HAVE_PC_FDC
3431da177e4SLinus Torvalds	select BOOT_ELF32
344fa71c960SRalf Baechle	select BOOT_RAW
34542f77542SRalf Baechle	select CEVT_R4K
346940f6b48SRalf Baechle	select CSRC_R4K
347fa5635a2SAndrew Bresticker	select CLKSRC_MIPS_GIC
348885014bcSFelix Fietkau	select DMA_MAYBE_COHERENT
3491da177e4SLinus Torvalds	select GENERIC_ISA_DMA
3508a118c38SRalf Baechle	select HAVE_PCSPKR_PLATFORM
351aa414dffSRalf Baechle	select IRQ_CPU
3528a19b8f1SAndrew Bresticker	select MIPS_GIC
3531da177e4SLinus Torvalds	select HW_HAS_PCI
354d865bea4SRalf Baechle	select I8253
3551da177e4SLinus Torvalds	select I8259
3565e83d430SRalf Baechle	select MIPS_BONITO64
3579318c51aSChris Dearman	select MIPS_CPU_SCACHE
358a7ef1eadSKevin Cernekee	select MIPS_L1_CACHE_SHIFT_6
359252161ecSYoichi Yuasa	select PCI_GT64XXX_PCI0
3605e83d430SRalf Baechle	select MIPS_MSC
3611da177e4SLinus Torvalds	select SWAP_IO_SPACE
3627cf8053bSRalf Baechle	select SYS_HAS_CPU_MIPS32_R1
3637cf8053bSRalf Baechle	select SYS_HAS_CPU_MIPS32_R2
364bfc3c5a6SMarkos Chandras	select SYS_HAS_CPU_MIPS32_R3_5
3657cf8053bSRalf Baechle	select SYS_HAS_CPU_MIPS64_R1
3665d9fbed1SLeonid Yegoshin	select SYS_HAS_CPU_MIPS64_R2
3677cf8053bSRalf Baechle	select SYS_HAS_CPU_NEVADA
3687cf8053bSRalf Baechle	select SYS_HAS_CPU_RM7000
369ed5ba2fbSYoichi Yuasa	select SYS_SUPPORTS_32BIT_KERNEL
370ed5ba2fbSYoichi Yuasa	select SYS_SUPPORTS_64BIT_KERNEL
3715e83d430SRalf Baechle	select SYS_SUPPORTS_BIG_ENDIAN
3725e83d430SRalf Baechle	select SYS_SUPPORTS_LITTLE_ENDIAN
3730365070fSTim Anderson	select SYS_SUPPORTS_MIPS_CMP
374e56b6aa6SPaul Burton	select SYS_SUPPORTS_MIPS_CPS
375377cb1b6SRalf Baechle	select SYS_SUPPORTS_MIPS16
376f41ae0b2SRalf Baechle	select SYS_SUPPORTS_MULTITHREADING
3779693a853SFranck Bui-Huu	select SYS_SUPPORTS_SMARTMIPS
3781b93b3c3SWu Zhangjin	select SYS_SUPPORTS_ZBOOT
3791da177e4SLinus Torvalds	help
380f638d197SMaciej W. Rozycki	  This enables support for the MIPS Technologies Malta evaluation
3811da177e4SLinus Torvalds	  board.
3821da177e4SLinus Torvalds
383ec47b274SSteven J. Hillconfig MIPS_SEAD3
384ec47b274SSteven J. Hill	bool "MIPS SEAD3 board"
385ec47b274SSteven J. Hill	select BOOT_ELF32
386ec47b274SSteven J. Hill	select BOOT_RAW
387f262b5f2SAndrew Bresticker	select BUILTIN_DTB
388ec47b274SSteven J. Hill	select CEVT_R4K
389ec47b274SSteven J. Hill	select CSRC_R4K
390fa5635a2SAndrew Bresticker	select CLKSRC_MIPS_GIC
391ec47b274SSteven J. Hill	select CPU_MIPSR2_IRQ_VI
392ec47b274SSteven J. Hill	select CPU_MIPSR2_IRQ_EI
393ec47b274SSteven J. Hill	select DMA_NONCOHERENT
394ec47b274SSteven J. Hill	select IRQ_CPU
3958a19b8f1SAndrew Bresticker	select MIPS_GIC
39644327236SQais Yousef	select LIBFDT
397ec47b274SSteven J. Hill	select MIPS_MSC
398ec47b274SSteven J. Hill	select SYS_HAS_CPU_MIPS32_R1
399ec47b274SSteven J. Hill	select SYS_HAS_CPU_MIPS32_R2
400ec47b274SSteven J. Hill	select SYS_HAS_CPU_MIPS64_R1
401ec47b274SSteven J. Hill	select SYS_HAS_EARLY_PRINTK
402ec47b274SSteven J. Hill	select SYS_SUPPORTS_32BIT_KERNEL
403ec47b274SSteven J. Hill	select SYS_SUPPORTS_64BIT_KERNEL
404ec47b274SSteven J. Hill	select SYS_SUPPORTS_BIG_ENDIAN
405ec47b274SSteven J. Hill	select SYS_SUPPORTS_LITTLE_ENDIAN
406ec47b274SSteven J. Hill	select SYS_SUPPORTS_SMARTMIPS
407a6a4834cSSteven J. Hill	select SYS_SUPPORTS_MICROMIPS
408377cb1b6SRalf Baechle	select SYS_SUPPORTS_MIPS16
409ec47b274SSteven J. Hill	select USB_EHCI_BIG_ENDIAN_DESC
410ec47b274SSteven J. Hill	select USB_EHCI_BIG_ENDIAN_MMIO
4119b731009SSteven J. Hill	select USE_OF
412ec47b274SSteven J. Hill	help
413ec47b274SSteven J. Hill	  This enables support for the MIPS Technologies SEAD3 evaluation
414ec47b274SSteven J. Hill	  board.
415ec47b274SSteven J. Hill
416a83860c2SRalf Baechleconfig NEC_MARKEINS
417a83860c2SRalf Baechle	bool "NEC EMMA2RH Mark-eins board"
418a83860c2SRalf Baechle	select SOC_EMMA2RH
419a83860c2SRalf Baechle	select HW_HAS_PCI
420a83860c2SRalf Baechle	help
421a83860c2SRalf Baechle	  This enables support for the NEC Electronics Mark-eins boards.
422ade299d8SYoichi Yuasa
4235e83d430SRalf Baechleconfig MACH_VR41XX
42474142d65SYoichi Yuasa	bool "NEC VR4100 series based machines"
42542f77542SRalf Baechle	select CEVT_R4K
426940f6b48SRalf Baechle	select CSRC_R4K
4277cf8053bSRalf Baechle	select SYS_HAS_CPU_VR41XX
428377cb1b6SRalf Baechle	select SYS_SUPPORTS_MIPS16
42927fdd325SYoichi Yuasa	select ARCH_REQUIRE_GPIOLIB
4305e83d430SRalf Baechle
431edb6310aSDaniel Lairdconfig NXP_STB220
432edb6310aSDaniel Laird	bool "NXP STB220 board"
433edb6310aSDaniel Laird	select SOC_PNX833X
434edb6310aSDaniel Laird	help
435edb6310aSDaniel Laird	 Support for NXP Semiconductors STB220 Development Board.
436edb6310aSDaniel Laird
437edb6310aSDaniel Lairdconfig NXP_STB225
438edb6310aSDaniel Laird	bool "NXP 225 board"
439edb6310aSDaniel Laird	select SOC_PNX833X
440edb6310aSDaniel Laird	select SOC_PNX8335
441edb6310aSDaniel Laird	help
442edb6310aSDaniel Laird	 Support for NXP Semiconductors STB225 Development Board.
443edb6310aSDaniel Laird
4449267a30dSMarc St-Jeanconfig PMC_MSP
4459267a30dSMarc St-Jean	bool "PMC-Sierra MSP chipsets"
44639d30c13SAnoop P A	select CEVT_R4K
44739d30c13SAnoop P A	select CSRC_R4K
4489267a30dSMarc St-Jean	select DMA_NONCOHERENT
4499267a30dSMarc St-Jean	select SWAP_IO_SPACE
4509267a30dSMarc St-Jean	select NO_EXCEPT_FILL
4519267a30dSMarc St-Jean	select BOOT_RAW
4529267a30dSMarc St-Jean	select SYS_HAS_CPU_MIPS32_R1
4539267a30dSMarc St-Jean	select SYS_HAS_CPU_MIPS32_R2
4549267a30dSMarc St-Jean	select SYS_SUPPORTS_32BIT_KERNEL
4559267a30dSMarc St-Jean	select SYS_SUPPORTS_BIG_ENDIAN
456377cb1b6SRalf Baechle	select SYS_SUPPORTS_MIPS16
4579267a30dSMarc St-Jean	select IRQ_CPU
4589267a30dSMarc St-Jean	select SERIAL_8250
4599267a30dSMarc St-Jean	select SERIAL_8250_CONSOLE
4609296d94dSFlorian Fainelli	select USB_EHCI_BIG_ENDIAN_MMIO
4619296d94dSFlorian Fainelli	select USB_EHCI_BIG_ENDIAN_DESC
4629267a30dSMarc St-Jean	help
4639267a30dSMarc St-Jean	  This adds support for the PMC-Sierra family of Multi-Service
4649267a30dSMarc St-Jean	  Processor System-On-A-Chips.  These parts include a number
4659267a30dSMarc St-Jean	  of integrated peripherals, interfaces and DSPs in addition to
4669267a30dSMarc St-Jean	  a variety of MIPS cores.
4679267a30dSMarc St-Jean
468ae2b5bb6SJohn Crispinconfig RALINK
469ae2b5bb6SJohn Crispin	bool "Ralink based machines"
470ae2b5bb6SJohn Crispin	select CEVT_R4K
471ae2b5bb6SJohn Crispin	select CSRC_R4K
472ae2b5bb6SJohn Crispin	select BOOT_RAW
473ae2b5bb6SJohn Crispin	select DMA_NONCOHERENT
474ae2b5bb6SJohn Crispin	select IRQ_CPU
475ae2b5bb6SJohn Crispin	select USE_OF
476ae2b5bb6SJohn Crispin	select SYS_HAS_CPU_MIPS32_R1
477ae2b5bb6SJohn Crispin	select SYS_HAS_CPU_MIPS32_R2
478ae2b5bb6SJohn Crispin	select SYS_SUPPORTS_32BIT_KERNEL
479ae2b5bb6SJohn Crispin	select SYS_SUPPORTS_LITTLE_ENDIAN
480377cb1b6SRalf Baechle	select SYS_SUPPORTS_MIPS16
481ae2b5bb6SJohn Crispin	select SYS_HAS_EARLY_PRINTK
482ae2b5bb6SJohn Crispin	select HAVE_MACH_CLKDEV
483ae2b5bb6SJohn Crispin	select CLKDEV_LOOKUP
4842a153f1cSJohn Crispin	select ARCH_HAS_RESET_CONTROLLER
4852a153f1cSJohn Crispin	select RESET_CONTROLLER
486ae2b5bb6SJohn Crispin
4871da177e4SLinus Torvaldsconfig SGI_IP22
4883fa986faSMartin Michlmayr	bool "SGI IP22 (Indy/Indigo2)"
4890e2794b0SRalf Baechle	select FW_ARC
4900e2794b0SRalf Baechle	select FW_ARC32
4911da177e4SLinus Torvalds	select BOOT_ELF32
49242f77542SRalf Baechle	select CEVT_R4K
493940f6b48SRalf Baechle	select CSRC_R4K
494e2defae5SThomas Bogendoerfer	select DEFAULT_SGI_PARTITION
4951da177e4SLinus Torvalds	select DMA_NONCOHERENT
4965e83d430SRalf Baechle	select HW_HAS_EISA
497d865bea4SRalf Baechle	select I8253
49868de4803SThomas Bogendoerfer	select I8259
4991da177e4SLinus Torvalds	select IP22_CPU_SCACHE
5001da177e4SLinus Torvalds	select IRQ_CPU
501aa414dffSRalf Baechle	select GENERIC_ISA_DMA_SUPPORT_BROKEN
502e2defae5SThomas Bogendoerfer	select SGI_HAS_I8042
503e2defae5SThomas Bogendoerfer	select SGI_HAS_INDYDOG
50436e5c21dSThomas Bogendoerfer	select SGI_HAS_HAL2
505e2defae5SThomas Bogendoerfer	select SGI_HAS_SEEQ
506e2defae5SThomas Bogendoerfer	select SGI_HAS_WD93
507e2defae5SThomas Bogendoerfer	select SGI_HAS_ZILOG
5081da177e4SLinus Torvalds	select SWAP_IO_SPACE
5097cf8053bSRalf Baechle	select SYS_HAS_CPU_R4X00
5107cf8053bSRalf Baechle	select SYS_HAS_CPU_R5000
5112b5e63f6SMartin Michlmayr	#
5122b5e63f6SMartin Michlmayr	# Disable EARLY_PRINTK for now since it leads to overwritten prom
5132b5e63f6SMartin Michlmayr	# memory during early boot on some machines.
5142b5e63f6SMartin Michlmayr	#
5152b5e63f6SMartin Michlmayr	# See http://www.linux-mips.org/cgi-bin/mesg.cgi?a=linux-mips&i=20091119164009.GA15038%40deprecation.cyrius.com
5162b5e63f6SMartin Michlmayr	# for a more details discussion
5172b5e63f6SMartin Michlmayr	#
5182b5e63f6SMartin Michlmayr	# select SYS_HAS_EARLY_PRINTK
519ed5ba2fbSYoichi Yuasa	select SYS_SUPPORTS_32BIT_KERNEL
520ed5ba2fbSYoichi Yuasa	select SYS_SUPPORTS_64BIT_KERNEL
5215e83d430SRalf Baechle	select SYS_SUPPORTS_BIG_ENDIAN
522930beb5aSFlorian Fainelli	select MIPS_L1_CACHE_SHIFT_7
5231da177e4SLinus Torvalds	help
5241da177e4SLinus Torvalds	  This are the SGI Indy, Challenge S and Indigo2, as well as certain
5251da177e4SLinus Torvalds	  OEM variants like the Tandem CMN B006S. To compile a Linux kernel
5261da177e4SLinus Torvalds	  that runs on these, say Y here.
5271da177e4SLinus Torvalds
5281da177e4SLinus Torvaldsconfig SGI_IP27
5293fa986faSMartin Michlmayr	bool "SGI IP27 (Origin200/2000)"
5300e2794b0SRalf Baechle	select FW_ARC
5310e2794b0SRalf Baechle	select FW_ARC64
5325e83d430SRalf Baechle	select BOOT_ELF64
533e2defae5SThomas Bogendoerfer	select DEFAULT_SGI_PARTITION
534634286f1SRalf Baechle	select DMA_COHERENT
53536a88530SRalf Baechle	select SYS_HAS_EARLY_PRINTK
5361da177e4SLinus Torvalds	select HW_HAS_PCI
537130e2fb7SRalf Baechle	select NR_CPUS_DEFAULT_64
5387cf8053bSRalf Baechle	select SYS_HAS_CPU_R10000
539ed5ba2fbSYoichi Yuasa	select SYS_SUPPORTS_64BIT_KERNEL
5405e83d430SRalf Baechle	select SYS_SUPPORTS_BIG_ENDIAN
541d8cb4e11SRalf Baechle	select SYS_SUPPORTS_NUMA
5421a5c5de1SRalf Baechle	select SYS_SUPPORTS_SMP
543930beb5aSFlorian Fainelli	select MIPS_L1_CACHE_SHIFT_7
5441da177e4SLinus Torvalds	help
5451da177e4SLinus Torvalds	  This are the SGI Origin 200, Origin 2000 and Onyx 2 Graphics
5461da177e4SLinus Torvalds	  workstations.  To compile a Linux kernel that runs on these, say Y
5471da177e4SLinus Torvalds	  here.
5481da177e4SLinus Torvalds
549e2defae5SThomas Bogendoerferconfig SGI_IP28
5507d60717eSKees Cook	bool "SGI IP28 (Indigo2 R10k)"
5510e2794b0SRalf Baechle	select FW_ARC
5520e2794b0SRalf Baechle	select FW_ARC64
553e2defae5SThomas Bogendoerfer	select BOOT_ELF64
554e2defae5SThomas Bogendoerfer	select CEVT_R4K
555e2defae5SThomas Bogendoerfer	select CSRC_R4K
556e2defae5SThomas Bogendoerfer	select DEFAULT_SGI_PARTITION
557e2defae5SThomas Bogendoerfer	select DMA_NONCOHERENT
558e2defae5SThomas Bogendoerfer	select GENERIC_ISA_DMA_SUPPORT_BROKEN
559e2defae5SThomas Bogendoerfer	select IRQ_CPU
560e2defae5SThomas Bogendoerfer	select HW_HAS_EISA
561e2defae5SThomas Bogendoerfer	select I8253
562e2defae5SThomas Bogendoerfer	select I8259
563e2defae5SThomas Bogendoerfer	select SGI_HAS_I8042
564e2defae5SThomas Bogendoerfer	select SGI_HAS_INDYDOG
5655b438c44SThomas Bogendoerfer	select SGI_HAS_HAL2
566e2defae5SThomas Bogendoerfer	select SGI_HAS_SEEQ
567e2defae5SThomas Bogendoerfer	select SGI_HAS_WD93
568e2defae5SThomas Bogendoerfer	select SGI_HAS_ZILOG
569e2defae5SThomas Bogendoerfer	select SWAP_IO_SPACE
570e2defae5SThomas Bogendoerfer	select SYS_HAS_CPU_R10000
5712b5e63f6SMartin Michlmayr	#
5722b5e63f6SMartin Michlmayr	# Disable EARLY_PRINTK for now since it leads to overwritten prom
5732b5e63f6SMartin Michlmayr	# memory during early boot on some machines.
5742b5e63f6SMartin Michlmayr	#
5752b5e63f6SMartin Michlmayr	# See http://www.linux-mips.org/cgi-bin/mesg.cgi?a=linux-mips&i=20091119164009.GA15038%40deprecation.cyrius.com
5762b5e63f6SMartin Michlmayr	# for a more details discussion
5772b5e63f6SMartin Michlmayr	#
5782b5e63f6SMartin Michlmayr	# select SYS_HAS_EARLY_PRINTK
579e2defae5SThomas Bogendoerfer	select SYS_SUPPORTS_64BIT_KERNEL
580e2defae5SThomas Bogendoerfer	select SYS_SUPPORTS_BIG_ENDIAN
581dc24d68dSThomas Bogendoerfer	select MIPS_L1_CACHE_SHIFT_7
582e2defae5SThomas Bogendoerfer      help
583e2defae5SThomas Bogendoerfer        This is the SGI Indigo2 with R10000 processor.  To compile a Linux
584e2defae5SThomas Bogendoerfer        kernel that runs on these, say Y here.
585e2defae5SThomas Bogendoerfer
5861da177e4SLinus Torvaldsconfig SGI_IP32
587cfd2afc0SRalf Baechle	bool "SGI IP32 (O2)"
5880e2794b0SRalf Baechle	select FW_ARC
5890e2794b0SRalf Baechle	select FW_ARC32
5901da177e4SLinus Torvalds	select BOOT_ELF32
59142f77542SRalf Baechle	select CEVT_R4K
592940f6b48SRalf Baechle	select CSRC_R4K
5931da177e4SLinus Torvalds	select DMA_NONCOHERENT
5941da177e4SLinus Torvalds	select HW_HAS_PCI
595dd67b155SRalf Baechle	select IRQ_CPU
5961da177e4SLinus Torvalds	select R5000_CPU_SCACHE
5971da177e4SLinus Torvalds	select RM7000_CPU_SCACHE
5987cf8053bSRalf Baechle	select SYS_HAS_CPU_R5000
5997cf8053bSRalf Baechle	select SYS_HAS_CPU_R10000 if BROKEN
6007cf8053bSRalf Baechle	select SYS_HAS_CPU_RM7000
601dd2f18feSRalf Baechle	select SYS_HAS_CPU_NEVADA
602ed5ba2fbSYoichi Yuasa	select SYS_SUPPORTS_64BIT_KERNEL
6035e83d430SRalf Baechle	select SYS_SUPPORTS_BIG_ENDIAN
6041da177e4SLinus Torvalds	help
6051da177e4SLinus Torvalds	  If you want this kernel to run on SGI O2 workstation, say Y here.
6061da177e4SLinus Torvalds
607ade299d8SYoichi Yuasaconfig SIBYTE_CRHINE
608ade299d8SYoichi Yuasa	bool "Sibyte BCM91120C-CRhine"
6095e83d430SRalf Baechle	select BOOT_ELF32
6105e83d430SRalf Baechle	select DMA_COHERENT
6115e83d430SRalf Baechle	select SIBYTE_BCM1120
6125e83d430SRalf Baechle	select SWAP_IO_SPACE
6137cf8053bSRalf Baechle	select SYS_HAS_CPU_SB1
6145e83d430SRalf Baechle	select SYS_SUPPORTS_BIG_ENDIAN
6155e83d430SRalf Baechle	select SYS_SUPPORTS_LITTLE_ENDIAN
6165e83d430SRalf Baechle
617ade299d8SYoichi Yuasaconfig SIBYTE_CARMEL
618ade299d8SYoichi Yuasa	bool "Sibyte BCM91120x-Carmel"
6195e83d430SRalf Baechle	select BOOT_ELF32
6205e83d430SRalf Baechle	select DMA_COHERENT
6215e83d430SRalf Baechle	select SIBYTE_BCM1120
6225e83d430SRalf Baechle	select SWAP_IO_SPACE
6237cf8053bSRalf Baechle	select SYS_HAS_CPU_SB1
6245e83d430SRalf Baechle	select SYS_SUPPORTS_BIG_ENDIAN
6255e83d430SRalf Baechle	select SYS_SUPPORTS_LITTLE_ENDIAN
6265e83d430SRalf Baechle
6275e83d430SRalf Baechleconfig SIBYTE_CRHONE
6283fa986faSMartin Michlmayr	bool "Sibyte BCM91125C-CRhone"
6295e83d430SRalf Baechle	select BOOT_ELF32
6305e83d430SRalf Baechle	select DMA_COHERENT
6315e83d430SRalf Baechle	select SIBYTE_BCM1125
6325e83d430SRalf Baechle	select SWAP_IO_SPACE
6337cf8053bSRalf Baechle	select SYS_HAS_CPU_SB1
6345e83d430SRalf Baechle	select SYS_SUPPORTS_BIG_ENDIAN
6355e83d430SRalf Baechle	select SYS_SUPPORTS_HIGHMEM
6365e83d430SRalf Baechle	select SYS_SUPPORTS_LITTLE_ENDIAN
6375e83d430SRalf Baechle
638ade299d8SYoichi Yuasaconfig SIBYTE_RHONE
639ade299d8SYoichi Yuasa	bool "Sibyte BCM91125E-Rhone"
640ade299d8SYoichi Yuasa	select BOOT_ELF32
641ade299d8SYoichi Yuasa	select DMA_COHERENT
642ade299d8SYoichi Yuasa	select SIBYTE_BCM1125H
643ade299d8SYoichi Yuasa	select SWAP_IO_SPACE
644ade299d8SYoichi Yuasa	select SYS_HAS_CPU_SB1
645ade299d8SYoichi Yuasa	select SYS_SUPPORTS_BIG_ENDIAN
646ade299d8SYoichi Yuasa	select SYS_SUPPORTS_LITTLE_ENDIAN
647ade299d8SYoichi Yuasa
648ade299d8SYoichi Yuasaconfig SIBYTE_SWARM
649ade299d8SYoichi Yuasa	bool "Sibyte BCM91250A-SWARM"
650ade299d8SYoichi Yuasa	select BOOT_ELF32
651ade299d8SYoichi Yuasa	select DMA_COHERENT
652fcf3ca4cSSebastian Andrzej Siewior	select HAVE_PATA_PLATFORM
653ade299d8SYoichi Yuasa	select SIBYTE_SB1250
654ade299d8SYoichi Yuasa	select SWAP_IO_SPACE
655ade299d8SYoichi Yuasa	select SYS_HAS_CPU_SB1
656ade299d8SYoichi Yuasa	select SYS_SUPPORTS_BIG_ENDIAN
657ade299d8SYoichi Yuasa	select SYS_SUPPORTS_HIGHMEM
658ade299d8SYoichi Yuasa	select SYS_SUPPORTS_LITTLE_ENDIAN
659cce335aeSRalf Baechle	select ZONE_DMA32 if 64BIT
660ade299d8SYoichi Yuasa
661ade299d8SYoichi Yuasaconfig SIBYTE_LITTLESUR
662ade299d8SYoichi Yuasa	bool "Sibyte BCM91250C2-LittleSur"
663ade299d8SYoichi Yuasa	select BOOT_ELF32
664ade299d8SYoichi Yuasa	select DMA_COHERENT
665fcf3ca4cSSebastian Andrzej Siewior	select HAVE_PATA_PLATFORM
666ade299d8SYoichi Yuasa	select SIBYTE_SB1250
667ade299d8SYoichi Yuasa	select SWAP_IO_SPACE
668ade299d8SYoichi Yuasa	select SYS_HAS_CPU_SB1
669ade299d8SYoichi Yuasa	select SYS_SUPPORTS_BIG_ENDIAN
670ade299d8SYoichi Yuasa	select SYS_SUPPORTS_HIGHMEM
671ade299d8SYoichi Yuasa	select SYS_SUPPORTS_LITTLE_ENDIAN
672ade299d8SYoichi Yuasa
673ade299d8SYoichi Yuasaconfig SIBYTE_SENTOSA
674ade299d8SYoichi Yuasa	bool "Sibyte BCM91250E-Sentosa"
675ade299d8SYoichi Yuasa	select BOOT_ELF32
676ade299d8SYoichi Yuasa	select DMA_COHERENT
677ade299d8SYoichi Yuasa	select SIBYTE_SB1250
678ade299d8SYoichi Yuasa	select SWAP_IO_SPACE
679ade299d8SYoichi Yuasa	select SYS_HAS_CPU_SB1
680ade299d8SYoichi Yuasa	select SYS_SUPPORTS_BIG_ENDIAN
681ade299d8SYoichi Yuasa	select SYS_SUPPORTS_LITTLE_ENDIAN
682ade299d8SYoichi Yuasa
683ade299d8SYoichi Yuasaconfig SIBYTE_BIGSUR
684ade299d8SYoichi Yuasa	bool "Sibyte BCM91480B-BigSur"
685ade299d8SYoichi Yuasa	select BOOT_ELF32
686ade299d8SYoichi Yuasa	select DMA_COHERENT
687ade299d8SYoichi Yuasa	select NR_CPUS_DEFAULT_4
688ade299d8SYoichi Yuasa	select SIBYTE_BCM1x80
689ade299d8SYoichi Yuasa	select SWAP_IO_SPACE
690ade299d8SYoichi Yuasa	select SYS_HAS_CPU_SB1
691ade299d8SYoichi Yuasa	select SYS_SUPPORTS_BIG_ENDIAN
692651194f8SRalf Baechle	select SYS_SUPPORTS_HIGHMEM
693ade299d8SYoichi Yuasa	select SYS_SUPPORTS_LITTLE_ENDIAN
694cce335aeSRalf Baechle	select ZONE_DMA32 if 64BIT
695ade299d8SYoichi Yuasa
69614b36af4SThomas Bogendoerferconfig SNI_RM
69714b36af4SThomas Bogendoerfer	bool "SNI RM200/300/400"
6980e2794b0SRalf Baechle	select FW_ARC if CPU_LITTLE_ENDIAN
6990e2794b0SRalf Baechle	select FW_ARC32 if CPU_LITTLE_ENDIAN
700aaa9fad3SPaul Bolle	select FW_SNIPROM if CPU_BIG_ENDIAN
7015e83d430SRalf Baechle	select ARCH_MAY_HAVE_PC_FDC
7025e83d430SRalf Baechle	select BOOT_ELF32
70342f77542SRalf Baechle	select CEVT_R4K
704940f6b48SRalf Baechle	select CSRC_R4K
705e2defae5SThomas Bogendoerfer	select DEFAULT_SGI_PARTITION if CPU_BIG_ENDIAN
7065e83d430SRalf Baechle	select DMA_NONCOHERENT
7075e83d430SRalf Baechle	select GENERIC_ISA_DMA
7088a118c38SRalf Baechle	select HAVE_PCSPKR_PLATFORM
7095e83d430SRalf Baechle	select HW_HAS_EISA
7105e83d430SRalf Baechle	select HW_HAS_PCI
711c066a32aSThomas Bogendoerfer	select IRQ_CPU
712d865bea4SRalf Baechle	select I8253
7135e83d430SRalf Baechle	select I8259
7145e83d430SRalf Baechle	select ISA
7154a0312fcSThomas Bogendoerfer	select SWAP_IO_SPACE if CPU_BIG_ENDIAN
7167cf8053bSRalf Baechle	select SYS_HAS_CPU_R4X00
7174a0312fcSThomas Bogendoerfer	select SYS_HAS_CPU_R5000
718c066a32aSThomas Bogendoerfer	select SYS_HAS_CPU_R10000
7194a0312fcSThomas Bogendoerfer	select R5000_CPU_SCACHE
72036a88530SRalf Baechle	select SYS_HAS_EARLY_PRINTK
721ed5ba2fbSYoichi Yuasa	select SYS_SUPPORTS_32BIT_KERNEL
7227d60717eSKees Cook	select SYS_SUPPORTS_64BIT_KERNEL
7234a0312fcSThomas Bogendoerfer	select SYS_SUPPORTS_BIG_ENDIAN
7245e83d430SRalf Baechle	select SYS_SUPPORTS_HIGHMEM
7255e83d430SRalf Baechle	select SYS_SUPPORTS_LITTLE_ENDIAN
7261da177e4SLinus Torvalds	help
72714b36af4SThomas Bogendoerfer	  The SNI RM200/300/400 are MIPS-based machines manufactured by
72814b36af4SThomas Bogendoerfer	  Siemens Nixdorf Informationssysteme (SNI), parent company of Pyramid
7295e83d430SRalf Baechle	  Technology and now in turn merged with Fujitsu.  Say Y here to
7305e83d430SRalf Baechle	  support this machine type.
7311da177e4SLinus Torvalds
732edcaf1a6SAtsushi Nemotoconfig MACH_TX39XX
733edcaf1a6SAtsushi Nemoto	bool "Toshiba TX39 series based machines"
7345e83d430SRalf Baechle
735edcaf1a6SAtsushi Nemotoconfig MACH_TX49XX
736edcaf1a6SAtsushi Nemoto	bool "Toshiba TX49 series based machines"
73723fbee9dSRalf Baechle
73873b4390fSRalf Baechleconfig MIKROTIK_RB532
73973b4390fSRalf Baechle	bool "Mikrotik RB532 boards"
74073b4390fSRalf Baechle	select CEVT_R4K
74173b4390fSRalf Baechle	select CSRC_R4K
74273b4390fSRalf Baechle	select DMA_NONCOHERENT
74373b4390fSRalf Baechle	select HW_HAS_PCI
74473b4390fSRalf Baechle	select IRQ_CPU
74573b4390fSRalf Baechle	select SYS_HAS_CPU_MIPS32_R1
74673b4390fSRalf Baechle	select SYS_SUPPORTS_32BIT_KERNEL
74773b4390fSRalf Baechle	select SYS_SUPPORTS_LITTLE_ENDIAN
74873b4390fSRalf Baechle	select SWAP_IO_SPACE
74973b4390fSRalf Baechle	select BOOT_RAW
750d888e25bSFlorian Fainelli	select ARCH_REQUIRE_GPIOLIB
751930beb5aSFlorian Fainelli	select MIPS_L1_CACHE_SHIFT_4
75273b4390fSRalf Baechle	help
75373b4390fSRalf Baechle	  Support the Mikrotik(tm) RouterBoard 532 series,
75473b4390fSRalf Baechle	  based on the IDT RC32434 SoC.
75573b4390fSRalf Baechle
7569ddebc46SDavid Daneyconfig CAVIUM_OCTEON_SOC
7579ddebc46SDavid Daney	bool "Cavium Networks Octeon SoC based boards"
758a86c7f72SDavid Daney	select CEVT_R4K
759a86c7f72SDavid Daney	select 64BIT_PHYS_ADDR
760a86c7f72SDavid Daney	select DMA_COHERENT
761a86c7f72SDavid Daney	select SYS_SUPPORTS_64BIT_KERNEL
762a86c7f72SDavid Daney	select SYS_SUPPORTS_BIG_ENDIAN
763f65aad41SRalf Baechle	select EDAC_SUPPORT
764773cb77dSRalf Baechle	select SYS_SUPPORTS_HOTPLUG_CPU
765a86c7f72SDavid Daney	select SYS_HAS_EARLY_PRINTK
7665e683389SDavid Daney	select SYS_HAS_CPU_CAVIUM_OCTEON
767a86c7f72SDavid Daney	select SWAP_IO_SPACE
768e8635b48SDavid Daney	select HW_HAS_PCI
769f00e001eSDavid Daney	select ZONE_DMA32
770465aaed0SDavid Daney	select HOLES_IN_ZONE
77199cab4bbSDavid Daney	select ARCH_REQUIRE_GPIOLIB
7726e511163SDavid Daney	select LIBFDT
7736e511163SDavid Daney	select USE_OF
7746e511163SDavid Daney	select ARCH_SPARSEMEM_ENABLE
7756e511163SDavid Daney	select SYS_SUPPORTS_SMP
7766e511163SDavid Daney	select NR_CPUS_DEFAULT_16
777e326479fSAndrew Bresticker	select BUILTIN_DTB
778a86c7f72SDavid Daney	help
779a86c7f72SDavid Daney	  This option supports all of the Octeon reference boards from Cavium
780a86c7f72SDavid Daney	  Networks. It builds a kernel that dynamically determines the Octeon
781a86c7f72SDavid Daney	  CPU type and supports all known board reference implementations.
782a86c7f72SDavid Daney	  Some of the supported boards are:
783a86c7f72SDavid Daney		EBT3000
784a86c7f72SDavid Daney		EBH3000
785a86c7f72SDavid Daney		EBH3100
786a86c7f72SDavid Daney		Thunder
787a86c7f72SDavid Daney		Kodama
788a86c7f72SDavid Daney		Hikari
789a86c7f72SDavid Daney	  Say Y here for most Octeon reference boards.
790a86c7f72SDavid Daney
7917f058e85SJayachandran Cconfig NLM_XLR_BOARD
7927f058e85SJayachandran C	bool "Netlogic XLR/XLS based systems"
7937f058e85SJayachandran C	select BOOT_ELF32
7947f058e85SJayachandran C	select NLM_COMMON
7957f058e85SJayachandran C	select SYS_HAS_CPU_XLR
7967f058e85SJayachandran C	select SYS_SUPPORTS_SMP
7977f058e85SJayachandran C	select HW_HAS_PCI
7987f058e85SJayachandran C	select SWAP_IO_SPACE
7997f058e85SJayachandran C	select SYS_SUPPORTS_32BIT_KERNEL
8007f058e85SJayachandran C	select SYS_SUPPORTS_64BIT_KERNEL
8017f058e85SJayachandran C	select 64BIT_PHYS_ADDR
8027f058e85SJayachandran C	select SYS_SUPPORTS_BIG_ENDIAN
8037f058e85SJayachandran C	select SYS_SUPPORTS_HIGHMEM
8047f058e85SJayachandran C	select DMA_COHERENT
8057f058e85SJayachandran C	select NR_CPUS_DEFAULT_32
8067f058e85SJayachandran C	select CEVT_R4K
8077f058e85SJayachandran C	select CSRC_R4K
8087f058e85SJayachandran C	select IRQ_CPU
809b97215fdSJayachandran C	select ZONE_DMA32 if 64BIT
8107f058e85SJayachandran C	select SYNC_R4K
8117f058e85SJayachandran C	select SYS_HAS_EARLY_PRINTK
8128f0b0430SJayachandran C	select SYS_SUPPORTS_ZBOOT
8138f0b0430SJayachandran C	select SYS_SUPPORTS_ZBOOT_UART16550
8147f058e85SJayachandran C	help
8157f058e85SJayachandran C	  Support for systems based on Netlogic XLR and XLS processors.
8167f058e85SJayachandran C	  Say Y here if you have a XLR or XLS based board.
8177f058e85SJayachandran C
8181c773ea4SJayachandran Cconfig NLM_XLP_BOARD
8191c773ea4SJayachandran C	bool "Netlogic XLP based systems"
8201c773ea4SJayachandran C	select BOOT_ELF32
8211c773ea4SJayachandran C	select NLM_COMMON
8221c773ea4SJayachandran C	select SYS_HAS_CPU_XLP
8231c773ea4SJayachandran C	select SYS_SUPPORTS_SMP
8241c773ea4SJayachandran C	select HW_HAS_PCI
8251c773ea4SJayachandran C	select SYS_SUPPORTS_32BIT_KERNEL
8261c773ea4SJayachandran C	select SYS_SUPPORTS_64BIT_KERNEL
8271c773ea4SJayachandran C	select 64BIT_PHYS_ADDR
8281c773ea4SJayachandran C	select SYS_SUPPORTS_BIG_ENDIAN
8291c773ea4SJayachandran C	select SYS_SUPPORTS_LITTLE_ENDIAN
8301c773ea4SJayachandran C	select SYS_SUPPORTS_HIGHMEM
8311c773ea4SJayachandran C	select DMA_COHERENT
8321c773ea4SJayachandran C	select NR_CPUS_DEFAULT_32
8331c773ea4SJayachandran C	select CEVT_R4K
8341c773ea4SJayachandran C	select CSRC_R4K
8351c773ea4SJayachandran C	select IRQ_CPU
836b97215fdSJayachandran C	select ZONE_DMA32 if 64BIT
8371c773ea4SJayachandran C	select SYNC_R4K
8381c773ea4SJayachandran C	select SYS_HAS_EARLY_PRINTK
8392f6528e1SJayachandran C	select USE_OF
8408f0b0430SJayachandran C	select SYS_SUPPORTS_ZBOOT
8418f0b0430SJayachandran C	select SYS_SUPPORTS_ZBOOT_UART16550
8421c773ea4SJayachandran C	help
8431c773ea4SJayachandran C	  This board is based on Netlogic XLP Processor.
8441c773ea4SJayachandran C	  Say Y here if you have a XLP based board.
8451c773ea4SJayachandran C
8469bc463beSDavid Daneyconfig MIPS_PARAVIRT
8479bc463beSDavid Daney	bool "Para-Virtualized guest system"
8489bc463beSDavid Daney	select CEVT_R4K
8499bc463beSDavid Daney	select CSRC_R4K
8509bc463beSDavid Daney	select DMA_COHERENT
8519bc463beSDavid Daney	select SYS_SUPPORTS_64BIT_KERNEL
8529bc463beSDavid Daney	select SYS_SUPPORTS_32BIT_KERNEL
8539bc463beSDavid Daney	select SYS_SUPPORTS_BIG_ENDIAN
8549bc463beSDavid Daney	select SYS_SUPPORTS_SMP
8559bc463beSDavid Daney	select NR_CPUS_DEFAULT_4
8569bc463beSDavid Daney	select SYS_HAS_EARLY_PRINTK
8579bc463beSDavid Daney	select SYS_HAS_CPU_MIPS32_R2
8589bc463beSDavid Daney	select SYS_HAS_CPU_MIPS64_R2
8599bc463beSDavid Daney	select SYS_HAS_CPU_CAVIUM_OCTEON
8609bc463beSDavid Daney	select HW_HAS_PCI
8619bc463beSDavid Daney	select SWAP_IO_SPACE
8629bc463beSDavid Daney	help
8639bc463beSDavid Daney	  This option supports guest running under ????
8649bc463beSDavid Daney
8651da177e4SLinus Torvaldsendchoice
8661da177e4SLinus Torvalds
867e8c7c482SRalf Baechlesource "arch/mips/alchemy/Kconfig"
868d4a67d9dSGabor Juhossource "arch/mips/ath79/Kconfig"
869a656ffcbSHauke Mehrtenssource "arch/mips/bcm47xx/Kconfig"
870e7300d04SMaxime Bizonsource "arch/mips/bcm63xx/Kconfig"
8715e83d430SRalf Baechlesource "arch/mips/jazz/Kconfig"
8725ebabe59SLars-Peter Clausensource "arch/mips/jz4740/Kconfig"
8738ec6d935SJohn Crispinsource "arch/mips/lantiq/Kconfig"
8741f21d2bdSBrian Murphysource "arch/mips/lasat/Kconfig"
8750f3a05cbSRalf Baechlesource "arch/mips/pmcs-msp71xx/Kconfig"
876ae2b5bb6SJohn Crispinsource "arch/mips/ralink/Kconfig"
87729c48699SRalf Baechlesource "arch/mips/sgi-ip27/Kconfig"
87838b18f72SRalf Baechlesource "arch/mips/sibyte/Kconfig"
87922b1d707SAtsushi Nemotosource "arch/mips/txx9/Kconfig"
8805e83d430SRalf Baechlesource "arch/mips/vr41xx/Kconfig"
881a86c7f72SDavid Daneysource "arch/mips/cavium-octeon/Kconfig"
88285749d24SWu Zhangjinsource "arch/mips/loongson/Kconfig"
883ca585cf9SKelvin Cheungsource "arch/mips/loongson1/Kconfig"
8847f058e85SJayachandran Csource "arch/mips/netlogic/Kconfig"
885ae6e7e63SDavid Daneysource "arch/mips/paravirt/Kconfig"
88638b18f72SRalf Baechle
8875e83d430SRalf Baechleendmenu
8885e83d430SRalf Baechle
8891da177e4SLinus Torvaldsconfig RWSEM_GENERIC_SPINLOCK
8901da177e4SLinus Torvalds	bool
8911da177e4SLinus Torvalds	default y
8921da177e4SLinus Torvalds
8931da177e4SLinus Torvaldsconfig RWSEM_XCHGADD_ALGORITHM
8941da177e4SLinus Torvalds	bool
8951da177e4SLinus Torvalds
896f0d1b0b3SDavid Howellsconfig ARCH_HAS_ILOG2_U32
897f0d1b0b3SDavid Howells	bool
898f0d1b0b3SDavid Howells	default n
899f0d1b0b3SDavid Howells
900f0d1b0b3SDavid Howellsconfig ARCH_HAS_ILOG2_U64
901f0d1b0b3SDavid Howells	bool
902f0d1b0b3SDavid Howells	default n
903f0d1b0b3SDavid Howells
9043c9ee7efSAkinobu Mitaconfig GENERIC_HWEIGHT
9053c9ee7efSAkinobu Mita	bool
9063c9ee7efSAkinobu Mita	default y
9073c9ee7efSAkinobu Mita
9081da177e4SLinus Torvaldsconfig GENERIC_CALIBRATE_DELAY
9091da177e4SLinus Torvalds	bool
9101da177e4SLinus Torvalds	default y
9111da177e4SLinus Torvalds
912ae1e9130SIngo Molnarconfig SCHED_OMIT_FRAME_POINTER
9131cc89038SAtsushi Nemoto	bool
9141cc89038SAtsushi Nemoto	default y
9151cc89038SAtsushi Nemoto
9161da177e4SLinus Torvalds#
9171da177e4SLinus Torvalds# Select some configuration options automatically based on user selections.
9181da177e4SLinus Torvalds#
9190e2794b0SRalf Baechleconfig FW_ARC
9201da177e4SLinus Torvalds	bool
9211da177e4SLinus Torvalds
92261ed242dSRalf Baechleconfig ARCH_MAY_HAVE_PC_FDC
92361ed242dSRalf Baechle	bool
92461ed242dSRalf Baechle
9259267a30dSMarc St-Jeanconfig BOOT_RAW
9269267a30dSMarc St-Jean	bool
9279267a30dSMarc St-Jean
928217dd11eSRalf Baechleconfig CEVT_BCM1480
929217dd11eSRalf Baechle	bool
930217dd11eSRalf Baechle
9316457d9fcSYoichi Yuasaconfig CEVT_DS1287
9326457d9fcSYoichi Yuasa	bool
9336457d9fcSYoichi Yuasa
9341097c6acSYoichi Yuasaconfig CEVT_GT641XX
9351097c6acSYoichi Yuasa	bool
9361097c6acSYoichi Yuasa
93742f77542SRalf Baechleconfig CEVT_R4K
93842f77542SRalf Baechle	bool
93942f77542SRalf Baechle
940217dd11eSRalf Baechleconfig CEVT_SB1250
941217dd11eSRalf Baechle	bool
942217dd11eSRalf Baechle
943229f773eSAtsushi Nemotoconfig CEVT_TXX9
944229f773eSAtsushi Nemoto	bool
945229f773eSAtsushi Nemoto
946217dd11eSRalf Baechleconfig CSRC_BCM1480
947217dd11eSRalf Baechle	bool
948217dd11eSRalf Baechle
9494247417dSYoichi Yuasaconfig CSRC_IOASIC
9504247417dSYoichi Yuasa	bool
9514247417dSYoichi Yuasa
952940f6b48SRalf Baechleconfig CSRC_R4K
953940f6b48SRalf Baechle	bool
954940f6b48SRalf Baechle
955217dd11eSRalf Baechleconfig CSRC_SB1250
956217dd11eSRalf Baechle	bool
957217dd11eSRalf Baechle
958a9aec7feSAtsushi Nemotoconfig GPIO_TXX9
9597444a72eSMichael Buesch	select ARCH_REQUIRE_GPIOLIB
960a9aec7feSAtsushi Nemoto	bool
961a9aec7feSAtsushi Nemoto
9620e2794b0SRalf Baechleconfig FW_CFE
963df78b5c8SAurelien Jarno	bool
964df78b5c8SAurelien Jarno
9654bafad92SFUJITA Tomonoriconfig ARCH_DMA_ADDR_T_64BIT
9664bafad92SFUJITA Tomonori	def_bool (HIGHMEM && 64BIT_PHYS_ADDR) || 64BIT
9674bafad92SFUJITA Tomonori
968885014bcSFelix Fietkauconfig DMA_MAYBE_COHERENT
969885014bcSFelix Fietkau	select DMA_NONCOHERENT
970885014bcSFelix Fietkau	bool
971885014bcSFelix Fietkau
9721da177e4SLinus Torvaldsconfig DMA_COHERENT
9731da177e4SLinus Torvalds	bool
9741da177e4SLinus Torvalds
9751da177e4SLinus Torvaldsconfig DMA_NONCOHERENT
9761da177e4SLinus Torvalds	bool
977e1e02b32SFUJITA Tomonori	select NEED_DMA_MAP_STATE
9784ce588cdSRalf Baechle
979e1e02b32SFUJITA Tomonoriconfig NEED_DMA_MAP_STATE
9804ce588cdSRalf Baechle	bool
9811da177e4SLinus Torvalds
98236a88530SRalf Baechleconfig SYS_HAS_EARLY_PRINTK
9831da177e4SLinus Torvalds	bool
9841da177e4SLinus Torvalds
985dbb74540SRalf Baechleconfig HOTPLUG_CPU
9861b2bc75cSRalf Baechle	bool "Support for hot-pluggable CPUs"
98740b31360SStephen Rothwell	depends on SMP && SYS_SUPPORTS_HOTPLUG_CPU
9881b2bc75cSRalf Baechle	help
9891b2bc75cSRalf Baechle	  Say Y here to allow turning CPUs off and on. CPUs can be
9901b2bc75cSRalf Baechle	  controlled through /sys/devices/system/cpu.
9911b2bc75cSRalf Baechle	  (Note: power management support will enable this option
9921b2bc75cSRalf Baechle	    automatically on SMP systems. )
9931b2bc75cSRalf Baechle	  Say N if you want to disable CPU hotplug.
9941b2bc75cSRalf Baechle
9951b2bc75cSRalf Baechleconfig SYS_SUPPORTS_HOTPLUG_CPU
996dbb74540SRalf Baechle	bool
997dbb74540SRalf Baechle
9981da177e4SLinus Torvaldsconfig I8259
9991da177e4SLinus Torvalds	bool
1000079a4601SAndrew Bresticker	select IRQ_DOMAIN
10011da177e4SLinus Torvalds
10021da177e4SLinus Torvaldsconfig MIPS_BONITO64
10031da177e4SLinus Torvalds	bool
10041da177e4SLinus Torvalds
10051da177e4SLinus Torvaldsconfig MIPS_MSC
10061da177e4SLinus Torvalds	bool
10071da177e4SLinus Torvalds
10081f21d2bdSBrian Murphyconfig MIPS_NILE4
10091f21d2bdSBrian Murphy	bool
10101f21d2bdSBrian Murphy
101139b8d525SRalf Baechleconfig SYNC_R4K
101239b8d525SRalf Baechle	bool
101339b8d525SRalf Baechle
1014487d70d0SGabor Juhosconfig MIPS_MACHINE
1015487d70d0SGabor Juhos	def_bool n
1016487d70d0SGabor Juhos
1017ce816fa8SUwe Kleine-Königconfig NO_IOPORT_MAP
1018d388d685SMaciej W. Rozycki	def_bool n
1019d388d685SMaciej W. Rozycki
10208313da30SRalf Baechleconfig GENERIC_ISA_DMA
10218313da30SRalf Baechle	bool
10228313da30SRalf Baechle	select ZONE_DMA if GENERIC_ISA_DMA_SUPPORT_BROKEN=n
1023a35bee8aSNamhyung Kim	select ISA_DMA_API
10248313da30SRalf Baechle
1025aa414dffSRalf Baechleconfig GENERIC_ISA_DMA_SUPPORT_BROKEN
1026aa414dffSRalf Baechle	bool
10278313da30SRalf Baechle	select GENERIC_ISA_DMA
1028aa414dffSRalf Baechle
1029a35bee8aSNamhyung Kimconfig ISA_DMA_API
1030a35bee8aSNamhyung Kim	bool
1031a35bee8aSNamhyung Kim
1032465aaed0SDavid Daneyconfig HOLES_IN_ZONE
1033465aaed0SDavid Daney	bool
1034465aaed0SDavid Daney
10355e83d430SRalf Baechle#
10366b2aac42SMasanari Iida# Endianness selection.  Sufficiently obscure so many users don't know what to
10375e83d430SRalf Baechle# answer,so we try hard to limit the available choices.  Also the use of a
10385e83d430SRalf Baechle# choice statement should be more obvious to the user.
10395e83d430SRalf Baechle#
10405e83d430SRalf Baechlechoice
10416b2aac42SMasanari Iida	prompt "Endianness selection"
10421da177e4SLinus Torvalds	help
10431da177e4SLinus Torvalds	  Some MIPS machines can be configured for either little or big endian
10445e83d430SRalf Baechle	  byte order. These modes require different kernels and a different
10453cb2fcccSMatt LaPlante	  Linux distribution.  In general there is one preferred byteorder for a
10465e83d430SRalf Baechle	  particular system but some systems are just as commonly used in the
10473dde6ad8SDavid Sterba	  one or the other endianness.
10485e83d430SRalf Baechle
10495e83d430SRalf Baechleconfig CPU_BIG_ENDIAN
10505e83d430SRalf Baechle	bool "Big endian"
10515e83d430SRalf Baechle	depends on SYS_SUPPORTS_BIG_ENDIAN
10525e83d430SRalf Baechle
10535e83d430SRalf Baechleconfig CPU_LITTLE_ENDIAN
10545e83d430SRalf Baechle	bool "Little endian"
10555e83d430SRalf Baechle	depends on SYS_SUPPORTS_LITTLE_ENDIAN
10565e83d430SRalf Baechle
10575e83d430SRalf Baechleendchoice
10585e83d430SRalf Baechle
105922b0763aSDavid Daneyconfig EXPORT_UASM
106022b0763aSDavid Daney	bool
106122b0763aSDavid Daney
10622116245eSRalf Baechleconfig SYS_SUPPORTS_APM_EMULATION
10632116245eSRalf Baechle	bool
10642116245eSRalf Baechle
10655e83d430SRalf Baechleconfig SYS_SUPPORTS_BIG_ENDIAN
10665e83d430SRalf Baechle	bool
10675e83d430SRalf Baechle
10685e83d430SRalf Baechleconfig SYS_SUPPORTS_LITTLE_ENDIAN
10695e83d430SRalf Baechle	bool
10701da177e4SLinus Torvalds
10719cffd154SDavid Daneyconfig SYS_SUPPORTS_HUGETLBFS
10729cffd154SDavid Daney	bool
10739cffd154SDavid Daney	depends on CPU_SUPPORTS_HUGEPAGES && 64BIT
10749cffd154SDavid Daney	default y
10759cffd154SDavid Daney
1076aa1762f4SDavid Daneyconfig MIPS_HUGE_TLB_SUPPORT
1077aa1762f4SDavid Daney	def_bool HUGETLB_PAGE || TRANSPARENT_HUGEPAGE
1078aa1762f4SDavid Daney
10791da177e4SLinus Torvaldsconfig IRQ_CPU
10801da177e4SLinus Torvalds	bool
10810f84c305SAndrew Bresticker	select IRQ_DOMAIN
10821da177e4SLinus Torvalds
10831da177e4SLinus Torvaldsconfig IRQ_CPU_RM7K
10841da177e4SLinus Torvalds	bool
10851da177e4SLinus Torvalds
10869267a30dSMarc St-Jeanconfig IRQ_MSP_SLP
10879267a30dSMarc St-Jean	bool
10889267a30dSMarc St-Jean
10899267a30dSMarc St-Jeanconfig IRQ_MSP_CIC
10909267a30dSMarc St-Jean	bool
10919267a30dSMarc St-Jean
10928420fd00SAtsushi Nemotoconfig IRQ_TXX9
10938420fd00SAtsushi Nemoto	bool
10948420fd00SAtsushi Nemoto
1095d5ab1a69SYoichi Yuasaconfig IRQ_GT641XX
1096d5ab1a69SYoichi Yuasa	bool
1097d5ab1a69SYoichi Yuasa
1098252161ecSYoichi Yuasaconfig PCI_GT64XXX_PCI0
10991da177e4SLinus Torvalds	bool
11001da177e4SLinus Torvalds
11019267a30dSMarc St-Jeanconfig NO_EXCEPT_FILL
11029267a30dSMarc St-Jean	bool
11039267a30dSMarc St-Jean
1104a83860c2SRalf Baechleconfig SOC_EMMA2RH
1105a83860c2SRalf Baechle	bool
1106a83860c2SRalf Baechle	select CEVT_R4K
1107a83860c2SRalf Baechle	select CSRC_R4K
1108a83860c2SRalf Baechle	select DMA_NONCOHERENT
1109a83860c2SRalf Baechle	select IRQ_CPU
1110a83860c2SRalf Baechle	select SWAP_IO_SPACE
1111a83860c2SRalf Baechle	select SYS_HAS_CPU_R5500
1112a83860c2SRalf Baechle	select SYS_SUPPORTS_32BIT_KERNEL
1113a83860c2SRalf Baechle	select SYS_SUPPORTS_64BIT_KERNEL
1114a83860c2SRalf Baechle	select SYS_SUPPORTS_BIG_ENDIAN
1115a83860c2SRalf Baechle
1116edb6310aSDaniel Lairdconfig SOC_PNX833X
1117edb6310aSDaniel Laird	bool
1118edb6310aSDaniel Laird	select CEVT_R4K
1119edb6310aSDaniel Laird	select CSRC_R4K
1120edb6310aSDaniel Laird	select IRQ_CPU
1121edb6310aSDaniel Laird	select DMA_NONCOHERENT
1122edb6310aSDaniel Laird	select SYS_HAS_CPU_MIPS32_R2
1123edb6310aSDaniel Laird	select SYS_SUPPORTS_32BIT_KERNEL
1124edb6310aSDaniel Laird	select SYS_SUPPORTS_LITTLE_ENDIAN
1125edb6310aSDaniel Laird	select SYS_SUPPORTS_BIG_ENDIAN
1126377cb1b6SRalf Baechle	select SYS_SUPPORTS_MIPS16
1127edb6310aSDaniel Laird	select CPU_MIPSR2_IRQ_VI
1128edb6310aSDaniel Laird
1129edb6310aSDaniel Lairdconfig SOC_PNX8335
1130edb6310aSDaniel Laird	bool
1131edb6310aSDaniel Laird	select SOC_PNX833X
1132edb6310aSDaniel Laird
11331da177e4SLinus Torvaldsconfig SWAP_IO_SPACE
11341da177e4SLinus Torvalds	bool
11351da177e4SLinus Torvalds
1136e2defae5SThomas Bogendoerferconfig SGI_HAS_INDYDOG
1137e2defae5SThomas Bogendoerfer	bool
1138e2defae5SThomas Bogendoerfer
11395b438c44SThomas Bogendoerferconfig SGI_HAS_HAL2
11405b438c44SThomas Bogendoerfer	bool
11415b438c44SThomas Bogendoerfer
1142e2defae5SThomas Bogendoerferconfig SGI_HAS_SEEQ
1143e2defae5SThomas Bogendoerfer	bool
1144e2defae5SThomas Bogendoerfer
1145e2defae5SThomas Bogendoerferconfig SGI_HAS_WD93
1146e2defae5SThomas Bogendoerfer	bool
1147e2defae5SThomas Bogendoerfer
1148e2defae5SThomas Bogendoerferconfig SGI_HAS_ZILOG
1149e2defae5SThomas Bogendoerfer	bool
1150e2defae5SThomas Bogendoerfer
1151e2defae5SThomas Bogendoerferconfig SGI_HAS_I8042
1152e2defae5SThomas Bogendoerfer	bool
1153e2defae5SThomas Bogendoerfer
1154e2defae5SThomas Bogendoerferconfig DEFAULT_SGI_PARTITION
1155e2defae5SThomas Bogendoerfer	bool
1156e2defae5SThomas Bogendoerfer
11570e2794b0SRalf Baechleconfig FW_ARC32
11585e83d430SRalf Baechle	bool
11595e83d430SRalf Baechle
1160aaa9fad3SPaul Bolleconfig FW_SNIPROM
1161231a35d3SThomas Bogendoerfer	bool
1162231a35d3SThomas Bogendoerfer
11631da177e4SLinus Torvaldsconfig BOOT_ELF32
11641da177e4SLinus Torvalds	bool
11651da177e4SLinus Torvalds
1166930beb5aSFlorian Fainelliconfig MIPS_L1_CACHE_SHIFT_4
1167930beb5aSFlorian Fainelli	bool
1168930beb5aSFlorian Fainelli
1169930beb5aSFlorian Fainelliconfig MIPS_L1_CACHE_SHIFT_5
1170930beb5aSFlorian Fainelli	bool
1171930beb5aSFlorian Fainelli
1172930beb5aSFlorian Fainelliconfig MIPS_L1_CACHE_SHIFT_6
1173930beb5aSFlorian Fainelli	bool
1174930beb5aSFlorian Fainelli
1175930beb5aSFlorian Fainelliconfig MIPS_L1_CACHE_SHIFT_7
1176930beb5aSFlorian Fainelli	bool
1177930beb5aSFlorian Fainelli
11781da177e4SLinus Torvaldsconfig MIPS_L1_CACHE_SHIFT
11791da177e4SLinus Torvalds	int
1180a4c0201eSFlorian Fainelli	default "4" if MIPS_L1_CACHE_SHIFT_4
1181a4c0201eSFlorian Fainelli	default "5" if MIPS_L1_CACHE_SHIFT_5
1182a4c0201eSFlorian Fainelli	default "6" if MIPS_L1_CACHE_SHIFT_6
1183a4c0201eSFlorian Fainelli	default "7" if MIPS_L1_CACHE_SHIFT_7
11841da177e4SLinus Torvalds	default "5"
11851da177e4SLinus Torvalds
11861da177e4SLinus Torvaldsconfig HAVE_STD_PC_SERIAL_PORT
11871da177e4SLinus Torvalds	bool
11881da177e4SLinus Torvalds
11891da177e4SLinus Torvaldsconfig ARC_CONSOLE
11901da177e4SLinus Torvalds	bool "ARC console support"
1191e2defae5SThomas Bogendoerfer	depends on SGI_IP22 || SGI_IP28 || (SNI_RM && CPU_LITTLE_ENDIAN)
11921da177e4SLinus Torvalds
11931da177e4SLinus Torvaldsconfig ARC_MEMORY
11941da177e4SLinus Torvalds	bool
119514b36af4SThomas Bogendoerfer	depends on MACH_JAZZ || SNI_RM || SGI_IP32
11961da177e4SLinus Torvalds	default y
11971da177e4SLinus Torvalds
11981da177e4SLinus Torvaldsconfig ARC_PROMLIB
11991da177e4SLinus Torvalds	bool
1200e2defae5SThomas Bogendoerfer	depends on MACH_JAZZ || SNI_RM || SGI_IP22 || SGI_IP28 || SGI_IP32
12011da177e4SLinus Torvalds	default y
12021da177e4SLinus Torvalds
12030e2794b0SRalf Baechleconfig FW_ARC64
12041da177e4SLinus Torvalds	bool
12051da177e4SLinus Torvalds
12061da177e4SLinus Torvaldsconfig BOOT_ELF64
12071da177e4SLinus Torvalds	bool
12081da177e4SLinus Torvalds
12091da177e4SLinus Torvaldsmenu "CPU selection"
12101da177e4SLinus Torvalds
12111da177e4SLinus Torvaldschoice
12121da177e4SLinus Torvalds	prompt "CPU type"
12131da177e4SLinus Torvalds	default CPU_R4X00
12141da177e4SLinus Torvalds
12150e476d91SHuacai Chenconfig CPU_LOONGSON3
12160e476d91SHuacai Chen	bool "Loongson 3 CPU"
12170e476d91SHuacai Chen	depends on SYS_HAS_CPU_LOONGSON3
12180e476d91SHuacai Chen	select CPU_SUPPORTS_64BIT_KERNEL
12190e476d91SHuacai Chen	select CPU_SUPPORTS_HIGHMEM
12200e476d91SHuacai Chen	select CPU_SUPPORTS_HUGEPAGES
12210e476d91SHuacai Chen	select WEAK_ORDERING
12220e476d91SHuacai Chen	select WEAK_REORDERING_BEYOND_LLSC
12230e476d91SHuacai Chen	help
12240e476d91SHuacai Chen		The Loongson 3 processor implements the MIPS64R2 instruction
12250e476d91SHuacai Chen		set with many extensions.
12260e476d91SHuacai Chen
12273702bba5SWu Zhangjinconfig CPU_LOONGSON2E
12283702bba5SWu Zhangjin	bool "Loongson 2E"
12293702bba5SWu Zhangjin	depends on SYS_HAS_CPU_LOONGSON2E
12303702bba5SWu Zhangjin	select CPU_LOONGSON2
12312a21c730SFuxin Zhang	help
12322a21c730SFuxin Zhang	  The Loongson 2E processor implements the MIPS III instruction set
12332a21c730SFuxin Zhang	  with many extensions.
12342a21c730SFuxin Zhang
123525985edcSLucas De Marchi	  It has an internal FPGA northbridge, which is compatible to
12366f7a251aSWu Zhangjin	  bonito64.
12376f7a251aSWu Zhangjin
12386f7a251aSWu Zhangjinconfig CPU_LOONGSON2F
12396f7a251aSWu Zhangjin	bool "Loongson 2F"
12406f7a251aSWu Zhangjin	depends on SYS_HAS_CPU_LOONGSON2F
12416f7a251aSWu Zhangjin	select CPU_LOONGSON2
1242c197da91SArnaud Patard	select ARCH_REQUIRE_GPIOLIB
12436f7a251aSWu Zhangjin	help
12446f7a251aSWu Zhangjin	  The Loongson 2F processor implements the MIPS III instruction set
12456f7a251aSWu Zhangjin	  with many extensions.
12466f7a251aSWu Zhangjin
12476f7a251aSWu Zhangjin	  Loongson2F have built-in DDR2 and PCIX controller. The PCIX controller
12486f7a251aSWu Zhangjin	  have a similar programming interface with FPGA northbridge used in
12496f7a251aSWu Zhangjin	  Loongson2E.
12506f7a251aSWu Zhangjin
1251ca585cf9SKelvin Cheungconfig CPU_LOONGSON1B
1252ca585cf9SKelvin Cheung	bool "Loongson 1B"
1253ca585cf9SKelvin Cheung	depends on SYS_HAS_CPU_LOONGSON1B
1254ca585cf9SKelvin Cheung	select CPU_LOONGSON1
1255ca585cf9SKelvin Cheung	help
1256ca585cf9SKelvin Cheung	  The Loongson 1B is a 32-bit SoC, which implements the MIPS32
1257ca585cf9SKelvin Cheung	  release 2 instruction set.
1258ca585cf9SKelvin Cheung
12596e760c8dSRalf Baechleconfig CPU_MIPS32_R1
12606e760c8dSRalf Baechle	bool "MIPS32 Release 1"
12617cf8053bSRalf Baechle	depends on SYS_HAS_CPU_MIPS32_R1
12626e760c8dSRalf Baechle	select CPU_HAS_PREFETCH
1263797798c1SRalf Baechle	select CPU_SUPPORTS_32BIT_KERNEL
1264ec28f306SRalf Baechle	select CPU_SUPPORTS_HIGHMEM
12656e760c8dSRalf Baechle	help
12665e83d430SRalf Baechle	  Choose this option to build a kernel for release 1 or later of the
12671e5f1caaSRalf Baechle	  MIPS32 architecture.  Most modern embedded systems with a 32-bit
12681e5f1caaSRalf Baechle	  MIPS processor are based on a MIPS32 processor.  If you know the
12691e5f1caaSRalf Baechle	  specific type of processor in your system, choose those that one
12701e5f1caaSRalf Baechle	  otherwise CPU_MIPS32_R1 is a safe bet for any MIPS32 system.
12711e5f1caaSRalf Baechle	  Release 2 of the MIPS32 architecture is available since several
12721e5f1caaSRalf Baechle	  years so chances are you even have a MIPS32 Release 2 processor
12731e5f1caaSRalf Baechle	  in which case you should choose CPU_MIPS32_R2 instead for better
12741e5f1caaSRalf Baechle	  performance.
12751e5f1caaSRalf Baechle
12761e5f1caaSRalf Baechleconfig CPU_MIPS32_R2
12771e5f1caaSRalf Baechle	bool "MIPS32 Release 2"
12787cf8053bSRalf Baechle	depends on SYS_HAS_CPU_MIPS32_R2
12791e5f1caaSRalf Baechle	select CPU_HAS_PREFETCH
1280797798c1SRalf Baechle	select CPU_SUPPORTS_32BIT_KERNEL
1281ec28f306SRalf Baechle	select CPU_SUPPORTS_HIGHMEM
1282a5e9a69eSPaul Burton	select CPU_SUPPORTS_MSA
12832235a54dSSanjay Lal	select HAVE_KVM
12841e5f1caaSRalf Baechle	help
12855e83d430SRalf Baechle	  Choose this option to build a kernel for release 2 or later of the
12866e760c8dSRalf Baechle	  MIPS32 architecture.  Most modern embedded systems with a 32-bit
12876e760c8dSRalf Baechle	  MIPS processor are based on a MIPS32 processor.  If you know the
12886e760c8dSRalf Baechle	  specific type of processor in your system, choose those that one
12896e760c8dSRalf Baechle	  otherwise CPU_MIPS32_R1 is a safe bet for any MIPS32 system.
12901da177e4SLinus Torvalds
12916e760c8dSRalf Baechleconfig CPU_MIPS64_R1
12926e760c8dSRalf Baechle	bool "MIPS64 Release 1"
12937cf8053bSRalf Baechle	depends on SYS_HAS_CPU_MIPS64_R1
1294797798c1SRalf Baechle	select CPU_HAS_PREFETCH
1295ed5ba2fbSYoichi Yuasa	select CPU_SUPPORTS_32BIT_KERNEL
1296ed5ba2fbSYoichi Yuasa	select CPU_SUPPORTS_64BIT_KERNEL
1297ec28f306SRalf Baechle	select CPU_SUPPORTS_HIGHMEM
12989cffd154SDavid Daney	select CPU_SUPPORTS_HUGEPAGES
12996e760c8dSRalf Baechle	help
13006e760c8dSRalf Baechle	  Choose this option to build a kernel for release 1 or later of the
13016e760c8dSRalf Baechle	  MIPS64 architecture.  Many modern embedded systems with a 64-bit
13026e760c8dSRalf Baechle	  MIPS processor are based on a MIPS64 processor.  If you know the
13036e760c8dSRalf Baechle	  specific type of processor in your system, choose those that one
13046e760c8dSRalf Baechle	  otherwise CPU_MIPS64_R1 is a safe bet for any MIPS64 system.
13051e5f1caaSRalf Baechle	  Release 2 of the MIPS64 architecture is available since several
13061e5f1caaSRalf Baechle	  years so chances are you even have a MIPS64 Release 2 processor
13071e5f1caaSRalf Baechle	  in which case you should choose CPU_MIPS64_R2 instead for better
13081e5f1caaSRalf Baechle	  performance.
13091e5f1caaSRalf Baechle
13101e5f1caaSRalf Baechleconfig CPU_MIPS64_R2
13111e5f1caaSRalf Baechle	bool "MIPS64 Release 2"
13127cf8053bSRalf Baechle	depends on SYS_HAS_CPU_MIPS64_R2
1313797798c1SRalf Baechle	select CPU_HAS_PREFETCH
13141e5f1caaSRalf Baechle	select CPU_SUPPORTS_32BIT_KERNEL
13151e5f1caaSRalf Baechle	select CPU_SUPPORTS_64BIT_KERNEL
1316ec28f306SRalf Baechle	select CPU_SUPPORTS_HIGHMEM
13179cffd154SDavid Daney	select CPU_SUPPORTS_HUGEPAGES
1318a5e9a69eSPaul Burton	select CPU_SUPPORTS_MSA
13191e5f1caaSRalf Baechle	help
13201e5f1caaSRalf Baechle	  Choose this option to build a kernel for release 2 or later of the
13211e5f1caaSRalf Baechle	  MIPS64 architecture.  Many modern embedded systems with a 64-bit
13221e5f1caaSRalf Baechle	  MIPS processor are based on a MIPS64 processor.  If you know the
13231e5f1caaSRalf Baechle	  specific type of processor in your system, choose those that one
13241e5f1caaSRalf Baechle	  otherwise CPU_MIPS64_R1 is a safe bet for any MIPS64 system.
13251da177e4SLinus Torvalds
13261da177e4SLinus Torvaldsconfig CPU_R3000
13271da177e4SLinus Torvalds	bool "R3000"
13287cf8053bSRalf Baechle	depends on SYS_HAS_CPU_R3000
1329f7062ddbSRalf Baechle	select CPU_HAS_WB
1330ed5ba2fbSYoichi Yuasa	select CPU_SUPPORTS_32BIT_KERNEL
1331797798c1SRalf Baechle	select CPU_SUPPORTS_HIGHMEM
13321da177e4SLinus Torvalds	help
13331da177e4SLinus Torvalds	  Please make sure to pick the right CPU type. Linux/MIPS is not
13341da177e4SLinus Torvalds	  designed to be generic, i.e. Kernels compiled for R3000 CPUs will
13351da177e4SLinus Torvalds	  *not* work on R4000 machines and vice versa.  However, since most
13361da177e4SLinus Torvalds	  of the supported machines have an R4000 (or similar) CPU, R4x00
13371da177e4SLinus Torvalds	  might be a safe bet.  If the resulting kernel does not work,
13381da177e4SLinus Torvalds	  try to recompile with R3000.
13391da177e4SLinus Torvalds
13401da177e4SLinus Torvaldsconfig CPU_TX39XX
13411da177e4SLinus Torvalds	bool "R39XX"
13427cf8053bSRalf Baechle	depends on SYS_HAS_CPU_TX39XX
1343ed5ba2fbSYoichi Yuasa	select CPU_SUPPORTS_32BIT_KERNEL
13441da177e4SLinus Torvalds
13451da177e4SLinus Torvaldsconfig CPU_VR41XX
13461da177e4SLinus Torvalds	bool "R41xx"
13477cf8053bSRalf Baechle	depends on SYS_HAS_CPU_VR41XX
1348ed5ba2fbSYoichi Yuasa	select CPU_SUPPORTS_32BIT_KERNEL
1349ed5ba2fbSYoichi Yuasa	select CPU_SUPPORTS_64BIT_KERNEL
13501da177e4SLinus Torvalds	help
13515e83d430SRalf Baechle	  The options selects support for the NEC VR4100 series of processors.
13521da177e4SLinus Torvalds	  Only choose this option if you have one of these processors as a
13531da177e4SLinus Torvalds	  kernel built with this option will not run on any other type of
13541da177e4SLinus Torvalds	  processor or vice versa.
13551da177e4SLinus Torvalds
13561da177e4SLinus Torvaldsconfig CPU_R4300
13571da177e4SLinus Torvalds	bool "R4300"
13587cf8053bSRalf Baechle	depends on SYS_HAS_CPU_R4300
1359ed5ba2fbSYoichi Yuasa	select CPU_SUPPORTS_32BIT_KERNEL
1360ed5ba2fbSYoichi Yuasa	select CPU_SUPPORTS_64BIT_KERNEL
13611da177e4SLinus Torvalds	help
13621da177e4SLinus Torvalds	  MIPS Technologies R4300-series processors.
13631da177e4SLinus Torvalds
13641da177e4SLinus Torvaldsconfig CPU_R4X00
13651da177e4SLinus Torvalds	bool "R4x00"
13667cf8053bSRalf Baechle	depends on SYS_HAS_CPU_R4X00
1367ed5ba2fbSYoichi Yuasa	select CPU_SUPPORTS_32BIT_KERNEL
1368ed5ba2fbSYoichi Yuasa	select CPU_SUPPORTS_64BIT_KERNEL
1369970d032fSRalf Baechle	select CPU_SUPPORTS_HUGEPAGES
13701da177e4SLinus Torvalds	help
13711da177e4SLinus Torvalds	  MIPS Technologies R4000-series processors other than 4300, including
13721da177e4SLinus Torvalds	  the R4000, R4400, R4600, and 4700.
13731da177e4SLinus Torvalds
13741da177e4SLinus Torvaldsconfig CPU_TX49XX
13751da177e4SLinus Torvalds	bool "R49XX"
13767cf8053bSRalf Baechle	depends on SYS_HAS_CPU_TX49XX
1377de862b48SAtsushi Nemoto	select CPU_HAS_PREFETCH
1378ed5ba2fbSYoichi Yuasa	select CPU_SUPPORTS_32BIT_KERNEL
1379ed5ba2fbSYoichi Yuasa	select CPU_SUPPORTS_64BIT_KERNEL
1380970d032fSRalf Baechle	select CPU_SUPPORTS_HUGEPAGES
13811da177e4SLinus Torvalds
13821da177e4SLinus Torvaldsconfig CPU_R5000
13831da177e4SLinus Torvalds	bool "R5000"
13847cf8053bSRalf Baechle	depends on SYS_HAS_CPU_R5000
1385ed5ba2fbSYoichi Yuasa	select CPU_SUPPORTS_32BIT_KERNEL
1386ed5ba2fbSYoichi Yuasa	select CPU_SUPPORTS_64BIT_KERNEL
1387970d032fSRalf Baechle	select CPU_SUPPORTS_HUGEPAGES
13881da177e4SLinus Torvalds	help
13891da177e4SLinus Torvalds	  MIPS Technologies R5000-series processors other than the Nevada.
13901da177e4SLinus Torvalds
13911da177e4SLinus Torvaldsconfig CPU_R5432
13921da177e4SLinus Torvalds	bool "R5432"
13937cf8053bSRalf Baechle	depends on SYS_HAS_CPU_R5432
13945e83d430SRalf Baechle	select CPU_SUPPORTS_32BIT_KERNEL
13955e83d430SRalf Baechle	select CPU_SUPPORTS_64BIT_KERNEL
1396970d032fSRalf Baechle	select CPU_SUPPORTS_HUGEPAGES
13971da177e4SLinus Torvalds
1398542c1020SShinya Kuribayashiconfig CPU_R5500
1399542c1020SShinya Kuribayashi	bool "R5500"
1400542c1020SShinya Kuribayashi	depends on SYS_HAS_CPU_R5500
1401542c1020SShinya Kuribayashi	select CPU_SUPPORTS_32BIT_KERNEL
1402542c1020SShinya Kuribayashi	select CPU_SUPPORTS_64BIT_KERNEL
14039cffd154SDavid Daney	select CPU_SUPPORTS_HUGEPAGES
1404542c1020SShinya Kuribayashi	help
1405542c1020SShinya Kuribayashi	  NEC VR5500 and VR5500A series processors implement 64-bit MIPS IV
1406542c1020SShinya Kuribayashi	  instruction set.
1407542c1020SShinya Kuribayashi
14081da177e4SLinus Torvaldsconfig CPU_R6000
14091da177e4SLinus Torvalds	bool "R6000"
14107cf8053bSRalf Baechle	depends on SYS_HAS_CPU_R6000
1411ed5ba2fbSYoichi Yuasa	select CPU_SUPPORTS_32BIT_KERNEL
14121da177e4SLinus Torvalds	help
14131da177e4SLinus Torvalds	  MIPS Technologies R6000 and R6000A series processors.  Note these
1414c09b47d8SChris Dearman	  processors are extremely rare and the support for them is incomplete.
14151da177e4SLinus Torvalds
14161da177e4SLinus Torvaldsconfig CPU_NEVADA
14171da177e4SLinus Torvalds	bool "RM52xx"
14187cf8053bSRalf Baechle	depends on SYS_HAS_CPU_NEVADA
1419ed5ba2fbSYoichi Yuasa	select CPU_SUPPORTS_32BIT_KERNEL
1420ed5ba2fbSYoichi Yuasa	select CPU_SUPPORTS_64BIT_KERNEL
1421970d032fSRalf Baechle	select CPU_SUPPORTS_HUGEPAGES
14221da177e4SLinus Torvalds	help
14231da177e4SLinus Torvalds	  QED / PMC-Sierra RM52xx-series ("Nevada") processors.
14241da177e4SLinus Torvalds
14251da177e4SLinus Torvaldsconfig CPU_R8000
14261da177e4SLinus Torvalds	bool "R8000"
14277cf8053bSRalf Baechle	depends on SYS_HAS_CPU_R8000
14285e83d430SRalf Baechle	select CPU_HAS_PREFETCH
1429ed5ba2fbSYoichi Yuasa	select CPU_SUPPORTS_64BIT_KERNEL
14301da177e4SLinus Torvalds	help
14311da177e4SLinus Torvalds	  MIPS Technologies R8000 processors.  Note these processors are
14321da177e4SLinus Torvalds	  uncommon and the support for them is incomplete.
14331da177e4SLinus Torvalds
14341da177e4SLinus Torvaldsconfig CPU_R10000
14351da177e4SLinus Torvalds	bool "R10000"
14367cf8053bSRalf Baechle	depends on SYS_HAS_CPU_R10000
14375e83d430SRalf Baechle	select CPU_HAS_PREFETCH
1438ed5ba2fbSYoichi Yuasa	select CPU_SUPPORTS_32BIT_KERNEL
1439ed5ba2fbSYoichi Yuasa	select CPU_SUPPORTS_64BIT_KERNEL
1440797798c1SRalf Baechle	select CPU_SUPPORTS_HIGHMEM
1441970d032fSRalf Baechle	select CPU_SUPPORTS_HUGEPAGES
14421da177e4SLinus Torvalds	help
14431da177e4SLinus Torvalds	  MIPS Technologies R10000-series processors.
14441da177e4SLinus Torvalds
14451da177e4SLinus Torvaldsconfig CPU_RM7000
14461da177e4SLinus Torvalds	bool "RM7000"
14477cf8053bSRalf Baechle	depends on SYS_HAS_CPU_RM7000
14485e83d430SRalf Baechle	select CPU_HAS_PREFETCH
1449ed5ba2fbSYoichi Yuasa	select CPU_SUPPORTS_32BIT_KERNEL
1450ed5ba2fbSYoichi Yuasa	select CPU_SUPPORTS_64BIT_KERNEL
1451797798c1SRalf Baechle	select CPU_SUPPORTS_HIGHMEM
1452970d032fSRalf Baechle	select CPU_SUPPORTS_HUGEPAGES
14531da177e4SLinus Torvalds
14541da177e4SLinus Torvaldsconfig CPU_SB1
14551da177e4SLinus Torvalds	bool "SB1"
14567cf8053bSRalf Baechle	depends on SYS_HAS_CPU_SB1
1457ed5ba2fbSYoichi Yuasa	select CPU_SUPPORTS_32BIT_KERNEL
1458ed5ba2fbSYoichi Yuasa	select CPU_SUPPORTS_64BIT_KERNEL
1459797798c1SRalf Baechle	select CPU_SUPPORTS_HIGHMEM
1460970d032fSRalf Baechle	select CPU_SUPPORTS_HUGEPAGES
14610004a9dfSRalf Baechle	select WEAK_ORDERING
14621da177e4SLinus Torvalds
1463a86c7f72SDavid Daneyconfig CPU_CAVIUM_OCTEON
1464a86c7f72SDavid Daney	bool "Cavium Octeon processor"
14655e683389SDavid Daney	depends on SYS_HAS_CPU_CAVIUM_OCTEON
1466a86c7f72SDavid Daney	select CPU_HAS_PREFETCH
1467a86c7f72SDavid Daney	select CPU_SUPPORTS_64BIT_KERNEL
1468a86c7f72SDavid Daney	select WEAK_ORDERING
1469a86c7f72SDavid Daney	select CPU_SUPPORTS_HIGHMEM
14709cffd154SDavid Daney	select CPU_SUPPORTS_HUGEPAGES
14719296d94dSFlorian Fainelli	select USB_EHCI_BIG_ENDIAN_MMIO
1472930beb5aSFlorian Fainelli	select MIPS_L1_CACHE_SHIFT_7
1473a86c7f72SDavid Daney	help
1474a86c7f72SDavid Daney	  The Cavium Octeon processor is a highly integrated chip containing
1475a86c7f72SDavid Daney	  many ethernet hardware widgets for networking tasks. The processor
1476a86c7f72SDavid Daney	  can have up to 16 Mips64v2 cores and 8 integrated gigabit ethernets.
1477a86c7f72SDavid Daney	  Full details can be found at http://www.caviumnetworks.com.
1478a86c7f72SDavid Daney
1479cd746249SJonas Gorskiconfig CPU_BMIPS
1480cd746249SJonas Gorski	bool "Broadcom BMIPS"
1481cd746249SJonas Gorski	depends on SYS_HAS_CPU_BMIPS
1482cd746249SJonas Gorski	select CPU_MIPS32
1483fe7f62c0SJonas Gorski	select CPU_BMIPS32_3300 if SYS_HAS_CPU_BMIPS32_3300
1484cd746249SJonas Gorski	select CPU_BMIPS4350 if SYS_HAS_CPU_BMIPS4350
1485cd746249SJonas Gorski	select CPU_BMIPS4380 if SYS_HAS_CPU_BMIPS4380
1486cd746249SJonas Gorski	select CPU_BMIPS5000 if SYS_HAS_CPU_BMIPS5000
1487cd746249SJonas Gorski	select CPU_SUPPORTS_32BIT_KERNEL
1488cd746249SJonas Gorski	select DMA_NONCOHERENT
1489cd746249SJonas Gorski	select IRQ_CPU
1490cd746249SJonas Gorski	select SWAP_IO_SPACE
1491cd746249SJonas Gorski	select WEAK_ORDERING
1492c1c0c461SKevin Cernekee	select CPU_SUPPORTS_HIGHMEM
149369aaf9c8SJonas Gorski	select CPU_HAS_PREFETCH
1494c1c0c461SKevin Cernekee	help
1495fe7f62c0SJonas Gorski	  Support for BMIPS32/3300/4350/4380 and BMIPS5000 processors.
1496c1c0c461SKevin Cernekee
14977f058e85SJayachandran Cconfig CPU_XLR
14987f058e85SJayachandran C	bool "Netlogic XLR SoC"
14997f058e85SJayachandran C	depends on SYS_HAS_CPU_XLR
15007f058e85SJayachandran C	select CPU_SUPPORTS_32BIT_KERNEL
15017f058e85SJayachandran C	select CPU_SUPPORTS_64BIT_KERNEL
15027f058e85SJayachandran C	select CPU_SUPPORTS_HIGHMEM
1503970d032fSRalf Baechle	select CPU_SUPPORTS_HUGEPAGES
15047f058e85SJayachandran C	select WEAK_ORDERING
15057f058e85SJayachandran C	select WEAK_REORDERING_BEYOND_LLSC
15067f058e85SJayachandran C	help
15077f058e85SJayachandran C	  Netlogic Microsystems XLR/XLS processors.
15081c773ea4SJayachandran C
15091c773ea4SJayachandran Cconfig CPU_XLP
15101c773ea4SJayachandran C	bool "Netlogic XLP SoC"
15111c773ea4SJayachandran C	depends on SYS_HAS_CPU_XLP
15121c773ea4SJayachandran C	select CPU_SUPPORTS_32BIT_KERNEL
15131c773ea4SJayachandran C	select CPU_SUPPORTS_64BIT_KERNEL
15141c773ea4SJayachandran C	select CPU_SUPPORTS_HIGHMEM
15151c773ea4SJayachandran C	select WEAK_ORDERING
15161c773ea4SJayachandran C	select WEAK_REORDERING_BEYOND_LLSC
15171c773ea4SJayachandran C	select CPU_HAS_PREFETCH
1518d6504846SJayachandran C	select CPU_MIPSR2
15191c773ea4SJayachandran C	help
15201c773ea4SJayachandran C	  Netlogic Microsystems XLP processors.
15211da177e4SLinus Torvaldsendchoice
15221da177e4SLinus Torvalds
1523a6e18781SLeonid Yegoshinconfig CPU_MIPS32_3_5_FEATURES
1524a6e18781SLeonid Yegoshin	bool "MIPS32 Release 3.5 Features"
1525a6e18781SLeonid Yegoshin	depends on SYS_HAS_CPU_MIPS32_R3_5
1526a6e18781SLeonid Yegoshin	depends on CPU_MIPS32_R2
1527a6e18781SLeonid Yegoshin	help
1528a6e18781SLeonid Yegoshin	  Choose this option to build a kernel for release 2 or later of the
1529a6e18781SLeonid Yegoshin	  MIPS32 architecture including features from the 3.5 release such as
1530a6e18781SLeonid Yegoshin	  support for Enhanced Virtual Addressing (EVA).
1531a6e18781SLeonid Yegoshin
1532a6e18781SLeonid Yegoshinconfig CPU_MIPS32_3_5_EVA
1533a6e18781SLeonid Yegoshin	bool "Enhanced Virtual Addressing (EVA)"
1534a6e18781SLeonid Yegoshin	depends on CPU_MIPS32_3_5_FEATURES
1535a6e18781SLeonid Yegoshin	select EVA
1536a6e18781SLeonid Yegoshin	default y
1537a6e18781SLeonid Yegoshin	help
1538a6e18781SLeonid Yegoshin	  Choose this option if you want to enable the Enhanced Virtual
1539a6e18781SLeonid Yegoshin	  Addressing (EVA) on your MIPS32 core (such as proAptiv).
1540a6e18781SLeonid Yegoshin	  One of its primary benefits is an increase in the maximum size
1541a6e18781SLeonid Yegoshin	  of lowmem (up to 3GB). If unsure, say 'N' here.
1542a6e18781SLeonid Yegoshin
1543622844bfSWu Zhangjinif CPU_LOONGSON2F
1544622844bfSWu Zhangjinconfig CPU_NOP_WORKAROUNDS
1545622844bfSWu Zhangjin	bool
1546622844bfSWu Zhangjin
1547622844bfSWu Zhangjinconfig CPU_JUMP_WORKAROUNDS
1548622844bfSWu Zhangjin	bool
1549622844bfSWu Zhangjin
1550622844bfSWu Zhangjinconfig CPU_LOONGSON2F_WORKAROUNDS
1551622844bfSWu Zhangjin	bool "Loongson 2F Workarounds"
1552622844bfSWu Zhangjin	default y
1553622844bfSWu Zhangjin	select CPU_NOP_WORKAROUNDS
1554622844bfSWu Zhangjin	select CPU_JUMP_WORKAROUNDS
1555622844bfSWu Zhangjin	help
1556622844bfSWu Zhangjin	  Loongson 2F01 / 2F02 processors have the NOP & JUMP issues which
1557622844bfSWu Zhangjin	  require workarounds.  Without workarounds the system may hang
1558622844bfSWu Zhangjin	  unexpectedly.  For more information please refer to the gas
1559622844bfSWu Zhangjin	  -mfix-loongson2f-nop and -mfix-loongson2f-jump options.
1560622844bfSWu Zhangjin
1561622844bfSWu Zhangjin	  Loongson 2F03 and later have fixed these issues and no workarounds
1562622844bfSWu Zhangjin	  are needed.  The workarounds have no significant side effect on them
1563622844bfSWu Zhangjin	  but may decrease the performance of the system so this option should
1564622844bfSWu Zhangjin	  be disabled unless the kernel is intended to be run on 2F01 or 2F02
1565622844bfSWu Zhangjin	  systems.
1566622844bfSWu Zhangjin
1567622844bfSWu Zhangjin	  If unsure, please say Y.
1568622844bfSWu Zhangjinendif # CPU_LOONGSON2F
1569622844bfSWu Zhangjin
15701b93b3c3SWu Zhangjinconfig SYS_SUPPORTS_ZBOOT
15711b93b3c3SWu Zhangjin	bool
15721b93b3c3SWu Zhangjin	select HAVE_KERNEL_GZIP
15731b93b3c3SWu Zhangjin	select HAVE_KERNEL_BZIP2
157431c4867dSFlorian Fainelli	select HAVE_KERNEL_LZ4
15751b93b3c3SWu Zhangjin	select HAVE_KERNEL_LZMA
1576fe1d45e0SWu Zhangjin	select HAVE_KERNEL_LZO
15774e23eb63SFlorian Fainelli	select HAVE_KERNEL_XZ
15781b93b3c3SWu Zhangjin
15791b93b3c3SWu Zhangjinconfig SYS_SUPPORTS_ZBOOT_UART16550
15801b93b3c3SWu Zhangjin	bool
15811b93b3c3SWu Zhangjin	select SYS_SUPPORTS_ZBOOT
15821b93b3c3SWu Zhangjin
15833702bba5SWu Zhangjinconfig CPU_LOONGSON2
15843702bba5SWu Zhangjin	bool
15853702bba5SWu Zhangjin	select CPU_SUPPORTS_32BIT_KERNEL
15863702bba5SWu Zhangjin	select CPU_SUPPORTS_64BIT_KERNEL
15873702bba5SWu Zhangjin	select CPU_SUPPORTS_HIGHMEM
1588970d032fSRalf Baechle	select CPU_SUPPORTS_HUGEPAGES
15893702bba5SWu Zhangjin
1590ca585cf9SKelvin Cheungconfig CPU_LOONGSON1
1591ca585cf9SKelvin Cheung	bool
1592ca585cf9SKelvin Cheung	select CPU_MIPS32
1593ca585cf9SKelvin Cheung	select CPU_MIPSR2
1594ca585cf9SKelvin Cheung	select CPU_HAS_PREFETCH
1595ca585cf9SKelvin Cheung	select CPU_SUPPORTS_32BIT_KERNEL
1596ca585cf9SKelvin Cheung	select CPU_SUPPORTS_HIGHMEM
1597f29ad10dSKelvin Cheung	select CPU_SUPPORTS_CPUFREQ
1598ca585cf9SKelvin Cheung
1599fe7f62c0SJonas Gorskiconfig CPU_BMIPS32_3300
160004fa8bf7SJonas Gorski	select SMP_UP if SMP
16011bbb6c1bSKevin Cernekee	bool
1602cd746249SJonas Gorski
1603cd746249SJonas Gorskiconfig CPU_BMIPS4350
1604cd746249SJonas Gorski	bool
1605cd746249SJonas Gorski	select SYS_SUPPORTS_SMP
1606cd746249SJonas Gorski	select SYS_SUPPORTS_HOTPLUG_CPU
1607cd746249SJonas Gorski
1608cd746249SJonas Gorskiconfig CPU_BMIPS4380
1609cd746249SJonas Gorski	bool
1610bbf2ba67SKevin Cernekee	select MIPS_L1_CACHE_SHIFT_6
1611cd746249SJonas Gorski	select SYS_SUPPORTS_SMP
1612cd746249SJonas Gorski	select SYS_SUPPORTS_HOTPLUG_CPU
1613cd746249SJonas Gorski
1614cd746249SJonas Gorskiconfig CPU_BMIPS5000
1615cd746249SJonas Gorski	bool
1616cd746249SJonas Gorski	select MIPS_CPU_SCACHE
1617bbf2ba67SKevin Cernekee	select MIPS_L1_CACHE_SHIFT_7
1618cd746249SJonas Gorski	select SYS_SUPPORTS_SMP
1619cd746249SJonas Gorski	select SYS_SUPPORTS_HOTPLUG_CPU
16201bbb6c1bSKevin Cernekee
16210e476d91SHuacai Chenconfig SYS_HAS_CPU_LOONGSON3
16220e476d91SHuacai Chen	bool
16230e476d91SHuacai Chen	select CPU_SUPPORTS_CPUFREQ
16240e476d91SHuacai Chen
16253702bba5SWu Zhangjinconfig SYS_HAS_CPU_LOONGSON2E
16262a21c730SFuxin Zhang	bool
16272a21c730SFuxin Zhang
16286f7a251aSWu Zhangjinconfig SYS_HAS_CPU_LOONGSON2F
16296f7a251aSWu Zhangjin	bool
163055045ff5SWu Zhangjin	select CPU_SUPPORTS_CPUFREQ
163155045ff5SWu Zhangjin	select CPU_SUPPORTS_ADDRWINCFG if 64BIT
163222f1fdfdSWu Zhangjin	select CPU_SUPPORTS_UNCACHED_ACCELERATED
16336f7a251aSWu Zhangjin
1634ca585cf9SKelvin Cheungconfig SYS_HAS_CPU_LOONGSON1B
1635ca585cf9SKelvin Cheung	bool
1636ca585cf9SKelvin Cheung
16377cf8053bSRalf Baechleconfig SYS_HAS_CPU_MIPS32_R1
16387cf8053bSRalf Baechle	bool
16397cf8053bSRalf Baechle
16407cf8053bSRalf Baechleconfig SYS_HAS_CPU_MIPS32_R2
16417cf8053bSRalf Baechle	bool
16427cf8053bSRalf Baechle
1643a6e18781SLeonid Yegoshinconfig SYS_HAS_CPU_MIPS32_R3_5
1644a6e18781SLeonid Yegoshin	bool
1645a6e18781SLeonid Yegoshin
16467cf8053bSRalf Baechleconfig SYS_HAS_CPU_MIPS64_R1
16477cf8053bSRalf Baechle	bool
16487cf8053bSRalf Baechle
16497cf8053bSRalf Baechleconfig SYS_HAS_CPU_MIPS64_R2
16507cf8053bSRalf Baechle	bool
16517cf8053bSRalf Baechle
16527cf8053bSRalf Baechleconfig SYS_HAS_CPU_R3000
16537cf8053bSRalf Baechle	bool
16547cf8053bSRalf Baechle
16557cf8053bSRalf Baechleconfig SYS_HAS_CPU_TX39XX
16567cf8053bSRalf Baechle	bool
16577cf8053bSRalf Baechle
16587cf8053bSRalf Baechleconfig SYS_HAS_CPU_VR41XX
16597cf8053bSRalf Baechle	bool
16607cf8053bSRalf Baechle
16617cf8053bSRalf Baechleconfig SYS_HAS_CPU_R4300
16627cf8053bSRalf Baechle	bool
16637cf8053bSRalf Baechle
16647cf8053bSRalf Baechleconfig SYS_HAS_CPU_R4X00
16657cf8053bSRalf Baechle	bool
16667cf8053bSRalf Baechle
16677cf8053bSRalf Baechleconfig SYS_HAS_CPU_TX49XX
16687cf8053bSRalf Baechle	bool
16697cf8053bSRalf Baechle
16707cf8053bSRalf Baechleconfig SYS_HAS_CPU_R5000
16717cf8053bSRalf Baechle	bool
16727cf8053bSRalf Baechle
16737cf8053bSRalf Baechleconfig SYS_HAS_CPU_R5432
16747cf8053bSRalf Baechle	bool
16757cf8053bSRalf Baechle
1676542c1020SShinya Kuribayashiconfig SYS_HAS_CPU_R5500
1677542c1020SShinya Kuribayashi	bool
1678542c1020SShinya Kuribayashi
16797cf8053bSRalf Baechleconfig SYS_HAS_CPU_R6000
16807cf8053bSRalf Baechle	bool
16817cf8053bSRalf Baechle
16827cf8053bSRalf Baechleconfig SYS_HAS_CPU_NEVADA
16837cf8053bSRalf Baechle	bool
16847cf8053bSRalf Baechle
16857cf8053bSRalf Baechleconfig SYS_HAS_CPU_R8000
16867cf8053bSRalf Baechle	bool
16877cf8053bSRalf Baechle
16887cf8053bSRalf Baechleconfig SYS_HAS_CPU_R10000
16897cf8053bSRalf Baechle	bool
16907cf8053bSRalf Baechle
16917cf8053bSRalf Baechleconfig SYS_HAS_CPU_RM7000
16927cf8053bSRalf Baechle	bool
16937cf8053bSRalf Baechle
16947cf8053bSRalf Baechleconfig SYS_HAS_CPU_SB1
16957cf8053bSRalf Baechle	bool
16967cf8053bSRalf Baechle
16975e683389SDavid Daneyconfig SYS_HAS_CPU_CAVIUM_OCTEON
16985e683389SDavid Daney	bool
16995e683389SDavid Daney
1700cd746249SJonas Gorskiconfig SYS_HAS_CPU_BMIPS
1701c1c0c461SKevin Cernekee	bool
1702c1c0c461SKevin Cernekee
1703fe7f62c0SJonas Gorskiconfig SYS_HAS_CPU_BMIPS32_3300
1704c1c0c461SKevin Cernekee	bool
1705cd746249SJonas Gorski	select SYS_HAS_CPU_BMIPS
1706c1c0c461SKevin Cernekee
1707c1c0c461SKevin Cernekeeconfig SYS_HAS_CPU_BMIPS4350
1708c1c0c461SKevin Cernekee	bool
1709cd746249SJonas Gorski	select SYS_HAS_CPU_BMIPS
1710c1c0c461SKevin Cernekee
1711c1c0c461SKevin Cernekeeconfig SYS_HAS_CPU_BMIPS4380
1712c1c0c461SKevin Cernekee	bool
1713cd746249SJonas Gorski	select SYS_HAS_CPU_BMIPS
1714c1c0c461SKevin Cernekee
1715c1c0c461SKevin Cernekeeconfig SYS_HAS_CPU_BMIPS5000
1716c1c0c461SKevin Cernekee	bool
1717cd746249SJonas Gorski	select SYS_HAS_CPU_BMIPS
1718c1c0c461SKevin Cernekee
17197f058e85SJayachandran Cconfig SYS_HAS_CPU_XLR
17207f058e85SJayachandran C	bool
17217f058e85SJayachandran C
17221c773ea4SJayachandran Cconfig SYS_HAS_CPU_XLP
17231c773ea4SJayachandran C	bool
17241c773ea4SJayachandran C
1725b6911bbaSPaul Burtonconfig MIPS_MALTA_PM
1726b6911bbaSPaul Burton	depends on MIPS_MALTA
1727b6911bbaSPaul Burton	depends on PCI
1728b6911bbaSPaul Burton	bool
1729b6911bbaSPaul Burton	default y
1730b6911bbaSPaul Burton
173117099b11SRalf Baechle#
173217099b11SRalf Baechle# CPU may reorder R->R, R->W, W->R, W->W
173317099b11SRalf Baechle# Reordering beyond LL and SC is handled in WEAK_REORDERING_BEYOND_LLSC
173417099b11SRalf Baechle#
17350004a9dfSRalf Baechleconfig WEAK_ORDERING
17360004a9dfSRalf Baechle	bool
173717099b11SRalf Baechle
173817099b11SRalf Baechle#
173917099b11SRalf Baechle# CPU may reorder reads and writes beyond LL/SC
174017099b11SRalf Baechle# CPU may reorder R->LL, R->LL, W->LL, W->LL, R->SC, R->SC, W->SC, W->SC
174117099b11SRalf Baechle#
174217099b11SRalf Baechleconfig WEAK_REORDERING_BEYOND_LLSC
174317099b11SRalf Baechle	bool
17445e83d430SRalf Baechleendmenu
17455e83d430SRalf Baechle
17465e83d430SRalf Baechle#
17475e83d430SRalf Baechle# These two indicate any level of the MIPS32 and MIPS64 architecture
17485e83d430SRalf Baechle#
17495e83d430SRalf Baechleconfig CPU_MIPS32
17505e83d430SRalf Baechle	bool
17515e83d430SRalf Baechle	default y if CPU_MIPS32_R1 || CPU_MIPS32_R2
17525e83d430SRalf Baechle
17535e83d430SRalf Baechleconfig CPU_MIPS64
17545e83d430SRalf Baechle	bool
17555e83d430SRalf Baechle	default y if CPU_MIPS64_R1 || CPU_MIPS64_R2
17565e83d430SRalf Baechle
17575e83d430SRalf Baechle#
1758c09b47d8SChris Dearman# These two indicate the revision of the architecture, either Release 1 or Release 2
17595e83d430SRalf Baechle#
17605e83d430SRalf Baechleconfig CPU_MIPSR1
17615e83d430SRalf Baechle	bool
17625e83d430SRalf Baechle	default y if CPU_MIPS32_R1 || CPU_MIPS64_R1
17635e83d430SRalf Baechle
17645e83d430SRalf Baechleconfig CPU_MIPSR2
17655e83d430SRalf Baechle	bool
1766a86c7f72SDavid Daney	default y if CPU_MIPS32_R2 || CPU_MIPS64_R2 || CPU_CAVIUM_OCTEON
17675e83d430SRalf Baechle
1768a6e18781SLeonid Yegoshinconfig EVA
1769a6e18781SLeonid Yegoshin	bool
1770a6e18781SLeonid Yegoshin
17715e83d430SRalf Baechleconfig SYS_SUPPORTS_32BIT_KERNEL
17725e83d430SRalf Baechle	bool
17735e83d430SRalf Baechleconfig SYS_SUPPORTS_64BIT_KERNEL
17745e83d430SRalf Baechle	bool
17755e83d430SRalf Baechleconfig CPU_SUPPORTS_32BIT_KERNEL
17765e83d430SRalf Baechle	bool
17775e83d430SRalf Baechleconfig CPU_SUPPORTS_64BIT_KERNEL
17785e83d430SRalf Baechle	bool
177955045ff5SWu Zhangjinconfig CPU_SUPPORTS_CPUFREQ
178055045ff5SWu Zhangjin	bool
178155045ff5SWu Zhangjinconfig CPU_SUPPORTS_ADDRWINCFG
178255045ff5SWu Zhangjin	bool
17839cffd154SDavid Daneyconfig CPU_SUPPORTS_HUGEPAGES
17849cffd154SDavid Daney	bool
178522f1fdfdSWu Zhangjinconfig CPU_SUPPORTS_UNCACHED_ACCELERATED
178622f1fdfdSWu Zhangjin	bool
178782622284SDavid Daneyconfig MIPS_PGD_C0_CONTEXT
178882622284SDavid Daney	bool
1789d6504846SJayachandran C	default y if 64BIT && CPU_MIPSR2 && !CPU_XLP
17905e83d430SRalf Baechle
17918192c9eaSDavid Daney#
17928192c9eaSDavid Daney# Set to y for ptrace access to watch registers.
17938192c9eaSDavid Daney#
17948192c9eaSDavid Daneyconfig HARDWARE_WATCHPOINTS
17958192c9eaSDavid Daney       bool
1796f839490aSDavid Daney       default y if CPU_MIPSR1 || CPU_MIPSR2
17978192c9eaSDavid Daney
17985e83d430SRalf Baechlemenu "Kernel type"
17995e83d430SRalf Baechle
18005e83d430SRalf Baechlechoice
18015e83d430SRalf Baechle	prompt "Kernel code model"
18025e83d430SRalf Baechle	help
18035e83d430SRalf Baechle	  You should only select this option if you have a workload that
18045e83d430SRalf Baechle	  actually benefits from 64-bit processing or if your machine has
18055e83d430SRalf Baechle	  large memory.  You will only be presented a single option in this
18065e83d430SRalf Baechle	  menu if your system does not support both 32-bit and 64-bit kernels.
18075e83d430SRalf Baechle
18085e83d430SRalf Baechleconfig 32BIT
18095e83d430SRalf Baechle	bool "32-bit kernel"
18105e83d430SRalf Baechle	depends on CPU_SUPPORTS_32BIT_KERNEL && SYS_SUPPORTS_32BIT_KERNEL
18115e83d430SRalf Baechle	select TRAD_SIGNALS
18125e83d430SRalf Baechle	help
18135e83d430SRalf Baechle	  Select this option if you want to build a 32-bit kernel.
18145e83d430SRalf Baechleconfig 64BIT
18155e83d430SRalf Baechle	bool "64-bit kernel"
18165e83d430SRalf Baechle	depends on CPU_SUPPORTS_64BIT_KERNEL && SYS_SUPPORTS_64BIT_KERNEL
18175e83d430SRalf Baechle	help
18185e83d430SRalf Baechle	  Select this option if you want to build a 64-bit kernel.
18195e83d430SRalf Baechle
18205e83d430SRalf Baechleendchoice
18215e83d430SRalf Baechle
18222235a54dSSanjay Lalconfig KVM_GUEST
18232235a54dSSanjay Lal	bool "KVM Guest Kernel"
1824f2a5b1d7SJames Hogan	depends on BROKEN_ON_SMP
18252235a54dSSanjay Lal	help
18262235a54dSSanjay Lal	  Select this option if building a guest kernel for KVM (Trap & Emulate) mode
18272235a54dSSanjay Lal
1828eda3d33cSJames Hoganconfig KVM_GUEST_TIMER_FREQ
1829eda3d33cSJames Hogan	int "Count/Compare Timer Frequency (MHz)"
18302235a54dSSanjay Lal	depends on KVM_GUEST
1831eda3d33cSJames Hogan	default 100
18322235a54dSSanjay Lal	help
1833eda3d33cSJames Hogan	  Set this to non-zero if building a guest kernel for KVM to skip RTC
1834eda3d33cSJames Hogan	  emulation when determining guest CPU Frequency. Instead, the guest's
1835eda3d33cSJames Hogan	  timer frequency is specified directly.
18362235a54dSSanjay Lal
18371da177e4SLinus Torvaldschoice
18381da177e4SLinus Torvalds	prompt "Kernel page size"
18391da177e4SLinus Torvalds	default PAGE_SIZE_4KB
18401da177e4SLinus Torvalds
18411da177e4SLinus Torvaldsconfig PAGE_SIZE_4KB
18421da177e4SLinus Torvalds	bool "4kB"
18430e476d91SHuacai Chen	depends on !CPU_LOONGSON2 && !CPU_LOONGSON3
18441da177e4SLinus Torvalds	help
18451da177e4SLinus Torvalds	 This option select the standard 4kB Linux page size.  On some
18461da177e4SLinus Torvalds	 R3000-family processors this is the only available page size.  Using
18471da177e4SLinus Torvalds	 4kB page size will minimize memory consumption and is therefore
18481da177e4SLinus Torvalds	 recommended for low memory systems.
18491da177e4SLinus Torvalds
18501da177e4SLinus Torvaldsconfig PAGE_SIZE_8KB
18511da177e4SLinus Torvalds	bool "8kB"
18527d60717eSKees Cook	depends on CPU_R8000 || CPU_CAVIUM_OCTEON
18531da177e4SLinus Torvalds	help
18541da177e4SLinus Torvalds	  Using 8kB page size will result in higher performance kernel at
18551da177e4SLinus Torvalds	  the price of higher memory consumption.  This option is available
1856c52399beSRalf Baechle	  only on R8000 and cnMIPS processors.  Note that you will need a
1857c52399beSRalf Baechle	  suitable Linux distribution to support this.
18581da177e4SLinus Torvalds
18591da177e4SLinus Torvaldsconfig PAGE_SIZE_16KB
18601da177e4SLinus Torvalds	bool "16kB"
1861714bfad6SRalf Baechle	depends on !CPU_R3000 && !CPU_TX39XX
18621da177e4SLinus Torvalds	help
18631da177e4SLinus Torvalds	  Using 16kB page size will result in higher performance kernel at
18641da177e4SLinus Torvalds	  the price of higher memory consumption.  This option is available on
1865714bfad6SRalf Baechle	  all non-R3000 family processors.  Note that you will need a suitable
1866714bfad6SRalf Baechle	  Linux distribution to support this.
18671da177e4SLinus Torvalds
1868c52399beSRalf Baechleconfig PAGE_SIZE_32KB
1869c52399beSRalf Baechle	bool "32kB"
1870c52399beSRalf Baechle	depends on CPU_CAVIUM_OCTEON
1871c52399beSRalf Baechle	help
1872c52399beSRalf Baechle	  Using 32kB page size will result in higher performance kernel at
1873c52399beSRalf Baechle	  the price of higher memory consumption.  This option is available
1874c52399beSRalf Baechle	  only on cnMIPS cores.  Note that you will need a suitable Linux
1875c52399beSRalf Baechle	  distribution to support this.
1876c52399beSRalf Baechle
18771da177e4SLinus Torvaldsconfig PAGE_SIZE_64KB
18781da177e4SLinus Torvalds	bool "64kB"
18797d60717eSKees Cook	depends on !CPU_R3000 && !CPU_TX39XX
18801da177e4SLinus Torvalds	help
18811da177e4SLinus Torvalds	  Using 64kB page size will result in higher performance kernel at
18821da177e4SLinus Torvalds	  the price of higher memory consumption.  This option is available on
18831da177e4SLinus Torvalds	  all non-R3000 family processor.  Not that at the time of this
1884714bfad6SRalf Baechle	  writing this option is still high experimental.
18851da177e4SLinus Torvalds
18861da177e4SLinus Torvaldsendchoice
18871da177e4SLinus Torvalds
1888c9bace7cSDavid Daneyconfig FORCE_MAX_ZONEORDER
1889c9bace7cSDavid Daney	int "Maximum zone order"
1890e4362d1eSAlex Smith	range 14 64 if MIPS_HUGE_TLB_SUPPORT && PAGE_SIZE_64KB
1891e4362d1eSAlex Smith	default "14" if MIPS_HUGE_TLB_SUPPORT && PAGE_SIZE_64KB
1892e4362d1eSAlex Smith	range 13 64 if MIPS_HUGE_TLB_SUPPORT && PAGE_SIZE_32KB
1893e4362d1eSAlex Smith	default "13" if MIPS_HUGE_TLB_SUPPORT && PAGE_SIZE_32KB
1894e4362d1eSAlex Smith	range 12 64 if MIPS_HUGE_TLB_SUPPORT && PAGE_SIZE_16KB
1895e4362d1eSAlex Smith	default "12" if MIPS_HUGE_TLB_SUPPORT && PAGE_SIZE_16KB
1896c9bace7cSDavid Daney	range 11 64
1897c9bace7cSDavid Daney	default "11"
1898c9bace7cSDavid Daney	help
1899c9bace7cSDavid Daney	  The kernel memory allocator divides physically contiguous memory
1900c9bace7cSDavid Daney	  blocks into "zones", where each zone is a power of two number of
1901c9bace7cSDavid Daney	  pages.  This option selects the largest power of two that the kernel
1902c9bace7cSDavid Daney	  keeps in the memory allocator.  If you need to allocate very large
1903c9bace7cSDavid Daney	  blocks of physically contiguous memory, then you may need to
1904c9bace7cSDavid Daney	  increase this value.
1905c9bace7cSDavid Daney
1906c9bace7cSDavid Daney	  This config option is actually maximum order plus one. For example,
1907c9bace7cSDavid Daney	  a value of 11 means that the largest free memory block is 2^10 pages.
1908c9bace7cSDavid Daney
1909c9bace7cSDavid Daney	  The page size is not necessarily 4KB.  Keep this in mind
1910c9bace7cSDavid Daney	  when choosing a value for this option.
1911c9bace7cSDavid Daney
19121da177e4SLinus Torvaldsconfig BOARD_SCACHE
19131da177e4SLinus Torvalds	bool
19141da177e4SLinus Torvalds
19151da177e4SLinus Torvaldsconfig IP22_CPU_SCACHE
19161da177e4SLinus Torvalds	bool
19171da177e4SLinus Torvalds	select BOARD_SCACHE
19181da177e4SLinus Torvalds
19199318c51aSChris Dearman#
19209318c51aSChris Dearman# Support for a MIPS32 / MIPS64 style S-caches
19219318c51aSChris Dearman#
19229318c51aSChris Dearmanconfig MIPS_CPU_SCACHE
19239318c51aSChris Dearman	bool
19249318c51aSChris Dearman	select BOARD_SCACHE
19259318c51aSChris Dearman
19261da177e4SLinus Torvaldsconfig R5000_CPU_SCACHE
19271da177e4SLinus Torvalds	bool
19281da177e4SLinus Torvalds	select BOARD_SCACHE
19291da177e4SLinus Torvalds
19301da177e4SLinus Torvaldsconfig RM7000_CPU_SCACHE
19311da177e4SLinus Torvalds	bool
19321da177e4SLinus Torvalds	select BOARD_SCACHE
19331da177e4SLinus Torvalds
19341da177e4SLinus Torvaldsconfig SIBYTE_DMA_PAGEOPS
19351da177e4SLinus Torvalds	bool "Use DMA to clear/copy pages"
19361da177e4SLinus Torvalds	depends on CPU_SB1
19371da177e4SLinus Torvalds	help
19381da177e4SLinus Torvalds	  Instead of using the CPU to zero and copy pages, use a Data Mover
19391da177e4SLinus Torvalds	  channel.  These DMA channels are otherwise unused by the standard
19401da177e4SLinus Torvalds	  SiByte Linux port.  Seems to give a small performance benefit.
19411da177e4SLinus Torvalds
19421da177e4SLinus Torvaldsconfig CPU_HAS_PREFETCH
1943c8094b53SRalf Baechle	bool
19441da177e4SLinus Torvalds
19453165c846SFlorian Fainelliconfig CPU_GENERIC_DUMP_TLB
19463165c846SFlorian Fainelli	bool
19473165c846SFlorian Fainelli	default y if !(CPU_R3000 || CPU_R6000 || CPU_R8000 || CPU_TX39XX)
19483165c846SFlorian Fainelli
194991405eb6SFlorian Fainelliconfig CPU_R4K_FPU
195091405eb6SFlorian Fainelli	bool
195191405eb6SFlorian Fainelli	default y if !(CPU_R3000 || CPU_R6000 || CPU_TX39XX || CPU_CAVIUM_OCTEON)
195291405eb6SFlorian Fainelli
195362cedc4fSFlorian Fainelliconfig CPU_R4K_CACHE_TLB
195462cedc4fSFlorian Fainelli	bool
195562cedc4fSFlorian Fainelli	default y if !(CPU_R3000 || CPU_R8000 || CPU_SB1 || CPU_TX39XX || CPU_CAVIUM_OCTEON)
195662cedc4fSFlorian Fainelli
195759d6ab86SRalf Baechleconfig MIPS_MT_SMP
1958a92b7f87SMarkos Chandras	bool "MIPS MT SMP support (1 TC on each available VPE)"
195959d6ab86SRalf Baechle	depends on SYS_SUPPORTS_MULTITHREADING
196059d6ab86SRalf Baechle	select CPU_MIPSR2_IRQ_VI
1961d725cf38SChris Dearman	select CPU_MIPSR2_IRQ_EI
1962c080faa5SSteven J. Hill	select SYNC_R4K
19630c2cb004SPaul Burton	select MIPS_GIC_IPI
196459d6ab86SRalf Baechle	select MIPS_MT
196559d6ab86SRalf Baechle	select SMP
196687353d8aSRalf Baechle	select SMP_UP
1967c080faa5SSteven J. Hill	select SYS_SUPPORTS_SMP
1968c080faa5SSteven J. Hill	select SYS_SUPPORTS_SCHED_SMT
1969399aaa25SAl Cooper	select MIPS_PERF_SHARED_TC_COUNTERS
197059d6ab86SRalf Baechle	help
1971c080faa5SSteven J. Hill	  This is a kernel model which is known as SMVP. This is supported
1972c080faa5SSteven J. Hill	  on cores with the MT ASE and uses the available VPEs to implement
1973c080faa5SSteven J. Hill	  virtual processors which supports SMP. This is equivalent to the
1974c080faa5SSteven J. Hill	  Intel Hyperthreading feature. For further information go to
1975c080faa5SSteven J. Hill	  <http://www.imgtec.com/mips/mips-multithreading.asp>.
197659d6ab86SRalf Baechle
1977f41ae0b2SRalf Baechleconfig MIPS_MT
1978f41ae0b2SRalf Baechle	bool
1979f41ae0b2SRalf Baechle
19800ab7aefcSRalf Baechleconfig SCHED_SMT
19810ab7aefcSRalf Baechle	bool "SMT (multithreading) scheduler support"
19820ab7aefcSRalf Baechle	depends on SYS_SUPPORTS_SCHED_SMT
19830ab7aefcSRalf Baechle	default n
19840ab7aefcSRalf Baechle	help
19850ab7aefcSRalf Baechle	  SMT scheduler support improves the CPU scheduler's decision making
19860ab7aefcSRalf Baechle	  when dealing with MIPS MT enabled cores at a cost of slightly
19870ab7aefcSRalf Baechle	  increased overhead in some places. If unsure say N here.
19880ab7aefcSRalf Baechle
19890ab7aefcSRalf Baechleconfig SYS_SUPPORTS_SCHED_SMT
19900ab7aefcSRalf Baechle	bool
19910ab7aefcSRalf Baechle
1992f41ae0b2SRalf Baechleconfig SYS_SUPPORTS_MULTITHREADING
1993f41ae0b2SRalf Baechle	bool
1994f41ae0b2SRalf Baechle
1995f088fc84SRalf Baechleconfig MIPS_MT_FPAFF
1996f088fc84SRalf Baechle	bool "Dynamic FPU affinity for FP-intensive threads"
1997f088fc84SRalf Baechle	default y
1998b633648cSRalf Baechle	depends on MIPS_MT_SMP
199907cc0c9eSRalf Baechle
200007cc0c9eSRalf Baechleconfig MIPS_VPE_LOADER
200107cc0c9eSRalf Baechle	bool "VPE loader support."
2002704e6460SMarkos Chandras	depends on SYS_SUPPORTS_MULTITHREADING && MODULES
200307cc0c9eSRalf Baechle	select CPU_MIPSR2_IRQ_VI
200407cc0c9eSRalf Baechle	select CPU_MIPSR2_IRQ_EI
200507cc0c9eSRalf Baechle	select MIPS_MT
200607cc0c9eSRalf Baechle	help
200707cc0c9eSRalf Baechle	  Includes a loader for loading an elf relocatable object
200807cc0c9eSRalf Baechle	  onto another VPE and running it.
2009f088fc84SRalf Baechle
201017a1d523SDeng-Cheng Zhuconfig MIPS_VPE_LOADER_CMP
201117a1d523SDeng-Cheng Zhu	bool
201217a1d523SDeng-Cheng Zhu	default "y"
201317a1d523SDeng-Cheng Zhu	depends on MIPS_VPE_LOADER && MIPS_CMP
201417a1d523SDeng-Cheng Zhu
20151a2a6d7eSDeng-Cheng Zhuconfig MIPS_VPE_LOADER_MT
20161a2a6d7eSDeng-Cheng Zhu	bool
20171a2a6d7eSDeng-Cheng Zhu	default "y"
20181a2a6d7eSDeng-Cheng Zhu	depends on MIPS_VPE_LOADER && !MIPS_CMP
20191a2a6d7eSDeng-Cheng Zhu
2020e01402b1SRalf Baechleconfig MIPS_VPE_LOADER_TOM
2021e01402b1SRalf Baechle	bool "Load VPE program into memory hidden from linux"
2022e01402b1SRalf Baechle	depends on MIPS_VPE_LOADER
2023e01402b1SRalf Baechle	default y
2024e01402b1SRalf Baechle	help
2025e01402b1SRalf Baechle	  The loader can use memory that is present but has been hidden from
2026e01402b1SRalf Baechle	  Linux using the kernel command line option "mem=xxMB". It's up to
2027e01402b1SRalf Baechle	  you to ensure the amount you put in the option and the space your
2028e01402b1SRalf Baechle	  program requires is less or equal to the amount physically present.
2029e01402b1SRalf Baechle
2030e01402b1SRalf Baechleconfig MIPS_VPE_APSP_API
2031e01402b1SRalf Baechle	bool "Enable support for AP/SP API (RTLX)"
2032e01402b1SRalf Baechle	depends on MIPS_VPE_LOADER
20335e83d430SRalf Baechle	help
2034e01402b1SRalf Baechle
2035da615cf6SDeng-Cheng Zhuconfig MIPS_VPE_APSP_API_CMP
2036da615cf6SDeng-Cheng Zhu	bool
2037da615cf6SDeng-Cheng Zhu	default "y"
2038da615cf6SDeng-Cheng Zhu	depends on MIPS_VPE_APSP_API && MIPS_CMP
2039da615cf6SDeng-Cheng Zhu
20402c973ef0SDeng-Cheng Zhuconfig MIPS_VPE_APSP_API_MT
20412c973ef0SDeng-Cheng Zhu	bool
20422c973ef0SDeng-Cheng Zhu	default "y"
20432c973ef0SDeng-Cheng Zhu	depends on MIPS_VPE_APSP_API && !MIPS_CMP
20442c973ef0SDeng-Cheng Zhu
20454a16ff4cSRalf Baechleconfig MIPS_CMP
20465cac93b3SPaul Burton	bool "MIPS CMP framework support (DEPRECATED)"
2047b633648cSRalf Baechle	depends on SYS_SUPPORTS_MIPS_CMP
204872e20142SPaul Burton	select MIPS_GIC_IPI
2049b10b43baSMarkos Chandras	select SMP
2050eb9b5141STim Anderson	select SYNC_R4K
2051b10b43baSMarkos Chandras	select SYS_SUPPORTS_SMP
20524a16ff4cSRalf Baechle	select WEAK_ORDERING
20534a16ff4cSRalf Baechle	default n
20544a16ff4cSRalf Baechle	help
2055044505c7SPaul Burton	  Select this if you are using a bootloader which implements the "CMP
2056044505c7SPaul Burton	  framework" protocol (ie. YAMON) and want your kernel to make use of
2057044505c7SPaul Burton	  its ability to start secondary CPUs.
20584a16ff4cSRalf Baechle
20595cac93b3SPaul Burton	  Unless you have a specific need, you should use CONFIG_MIPS_CPS
20605cac93b3SPaul Burton	  instead of this.
20615cac93b3SPaul Burton
20620ee958e1SPaul Burtonconfig MIPS_CPS
20630ee958e1SPaul Burton	bool "MIPS Coherent Processing System support"
20640ee958e1SPaul Burton	depends on SYS_SUPPORTS_MIPS_CPS
20650ee958e1SPaul Burton	select MIPS_CM
20660ee958e1SPaul Burton	select MIPS_CPC
20671d8f1f5aSPaul Burton	select MIPS_CPS_PM if HOTPLUG_CPU
20680ee958e1SPaul Burton	select MIPS_GIC_IPI
20690ee958e1SPaul Burton	select SMP
20700ee958e1SPaul Burton	select SYNC_R4K if (CEVT_R4K || CSRC_R4K)
20711d8f1f5aSPaul Burton	select SYS_SUPPORTS_HOTPLUG_CPU
20720ee958e1SPaul Burton	select SYS_SUPPORTS_SMP
20730ee958e1SPaul Burton	select WEAK_ORDERING
20740ee958e1SPaul Burton	help
20750ee958e1SPaul Burton	  Select this if you wish to run an SMP kernel across multiple cores
20760ee958e1SPaul Burton	  within a MIPS Coherent Processing System. When this option is
20770ee958e1SPaul Burton	  enabled the kernel will probe for other cores and boot them with
20780ee958e1SPaul Burton	  no external assistance. It is safe to enable this when hardware
20790ee958e1SPaul Burton	  support is unavailable.
20800ee958e1SPaul Burton
20813179d37eSPaul Burtonconfig MIPS_CPS_PM
208239a59593SMarkos Chandras	depends on MIPS_CPS
2083a8b84677SPaul Burton	select MIPS_CPC
20843179d37eSPaul Burton	bool
20853179d37eSPaul Burton
208672e20142SPaul Burtonconfig MIPS_GIC_IPI
208772e20142SPaul Burton	bool
208872e20142SPaul Burton
20899f98f3ddSPaul Burtonconfig MIPS_CM
20909f98f3ddSPaul Burton	bool
20919f98f3ddSPaul Burton
20929c38cf44SPaul Burtonconfig MIPS_CPC
20939c38cf44SPaul Burton	bool
20942600990eSRalf Baechle
20951da177e4SLinus Torvaldsconfig SB1_PASS_1_WORKAROUNDS
20961da177e4SLinus Torvalds	bool
20971da177e4SLinus Torvalds	depends on CPU_SB1_PASS_1
20981da177e4SLinus Torvalds	default y
20991da177e4SLinus Torvalds
21001da177e4SLinus Torvaldsconfig SB1_PASS_2_WORKAROUNDS
21011da177e4SLinus Torvalds	bool
21021da177e4SLinus Torvalds	depends on CPU_SB1 && (CPU_SB1_PASS_2_2 || CPU_SB1_PASS_2)
21031da177e4SLinus Torvalds	default y
21041da177e4SLinus Torvalds
21051da177e4SLinus Torvaldsconfig SB1_PASS_2_1_WORKAROUNDS
21061da177e4SLinus Torvalds	bool
21071da177e4SLinus Torvalds	depends on CPU_SB1 && CPU_SB1_PASS_2
21081da177e4SLinus Torvalds	default y
21091da177e4SLinus Torvalds
21102235a54dSSanjay Lal
21111da177e4SLinus Torvaldsconfig 64BIT_PHYS_ADDR
2112d806cb2bSRalf Baechle	bool
21131da177e4SLinus Torvalds
211460ec6571Spascal@pabr.orgconfig ARCH_PHYS_ADDR_T_64BIT
211560ec6571Spascal@pabr.org       def_bool 64BIT_PHYS_ADDR
211660ec6571Spascal@pabr.org
21179693a853SFranck Bui-Huuconfig CPU_HAS_SMARTMIPS
21189693a853SFranck Bui-Huu	depends on SYS_SUPPORTS_SMARTMIPS
21199693a853SFranck Bui-Huu	bool "Support for the SmartMIPS ASE"
21209693a853SFranck Bui-Huu	help
21219693a853SFranck Bui-Huu	  SmartMIPS is a extension of the MIPS32 architecture aimed at
21229693a853SFranck Bui-Huu	  increased security at both hardware and software level for
21239693a853SFranck Bui-Huu	  smartcards.  Enabling this option will allow proper use of the
21249693a853SFranck Bui-Huu	  SmartMIPS instructions by Linux applications.  However a kernel with
21259693a853SFranck Bui-Huu	  this option will not work on a MIPS core without SmartMIPS core.  If
21269693a853SFranck Bui-Huu	  you don't know you probably don't have SmartMIPS and should say N
21279693a853SFranck Bui-Huu	  here.
21289693a853SFranck Bui-Huu
2129bce86083SSteven J. Hillconfig CPU_MICROMIPS
2130bce86083SSteven J. Hill	depends on SYS_SUPPORTS_MICROMIPS
2131bce86083SSteven J. Hill	bool "Build kernel using microMIPS ISA"
2132bce86083SSteven J. Hill	help
2133bce86083SSteven J. Hill	  When this option is enabled the kernel will be built using the
2134bce86083SSteven J. Hill	  microMIPS ISA
2135bce86083SSteven J. Hill
2136a5e9a69eSPaul Burtonconfig CPU_HAS_MSA
21374af94d5dSPaul Burton	bool "Support for the MIPS SIMD Architecture (EXPERIMENTAL)"
2138a5e9a69eSPaul Burton	depends on CPU_SUPPORTS_MSA
21392a6cb669SPaul Burton	depends on 64BIT || MIPS_O32_FP64_SUPPORT
2140a5e9a69eSPaul Burton	help
2141a5e9a69eSPaul Burton	  MIPS SIMD Architecture (MSA) introduces 128 bit wide vector registers
2142a5e9a69eSPaul Burton	  and a set of SIMD instructions to operate on them. When this option
21431db1af84SPaul Burton	  is enabled the kernel will support allocating & switching MSA
21441db1af84SPaul Burton	  vector register contexts. If you know that your kernel will only be
21451db1af84SPaul Burton	  running on CPUs which do not support MSA or that your userland will
21461db1af84SPaul Burton	  not be making use of it then you may wish to say N here to reduce
21471db1af84SPaul Burton	  the size & complexity of your kernel.
2148a5e9a69eSPaul Burton
2149a5e9a69eSPaul Burton	  If unsure, say Y.
2150a5e9a69eSPaul Burton
21511da177e4SLinus Torvaldsconfig CPU_HAS_WB
2152f7062ddbSRalf Baechle	bool
2153e01402b1SRalf Baechle
2154df0ac8a4SKevin Cernekeeconfig XKS01
2155df0ac8a4SKevin Cernekee	bool
2156df0ac8a4SKevin Cernekee
2157f41ae0b2SRalf Baechle#
2158f41ae0b2SRalf Baechle# Vectored interrupt mode is an R2 feature
2159f41ae0b2SRalf Baechle#
2160e01402b1SRalf Baechleconfig CPU_MIPSR2_IRQ_VI
2161f41ae0b2SRalf Baechle	bool
2162e01402b1SRalf Baechle
2163f41ae0b2SRalf Baechle#
2164f41ae0b2SRalf Baechle# Extended interrupt mode is an R2 feature
2165f41ae0b2SRalf Baechle#
2166e01402b1SRalf Baechleconfig CPU_MIPSR2_IRQ_EI
2167f41ae0b2SRalf Baechle	bool
2168e01402b1SRalf Baechle
21691da177e4SLinus Torvaldsconfig CPU_HAS_SYNC
21701da177e4SLinus Torvalds	bool
21711da177e4SLinus Torvalds	depends on !CPU_R3000
21721da177e4SLinus Torvalds	default y
21731da177e4SLinus Torvalds
21741da177e4SLinus Torvalds#
217520d60d99SMaciej W. Rozycki# CPU non-features
217620d60d99SMaciej W. Rozycki#
217720d60d99SMaciej W. Rozyckiconfig CPU_DADDI_WORKAROUNDS
217820d60d99SMaciej W. Rozycki	bool
217920d60d99SMaciej W. Rozycki
218020d60d99SMaciej W. Rozyckiconfig CPU_R4000_WORKAROUNDS
218120d60d99SMaciej W. Rozycki	bool
218220d60d99SMaciej W. Rozycki	select CPU_R4400_WORKAROUNDS
218320d60d99SMaciej W. Rozycki
218420d60d99SMaciej W. Rozyckiconfig CPU_R4400_WORKAROUNDS
218520d60d99SMaciej W. Rozycki	bool
218620d60d99SMaciej W. Rozycki
218720d60d99SMaciej W. Rozycki#
21881da177e4SLinus Torvalds# - Highmem only makes sense for the 32-bit kernel.
21891da177e4SLinus Torvalds# - The current highmem code will only work properly on physically indexed
21901da177e4SLinus Torvalds#   caches such as R3000, SB1, R7000 or those that look like they're virtually
21911da177e4SLinus Torvalds#   indexed such as R4000/R4400 SC and MC versions or R10000.  So for the
21921da177e4SLinus Torvalds#   moment we protect the user and offer the highmem option only on machines
21931da177e4SLinus Torvalds#   where it's known to be safe.  This will not offer highmem on a few systems
21941da177e4SLinus Torvalds#   such as MIPS32 and MIPS64 CPUs which may have virtual and physically
21951da177e4SLinus Torvalds#   indexed CPUs but we're playing safe.
2196797798c1SRalf Baechle# - We use SYS_SUPPORTS_HIGHMEM to offer highmem only for systems where we
2197797798c1SRalf Baechle#   know they might have memory configurations that could make use of highmem
2198797798c1SRalf Baechle#   support.
21991da177e4SLinus Torvalds#
22001da177e4SLinus Torvaldsconfig HIGHMEM
22011da177e4SLinus Torvalds	bool "High Memory Support"
2202a6e18781SLeonid Yegoshin	depends on 32BIT && CPU_SUPPORTS_HIGHMEM && SYS_SUPPORTS_HIGHMEM && !CPU_MIPS32_3_5_EVA
2203797798c1SRalf Baechle
2204797798c1SRalf Baechleconfig CPU_SUPPORTS_HIGHMEM
2205797798c1SRalf Baechle	bool
2206797798c1SRalf Baechle
2207797798c1SRalf Baechleconfig SYS_SUPPORTS_HIGHMEM
2208797798c1SRalf Baechle	bool
22091da177e4SLinus Torvalds
22109693a853SFranck Bui-Huuconfig SYS_SUPPORTS_SMARTMIPS
22119693a853SFranck Bui-Huu	bool
22129693a853SFranck Bui-Huu
2213a6a4834cSSteven J. Hillconfig SYS_SUPPORTS_MICROMIPS
2214a6a4834cSSteven J. Hill	bool
2215a6a4834cSSteven J. Hill
2216377cb1b6SRalf Baechleconfig SYS_SUPPORTS_MIPS16
2217377cb1b6SRalf Baechle	bool
2218377cb1b6SRalf Baechle	help
2219377cb1b6SRalf Baechle	  This option must be set if a kernel might be executed on a MIPS16-
2220377cb1b6SRalf Baechle	  enabled CPU even if MIPS16 is not actually being used.  In other
2221377cb1b6SRalf Baechle	  words, it makes the kernel MIPS16-tolerant.
2222377cb1b6SRalf Baechle
2223a5e9a69eSPaul Burtonconfig CPU_SUPPORTS_MSA
2224a5e9a69eSPaul Burton	bool
2225a5e9a69eSPaul Burton
2226b4819b59SYoichi Yuasaconfig ARCH_FLATMEM_ENABLE
2227b4819b59SYoichi Yuasa	def_bool y
2228f133f22dSWu Zhangjin	depends on !NUMA && !CPU_LOONGSON2
2229b4819b59SYoichi Yuasa
2230d8cb4e11SRalf Baechleconfig ARCH_DISCONTIGMEM_ENABLE
2231d8cb4e11SRalf Baechle	bool
2232d8cb4e11SRalf Baechle	default y if SGI_IP27
2233d8cb4e11SRalf Baechle	help
22343dde6ad8SDavid Sterba	  Say Y to support efficient handling of discontiguous physical memory,
2235d8cb4e11SRalf Baechle	  for architectures which are either NUMA (Non-Uniform Memory Access)
2236d8cb4e11SRalf Baechle	  or have huge holes in the physical address space for other reasons.
2237d8cb4e11SRalf Baechle	  See <file:Documentation/vm/numa> for more.
2238d8cb4e11SRalf Baechle
2239b1c6cd42SAtsushi Nemotoconfig ARCH_SPARSEMEM_ENABLE
2240b1c6cd42SAtsushi Nemoto	bool
22417de58fabSAtsushi Nemoto	select SPARSEMEM_STATIC
224231473747SAtsushi Nemoto
2243d8cb4e11SRalf Baechleconfig NUMA
2244d8cb4e11SRalf Baechle	bool "NUMA Support"
2245d8cb4e11SRalf Baechle	depends on SYS_SUPPORTS_NUMA
2246d8cb4e11SRalf Baechle	help
2247d8cb4e11SRalf Baechle	  Say Y to compile the kernel to support NUMA (Non-Uniform Memory
2248d8cb4e11SRalf Baechle	  Access).  This option improves performance on systems with more
2249d8cb4e11SRalf Baechle	  than two nodes; on two node systems it is generally better to
2250d8cb4e11SRalf Baechle	  leave it disabled; on single node systems disable this option
2251d8cb4e11SRalf Baechle	  disabled.
2252d8cb4e11SRalf Baechle
2253d8cb4e11SRalf Baechleconfig SYS_SUPPORTS_NUMA
2254d8cb4e11SRalf Baechle	bool
2255d8cb4e11SRalf Baechle
2256c80d79d7SYasunori Gotoconfig NODES_SHIFT
2257c80d79d7SYasunori Goto	int
2258c80d79d7SYasunori Goto	default "6"
2259c80d79d7SYasunori Goto	depends on NEED_MULTIPLE_NODES
2260c80d79d7SYasunori Goto
226114f70012SDeng-Cheng Zhuconfig HW_PERF_EVENTS
226214f70012SDeng-Cheng Zhu	bool "Enable hardware performance counter support for perf events"
2263b633648cSRalf Baechle	depends on PERF_EVENTS && OPROFILE=n && (CPU_MIPS32 || CPU_MIPS64 || CPU_R10000 || CPU_SB1 || CPU_CAVIUM_OCTEON || CPU_XLP)
226414f70012SDeng-Cheng Zhu	default y
226514f70012SDeng-Cheng Zhu	help
226614f70012SDeng-Cheng Zhu	  Enable hardware performance counter support for perf events. If
226714f70012SDeng-Cheng Zhu	  disabled, perf events will use software events only.
226814f70012SDeng-Cheng Zhu
2269b4819b59SYoichi Yuasasource "mm/Kconfig"
2270b4819b59SYoichi Yuasa
22711da177e4SLinus Torvaldsconfig SMP
22721da177e4SLinus Torvalds	bool "Multi-Processing support"
2273e73ea273SRalf Baechle	depends on SYS_SUPPORTS_SMP
2274e73ea273SRalf Baechle	help
22751da177e4SLinus Torvalds	  This enables support for systems with more than one CPU. If you have
22764a474157SRobert Graffham	  a system with only one CPU, say N. If you have a system with more
22774a474157SRobert Graffham	  than one CPU, say Y.
22781da177e4SLinus Torvalds
22794a474157SRobert Graffham	  If you say N here, the kernel will run on uni- and multiprocessor
22801da177e4SLinus Torvalds	  machines, but will use only one CPU of a multiprocessor machine. If
22811da177e4SLinus Torvalds	  you say Y here, the kernel will run on many, but not all,
22824a474157SRobert Graffham	  uniprocessor machines. On a uniprocessor machine, the kernel
22831da177e4SLinus Torvalds	  will run faster if you say N here.
22841da177e4SLinus Torvalds
22851da177e4SLinus Torvalds	  People using multiprocessor machines who say Y here should also say
22861da177e4SLinus Torvalds	  Y to "Enhanced Real Time Clock Support", below.
22871da177e4SLinus Torvalds
228803502faaSAdrian Bunk	  See also the SMP-HOWTO available at
228903502faaSAdrian Bunk	  <http://www.tldp.org/docs.html#howto>.
22901da177e4SLinus Torvalds
22911da177e4SLinus Torvalds	  If you don't know what to do here, say N.
22921da177e4SLinus Torvalds
229387353d8aSRalf Baechleconfig SMP_UP
229487353d8aSRalf Baechle	bool
229587353d8aSRalf Baechle
22964a16ff4cSRalf Baechleconfig SYS_SUPPORTS_MIPS_CMP
22974a16ff4cSRalf Baechle	bool
22984a16ff4cSRalf Baechle
22990ee958e1SPaul Burtonconfig SYS_SUPPORTS_MIPS_CPS
23000ee958e1SPaul Burton	bool
23010ee958e1SPaul Burton
2302e73ea273SRalf Baechleconfig SYS_SUPPORTS_SMP
2303e73ea273SRalf Baechle	bool
2304e73ea273SRalf Baechle
2305130e2fb7SRalf Baechleconfig NR_CPUS_DEFAULT_4
2306130e2fb7SRalf Baechle	bool
2307130e2fb7SRalf Baechle
2308130e2fb7SRalf Baechleconfig NR_CPUS_DEFAULT_8
2309130e2fb7SRalf Baechle	bool
2310130e2fb7SRalf Baechle
2311130e2fb7SRalf Baechleconfig NR_CPUS_DEFAULT_16
2312130e2fb7SRalf Baechle	bool
2313130e2fb7SRalf Baechle
2314130e2fb7SRalf Baechleconfig NR_CPUS_DEFAULT_32
2315130e2fb7SRalf Baechle	bool
2316130e2fb7SRalf Baechle
2317130e2fb7SRalf Baechleconfig NR_CPUS_DEFAULT_64
2318130e2fb7SRalf Baechle	bool
2319130e2fb7SRalf Baechle
23201da177e4SLinus Torvaldsconfig NR_CPUS
2321a91796a9SJayachandran C	int "Maximum number of CPUs (2-256)"
2322a91796a9SJayachandran C	range 2 256
23231da177e4SLinus Torvalds	depends on SMP
2324130e2fb7SRalf Baechle	default "4" if NR_CPUS_DEFAULT_4
2325130e2fb7SRalf Baechle	default "8" if NR_CPUS_DEFAULT_8
2326130e2fb7SRalf Baechle	default "16" if NR_CPUS_DEFAULT_16
2327130e2fb7SRalf Baechle	default "32" if NR_CPUS_DEFAULT_32
2328130e2fb7SRalf Baechle	default "64" if NR_CPUS_DEFAULT_64
23291da177e4SLinus Torvalds	help
23301da177e4SLinus Torvalds	  This allows you to specify the maximum number of CPUs which this
23311da177e4SLinus Torvalds	  kernel will support.  The maximum supported value is 32 for 32-bit
23321da177e4SLinus Torvalds	  kernel and 64 for 64-bit kernels; the minimum value which makes
233372ede9b1SAtsushi Nemoto	  sense is 1 for Qemu (useful only for kernel debugging purposes)
233472ede9b1SAtsushi Nemoto	  and 2 for all others.
23351da177e4SLinus Torvalds
23361da177e4SLinus Torvalds	  This is purely to save memory - each supported CPU adds
233772ede9b1SAtsushi Nemoto	  approximately eight kilobytes to the kernel image.  For best
233872ede9b1SAtsushi Nemoto	  performance should round up your number of processors to the next
233972ede9b1SAtsushi Nemoto	  power of two.
23401da177e4SLinus Torvalds
2341399aaa25SAl Cooperconfig MIPS_PERF_SHARED_TC_COUNTERS
2342399aaa25SAl Cooper	bool
2343399aaa25SAl Cooper
23441723b4a3SAtsushi Nemoto#
23451723b4a3SAtsushi Nemoto# Timer Interrupt Frequency Configuration
23461723b4a3SAtsushi Nemoto#
23471723b4a3SAtsushi Nemoto
23481723b4a3SAtsushi Nemotochoice
23491723b4a3SAtsushi Nemoto	prompt "Timer frequency"
23501723b4a3SAtsushi Nemoto	default HZ_250
23511723b4a3SAtsushi Nemoto	help
23521723b4a3SAtsushi Nemoto	 Allows the configuration of the timer frequency.
23531723b4a3SAtsushi Nemoto
23541723b4a3SAtsushi Nemoto	config HZ_48
23550f873585SRalf Baechle		bool "48 HZ" if SYS_SUPPORTS_48HZ || SYS_SUPPORTS_ARBIT_HZ
23561723b4a3SAtsushi Nemoto
23571723b4a3SAtsushi Nemoto	config HZ_100
23581723b4a3SAtsushi Nemoto		bool "100 HZ" if SYS_SUPPORTS_100HZ || SYS_SUPPORTS_ARBIT_HZ
23591723b4a3SAtsushi Nemoto
23601723b4a3SAtsushi Nemoto	config HZ_128
23611723b4a3SAtsushi Nemoto		bool "128 HZ" if SYS_SUPPORTS_128HZ || SYS_SUPPORTS_ARBIT_HZ
23621723b4a3SAtsushi Nemoto
23631723b4a3SAtsushi Nemoto	config HZ_250
23641723b4a3SAtsushi Nemoto		bool "250 HZ" if SYS_SUPPORTS_250HZ || SYS_SUPPORTS_ARBIT_HZ
23651723b4a3SAtsushi Nemoto
23661723b4a3SAtsushi Nemoto	config HZ_256
23671723b4a3SAtsushi Nemoto		bool "256 HZ" if SYS_SUPPORTS_256HZ || SYS_SUPPORTS_ARBIT_HZ
23681723b4a3SAtsushi Nemoto
23691723b4a3SAtsushi Nemoto	config HZ_1000
23701723b4a3SAtsushi Nemoto		bool "1000 HZ" if SYS_SUPPORTS_1000HZ || SYS_SUPPORTS_ARBIT_HZ
23711723b4a3SAtsushi Nemoto
23721723b4a3SAtsushi Nemoto	config HZ_1024
23731723b4a3SAtsushi Nemoto		bool "1024 HZ" if SYS_SUPPORTS_1024HZ || SYS_SUPPORTS_ARBIT_HZ
23741723b4a3SAtsushi Nemoto
23751723b4a3SAtsushi Nemotoendchoice
23761723b4a3SAtsushi Nemoto
23771723b4a3SAtsushi Nemotoconfig SYS_SUPPORTS_48HZ
23781723b4a3SAtsushi Nemoto	bool
23791723b4a3SAtsushi Nemoto
23801723b4a3SAtsushi Nemotoconfig SYS_SUPPORTS_100HZ
23811723b4a3SAtsushi Nemoto	bool
23821723b4a3SAtsushi Nemoto
23831723b4a3SAtsushi Nemotoconfig SYS_SUPPORTS_128HZ
23841723b4a3SAtsushi Nemoto	bool
23851723b4a3SAtsushi Nemoto
23861723b4a3SAtsushi Nemotoconfig SYS_SUPPORTS_250HZ
23871723b4a3SAtsushi Nemoto	bool
23881723b4a3SAtsushi Nemoto
23891723b4a3SAtsushi Nemotoconfig SYS_SUPPORTS_256HZ
23901723b4a3SAtsushi Nemoto	bool
23911723b4a3SAtsushi Nemoto
23921723b4a3SAtsushi Nemotoconfig SYS_SUPPORTS_1000HZ
23931723b4a3SAtsushi Nemoto	bool
23941723b4a3SAtsushi Nemoto
23951723b4a3SAtsushi Nemotoconfig SYS_SUPPORTS_1024HZ
23961723b4a3SAtsushi Nemoto	bool
23971723b4a3SAtsushi Nemoto
23981723b4a3SAtsushi Nemotoconfig SYS_SUPPORTS_ARBIT_HZ
23991723b4a3SAtsushi Nemoto	bool
24001723b4a3SAtsushi Nemoto	default y if !SYS_SUPPORTS_48HZ && !SYS_SUPPORTS_100HZ && \
24011723b4a3SAtsushi Nemoto		     !SYS_SUPPORTS_128HZ && !SYS_SUPPORTS_250HZ && \
24021723b4a3SAtsushi Nemoto		     !SYS_SUPPORTS_256HZ && !SYS_SUPPORTS_1000HZ && \
24031723b4a3SAtsushi Nemoto		     !SYS_SUPPORTS_1024HZ
24041723b4a3SAtsushi Nemoto
24051723b4a3SAtsushi Nemotoconfig HZ
24061723b4a3SAtsushi Nemoto	int
24071723b4a3SAtsushi Nemoto	default 48 if HZ_48
24081723b4a3SAtsushi Nemoto	default 100 if HZ_100
24091723b4a3SAtsushi Nemoto	default 128 if HZ_128
24101723b4a3SAtsushi Nemoto	default 250 if HZ_250
24111723b4a3SAtsushi Nemoto	default 256 if HZ_256
24121723b4a3SAtsushi Nemoto	default 1000 if HZ_1000
24131723b4a3SAtsushi Nemoto	default 1024 if HZ_1024
24141723b4a3SAtsushi Nemoto
2415e80de850SRalf Baechlesource "kernel/Kconfig.preempt"
24161da177e4SLinus Torvalds
2417ea6e942bSAtsushi Nemotoconfig KEXEC
24187d60717eSKees Cook	bool "Kexec system call"
2419ea6e942bSAtsushi Nemoto	help
2420ea6e942bSAtsushi Nemoto	  kexec is a system call that implements the ability to shutdown your
2421ea6e942bSAtsushi Nemoto	  current kernel, and to start another kernel.  It is like a reboot
24223dde6ad8SDavid Sterba	  but it is independent of the system firmware.   And like a reboot
2423ea6e942bSAtsushi Nemoto	  you can start any kernel with it, not just Linux.
2424ea6e942bSAtsushi Nemoto
242501dd2fbfSMatt LaPlante	  The name comes from the similarity to the exec system call.
2426ea6e942bSAtsushi Nemoto
2427ea6e942bSAtsushi Nemoto	  It is an ongoing process to be certain the hardware in a machine
2428ea6e942bSAtsushi Nemoto	  is properly shutdown, so do not be surprised if this code does not
2429bf220695SGeert Uytterhoeven	  initially work for you.  As of this writing the exact hardware
2430bf220695SGeert Uytterhoeven	  interface is strongly in flux, so no good recommendation can be
2431bf220695SGeert Uytterhoeven	  made.
2432ea6e942bSAtsushi Nemoto
24337aa1c8f4SRalf Baechleconfig CRASH_DUMP
24347aa1c8f4SRalf Baechle	  bool "Kernel crash dumps"
24357aa1c8f4SRalf Baechle	  help
24367aa1c8f4SRalf Baechle	  Generate crash dump after being started by kexec.
24377aa1c8f4SRalf Baechle	  This should be normally only set in special crash dump kernels
24387aa1c8f4SRalf Baechle	  which are loaded in the main kernel with kexec-tools into
24397aa1c8f4SRalf Baechle	  a specially reserved region and then later executed after
24407aa1c8f4SRalf Baechle	  a crash by kdump/kexec. The crash dump kernel must be compiled
24417aa1c8f4SRalf Baechle	  to a memory address not used by the main kernel or firmware using
24427aa1c8f4SRalf Baechle	  PHYSICAL_START.
24437aa1c8f4SRalf Baechle
24447aa1c8f4SRalf Baechleconfig PHYSICAL_START
24457aa1c8f4SRalf Baechle	  hex "Physical address where the kernel is loaded"
24467aa1c8f4SRalf Baechle	  default "0xffffffff84000000" if 64BIT
24477aa1c8f4SRalf Baechle	  default "0x84000000" if 32BIT
24487aa1c8f4SRalf Baechle	  depends on CRASH_DUMP
24497aa1c8f4SRalf Baechle	  help
24507aa1c8f4SRalf Baechle	  This gives the CKSEG0 or KSEG0 address where the kernel is loaded.
24517aa1c8f4SRalf Baechle	  If you plan to use kernel for capturing the crash dump change
24527aa1c8f4SRalf Baechle	  this value to start of the reserved region (the "X" value as
24537aa1c8f4SRalf Baechle	  specified in the "crashkernel=YM@XM" command line boot parameter
24547aa1c8f4SRalf Baechle	  passed to the panic-ed kernel).
24557aa1c8f4SRalf Baechle
2456ea6e942bSAtsushi Nemotoconfig SECCOMP
2457ea6e942bSAtsushi Nemoto	bool "Enable seccomp to safely compute untrusted bytecode"
2458293c5bd1SRalf Baechle	depends on PROC_FS
2459ea6e942bSAtsushi Nemoto	default y
2460ea6e942bSAtsushi Nemoto	help
2461ea6e942bSAtsushi Nemoto	  This kernel feature is useful for number crunching applications
2462ea6e942bSAtsushi Nemoto	  that may need to compute untrusted bytecode during their
2463ea6e942bSAtsushi Nemoto	  execution. By using pipes or other transports made available to
2464ea6e942bSAtsushi Nemoto	  the process as file descriptors supporting the read/write
2465ea6e942bSAtsushi Nemoto	  syscalls, it's possible to isolate those applications in
2466ea6e942bSAtsushi Nemoto	  their own address space using seccomp. Once seccomp is
2467ea6e942bSAtsushi Nemoto	  enabled via /proc/<pid>/seccomp, it cannot be disabled
2468ea6e942bSAtsushi Nemoto	  and the task is only allowed to execute a few safe syscalls
2469ea6e942bSAtsushi Nemoto	  defined by each seccomp mode.
2470ea6e942bSAtsushi Nemoto
2471ea6e942bSAtsushi Nemoto	  If unsure, say Y. Only embedded should say N here.
2472ea6e942bSAtsushi Nemoto
2473597ce172SPaul Burtonconfig MIPS_O32_FP64_SUPPORT
247406e2e882SPaul Burton	bool "Support for O32 binaries using 64-bit FP (EXPERIMENTAL)"
2475597ce172SPaul Burton	depends on 32BIT || MIPS32_O32
2476597ce172SPaul Burton	help
2477597ce172SPaul Burton	  When this is enabled, the kernel will support use of 64-bit floating
2478597ce172SPaul Burton	  point registers with binaries using the O32 ABI along with the
2479597ce172SPaul Burton	  EF_MIPS_FP64 ELF header flag (typically built with -mfp64). On
2480597ce172SPaul Burton	  32-bit MIPS systems this support is at the cost of increasing the
2481597ce172SPaul Burton	  size and complexity of the compiled FPU emulator. Thus if you are
2482597ce172SPaul Burton	  running a MIPS32 system and know that none of your userland binaries
2483597ce172SPaul Burton	  will require 64-bit floating point, you may wish to reduce the size
2484597ce172SPaul Burton	  of your kernel & potentially improve FP emulation performance by
2485597ce172SPaul Burton	  saying N here.
2486597ce172SPaul Burton
248706e2e882SPaul Burton	  Although binutils currently supports use of this flag the details
248806e2e882SPaul Burton	  concerning its effect upon the O32 ABI in userland are still being
248906e2e882SPaul Burton	  worked on. In order to avoid userland becoming dependant upon current
249006e2e882SPaul Burton	  behaviour before the details have been finalised, this option should
249106e2e882SPaul Burton	  be considered experimental and only enabled by those working upon
249206e2e882SPaul Burton	  said details.
249306e2e882SPaul Burton
249406e2e882SPaul Burton	  If unsure, say N.
2495597ce172SPaul Burton
2496f2ffa5abSDezhong Diaoconfig USE_OF
24970b3e06fdSJonas Gorski	bool
2498f2ffa5abSDezhong Diao	select OF
2499e6ce1324SStephen Neuendorffer	select OF_EARLY_FLATTREE
2500abd2363fSGrant Likely	select IRQ_DOMAIN
2501f2ffa5abSDezhong Diao
25027fafb068SAndrew Brestickerconfig BUILTIN_DTB
25037fafb068SAndrew Bresticker	bool
25047fafb068SAndrew Bresticker
25055e83d430SRalf Baechleendmenu
25065e83d430SRalf Baechle
25071df0f0ffSAtsushi Nemotoconfig LOCKDEP_SUPPORT
25081df0f0ffSAtsushi Nemoto	bool
25091df0f0ffSAtsushi Nemoto	default y
25101df0f0ffSAtsushi Nemoto
25111df0f0ffSAtsushi Nemotoconfig STACKTRACE_SUPPORT
25121df0f0ffSAtsushi Nemoto	bool
25131df0f0ffSAtsushi Nemoto	default y
25141df0f0ffSAtsushi Nemoto
2515b6c3539bSRalf Baechlesource "init/Kconfig"
2516b6c3539bSRalf Baechle
2517dc52ddc0SMatt Helsleysource "kernel/Kconfig.freezer"
2518dc52ddc0SMatt Helsley
25191da177e4SLinus Torvaldsmenu "Bus options (PCI, PCMCIA, EISA, ISA, TC)"
25201da177e4SLinus Torvalds
25215e83d430SRalf Baechleconfig HW_HAS_EISA
25225e83d430SRalf Baechle	bool
25231da177e4SLinus Torvaldsconfig HW_HAS_PCI
25241da177e4SLinus Torvalds	bool
25251da177e4SLinus Torvalds
25261da177e4SLinus Torvaldsconfig PCI
25271da177e4SLinus Torvalds	bool "Support for PCI controller"
25281da177e4SLinus Torvalds	depends on HW_HAS_PCI
2529abb4ae46SRalf Baechle	select PCI_DOMAINS
25300f3b3956SMichael S. Tsirkin	select NO_GENERIC_PCI_IOPORT_MAP
25311da177e4SLinus Torvalds	help
25321da177e4SLinus Torvalds	  Find out whether you have a PCI motherboard. PCI is the name of a
25331da177e4SLinus Torvalds	  bus system, i.e. the way the CPU talks to the other stuff inside
25341da177e4SLinus Torvalds	  your box. Other bus systems are ISA, EISA, or VESA. If you have PCI,
25351da177e4SLinus Torvalds	  say Y, otherwise N.
25361da177e4SLinus Torvalds
25370e476d91SHuacai Chenconfig HT_PCI
25380e476d91SHuacai Chen	bool "Support for HT-linked PCI"
25390e476d91SHuacai Chen	default y
25400e476d91SHuacai Chen	depends on CPU_LOONGSON3
25410e476d91SHuacai Chen	select PCI
25420e476d91SHuacai Chen	select PCI_DOMAINS
25430e476d91SHuacai Chen	help
25440e476d91SHuacai Chen	  Loongson family machines use Hyper-Transport bus for inter-core
25450e476d91SHuacai Chen	  connection and device connection. The PCI bus is a subordinate
25460e476d91SHuacai Chen	  linked at HT. Choose Y for Loongson-3 based machines.
25470e476d91SHuacai Chen
25481da177e4SLinus Torvaldsconfig PCI_DOMAINS
25491da177e4SLinus Torvalds	bool
25501da177e4SLinus Torvalds
25511da177e4SLinus Torvaldssource "drivers/pci/Kconfig"
25521da177e4SLinus Torvalds
25533f787ca4SJonas Gorskisource "drivers/pci/pcie/Kconfig"
25543f787ca4SJonas Gorski
25551da177e4SLinus Torvalds#
25561da177e4SLinus Torvalds# ISA support is now enabled via select.  Too many systems still have the one
25571da177e4SLinus Torvalds# or other ISA chip on the board that users don't know about so don't expect
25581da177e4SLinus Torvalds# users to choose the right thing ...
25591da177e4SLinus Torvalds#
25601da177e4SLinus Torvaldsconfig ISA
25611da177e4SLinus Torvalds	bool
25621da177e4SLinus Torvalds
25631da177e4SLinus Torvaldsconfig EISA
25641da177e4SLinus Torvalds	bool "EISA support"
25655e83d430SRalf Baechle	depends on HW_HAS_EISA
25661da177e4SLinus Torvalds	select ISA
2567aa414dffSRalf Baechle	select GENERIC_ISA_DMA
25681da177e4SLinus Torvalds	---help---
25691da177e4SLinus Torvalds	  The Extended Industry Standard Architecture (EISA) bus was
25701da177e4SLinus Torvalds	  developed as an open alternative to the IBM MicroChannel bus.
25711da177e4SLinus Torvalds
25721da177e4SLinus Torvalds	  The EISA bus provided some of the features of the IBM MicroChannel
25731da177e4SLinus Torvalds	  bus while maintaining backward compatibility with cards made for
25741da177e4SLinus Torvalds	  the older ISA bus.  The EISA bus saw limited use between 1988 and
25751da177e4SLinus Torvalds	  1995 when it was made obsolete by the PCI bus.
25761da177e4SLinus Torvalds
25771da177e4SLinus Torvalds	  Say Y here if you are building a kernel for an EISA-based machine.
25781da177e4SLinus Torvalds
25791da177e4SLinus Torvalds	  Otherwise, say N.
25801da177e4SLinus Torvalds
25811da177e4SLinus Torvaldssource "drivers/eisa/Kconfig"
25821da177e4SLinus Torvalds
25831da177e4SLinus Torvaldsconfig TC
25841da177e4SLinus Torvalds	bool "TURBOchannel support"
25851da177e4SLinus Torvalds	depends on MACH_DECSTATION
25861da177e4SLinus Torvalds	help
258750a23e6eSJustin P. Mattock	  TURBOchannel is a DEC (now Compaq (now HP)) bus for Alpha and MIPS
258850a23e6eSJustin P. Mattock	  processors.  TURBOchannel programming specifications are available
258950a23e6eSJustin P. Mattock	  at:
259050a23e6eSJustin P. Mattock	  <ftp://ftp.hp.com/pub/alphaserver/archive/triadd/>
259150a23e6eSJustin P. Mattock	  and:
259250a23e6eSJustin P. Mattock	  <http://www.computer-refuge.org/classiccmp/ftp.digital.com/pub/DEC/TriAdd/>
259350a23e6eSJustin P. Mattock	  Linux driver support status is documented at:
259450a23e6eSJustin P. Mattock	  <http://www.linux-mips.org/wiki/DECstation>
25951da177e4SLinus Torvalds
25961da177e4SLinus Torvaldsconfig MMU
25971da177e4SLinus Torvalds	bool
25981da177e4SLinus Torvalds	default y
25991da177e4SLinus Torvalds
2600d865bea4SRalf Baechleconfig I8253
2601d865bea4SRalf Baechle	bool
2602798778b8SRussell King	select CLKSRC_I8253
26032d02612fSThomas Gleixner	select CLKEVT_I8253
26049726b43aSWu Zhangjin	select MIPS_EXTERNAL_TIMER
2605d865bea4SRalf Baechle
2606e05eb3f8SRalf Baechleconfig ZONE_DMA
2607e05eb3f8SRalf Baechle	bool
2608e05eb3f8SRalf Baechle
2609cce335aeSRalf Baechleconfig ZONE_DMA32
2610cce335aeSRalf Baechle	bool
2611cce335aeSRalf Baechle
26121da177e4SLinus Torvaldssource "drivers/pcmcia/Kconfig"
26131da177e4SLinus Torvalds
26141da177e4SLinus Torvaldssource "drivers/pci/hotplug/Kconfig"
26151da177e4SLinus Torvalds
2616388b78adSAlexandre Bounineconfig RAPIDIO
261756abde72SAlexandre Bounine	tristate "RapidIO support"
2618388b78adSAlexandre Bounine	depends on PCI
2619388b78adSAlexandre Bounine	default n
2620388b78adSAlexandre Bounine	help
2621388b78adSAlexandre Bounine	  If you say Y here, the kernel will include drivers and
2622388b78adSAlexandre Bounine	  infrastructure code to support RapidIO interconnect devices.
2623388b78adSAlexandre Bounine
2624388b78adSAlexandre Bouninesource "drivers/rapidio/Kconfig"
2625388b78adSAlexandre Bounine
26261da177e4SLinus Torvaldsendmenu
26271da177e4SLinus Torvalds
26281da177e4SLinus Torvaldsmenu "Executable file formats"
26291da177e4SLinus Torvalds
26301da177e4SLinus Torvaldssource "fs/Kconfig.binfmt"
26311da177e4SLinus Torvalds
26321da177e4SLinus Torvaldsconfig TRAD_SIGNALS
26331da177e4SLinus Torvalds	bool
26341da177e4SLinus Torvalds
26351da177e4SLinus Torvaldsconfig MIPS32_COMPAT
26361da177e4SLinus Torvalds	bool "Kernel support for Linux/MIPS 32-bit binary compatibility"
2637875d43e7SRalf Baechle	depends on 64BIT
26381da177e4SLinus Torvalds	help
26391da177e4SLinus Torvalds	  Select this option if you want Linux/MIPS 32-bit binary
26401da177e4SLinus Torvalds	  compatibility. Since all software available for Linux/MIPS is
26411da177e4SLinus Torvalds	  currently 32-bit you should say Y here.
26421da177e4SLinus Torvalds
26431da177e4SLinus Torvaldsconfig COMPAT
26441da177e4SLinus Torvalds	bool
26451da177e4SLinus Torvalds	depends on MIPS32_COMPAT
264648b25c43SChris Metcalf	select ARCH_WANT_OLD_COMPAT_IPC
26471da177e4SLinus Torvalds	default y
26481da177e4SLinus Torvalds
264905e43966SAtsushi Nemotoconfig SYSVIPC_COMPAT
265005e43966SAtsushi Nemoto	bool
265105e43966SAtsushi Nemoto	depends on COMPAT && SYSVIPC
265205e43966SAtsushi Nemoto	default y
265305e43966SAtsushi Nemoto
26541da177e4SLinus Torvaldsconfig MIPS32_O32
26551da177e4SLinus Torvalds	bool "Kernel support for o32 binaries"
26561da177e4SLinus Torvalds	depends on MIPS32_COMPAT
26571da177e4SLinus Torvalds	help
26581da177e4SLinus Torvalds	  Select this option if you want to run o32 binaries.  These are pure
26591da177e4SLinus Torvalds	  32-bit binaries as used by the 32-bit Linux/MIPS port.  Most of
26601da177e4SLinus Torvalds	  existing binaries are in this format.
26611da177e4SLinus Torvalds
26621da177e4SLinus Torvalds	  If unsure, say Y.
26631da177e4SLinus Torvalds
26641da177e4SLinus Torvaldsconfig MIPS32_N32
26651da177e4SLinus Torvalds	bool "Kernel support for n32 binaries"
26661da177e4SLinus Torvalds	depends on MIPS32_COMPAT
26671da177e4SLinus Torvalds	help
26681da177e4SLinus Torvalds	  Select this option if you want to run n32 binaries.  These are
26691da177e4SLinus Torvalds	  64-bit binaries using 32-bit quantities for addressing and certain
26701da177e4SLinus Torvalds	  data that would normally be 64-bit.  They are used in special
26711da177e4SLinus Torvalds	  cases.
26721da177e4SLinus Torvalds
26731da177e4SLinus Torvalds	  If unsure, say N.
26741da177e4SLinus Torvalds
26751da177e4SLinus Torvaldsconfig BINFMT_ELF32
26761da177e4SLinus Torvalds	bool
26771da177e4SLinus Torvalds	default y if MIPS32_O32 || MIPS32_N32
26781da177e4SLinus Torvalds
26792116245eSRalf Baechleendmenu
26801da177e4SLinus Torvalds
26812116245eSRalf Baechlemenu "Power management options"
2682952fa954SRodolfo Giometti
2683363c55caSWu Zhangjinconfig ARCH_HIBERNATION_POSSIBLE
2684363c55caSWu Zhangjin	def_bool y
26853f5b3e17SRalf Baechle	depends on SYS_SUPPORTS_HOTPLUG_CPU || !SMP
2686363c55caSWu Zhangjin
2687f4cb5700SJohannes Bergconfig ARCH_SUSPEND_POSSIBLE
2688f4cb5700SJohannes Berg	def_bool y
26893f5b3e17SRalf Baechle	depends on SYS_SUPPORTS_HOTPLUG_CPU || !SMP
2690f4cb5700SJohannes Berg
26912116245eSRalf Baechlesource "kernel/power/Kconfig"
2692952fa954SRodolfo Giometti
26931da177e4SLinus Torvaldsendmenu
26941da177e4SLinus Torvalds
26957a998935SViresh Kumarconfig MIPS_EXTERNAL_TIMER
26967a998935SViresh Kumar	bool
26977a998935SViresh Kumar
26987a998935SViresh Kumarmenu "CPU Power Management"
2699c095ebafSPaul Burton
2700c095ebafSPaul Burtonif CPU_SUPPORTS_CPUFREQ && MIPS_EXTERNAL_TIMER
27017a998935SViresh Kumarsource "drivers/cpufreq/Kconfig"
27027a998935SViresh Kumarendif
27039726b43aSWu Zhangjin
2704c095ebafSPaul Burtonsource "drivers/cpuidle/Kconfig"
2705c095ebafSPaul Burton
2706c095ebafSPaul Burtonendmenu
2707c095ebafSPaul Burton
2708d5950b43SSam Ravnborgsource "net/Kconfig"
2709d5950b43SSam Ravnborg
27101da177e4SLinus Torvaldssource "drivers/Kconfig"
27111da177e4SLinus Torvalds
271298cdee0eSRalf Baechlesource "drivers/firmware/Kconfig"
271398cdee0eSRalf Baechle
27141da177e4SLinus Torvaldssource "fs/Kconfig"
27151da177e4SLinus Torvalds
27161da177e4SLinus Torvaldssource "arch/mips/Kconfig.debug"
27171da177e4SLinus Torvalds
27181da177e4SLinus Torvaldssource "security/Kconfig"
27191da177e4SLinus Torvalds
27201da177e4SLinus Torvaldssource "crypto/Kconfig"
27211da177e4SLinus Torvalds
27221da177e4SLinus Torvaldssource "lib/Kconfig"
27232235a54dSSanjay Lal
27242235a54dSSanjay Lalsource "arch/mips/kvm/Kconfig"
2725