1*4882a593Smuzhiyun# SPDX-License-Identifier: GPL-2.0 2*4882a593Smuzhiyunconfig MIPS 3*4882a593Smuzhiyun bool 4*4882a593Smuzhiyun default y 5*4882a593Smuzhiyun select ARCH_32BIT_OFF_T if !64BIT 6*4882a593Smuzhiyun select ARCH_BINFMT_ELF_STATE if MIPS_FP_SUPPORT 7*4882a593Smuzhiyun select ARCH_HAS_FORTIFY_SOURCE 8*4882a593Smuzhiyun select ARCH_HAS_KCOV 9*4882a593Smuzhiyun select ARCH_HAS_NON_OVERLAPPING_ADDRESS_SPACE if !EVA 10*4882a593Smuzhiyun select ARCH_HAS_PTE_SPECIAL if !(32BIT && CPU_HAS_RIXI) 11*4882a593Smuzhiyun select ARCH_HAS_TICK_BROADCAST if GENERIC_CLOCKEVENTS_BROADCAST 12*4882a593Smuzhiyun select ARCH_HAS_UBSAN_SANITIZE_ALL 13*4882a593Smuzhiyun select ARCH_SUPPORTS_UPROBES 14*4882a593Smuzhiyun select ARCH_USE_BUILTIN_BSWAP 15*4882a593Smuzhiyun select ARCH_USE_CMPXCHG_LOCKREF if 64BIT 16*4882a593Smuzhiyun select ARCH_USE_QUEUED_RWLOCKS 17*4882a593Smuzhiyun select ARCH_USE_QUEUED_SPINLOCKS 18*4882a593Smuzhiyun select ARCH_WANT_DEFAULT_TOPDOWN_MMAP_LAYOUT if MMU 19*4882a593Smuzhiyun select ARCH_WANT_IPC_PARSE_VERSION 20*4882a593Smuzhiyun select BUILDTIME_TABLE_SORT 21*4882a593Smuzhiyun select CLONE_BACKWARDS 22*4882a593Smuzhiyun select CPU_NO_EFFICIENT_FFS if (TARGET_ISA_REV < 1) 23*4882a593Smuzhiyun select CPU_PM if CPU_IDLE 24*4882a593Smuzhiyun select GENERIC_ATOMIC64 if !64BIT 25*4882a593Smuzhiyun select GENERIC_CLOCKEVENTS 26*4882a593Smuzhiyun select GENERIC_CMOS_UPDATE 27*4882a593Smuzhiyun select GENERIC_CPU_AUTOPROBE 28*4882a593Smuzhiyun select GENERIC_GETTIMEOFDAY 29*4882a593Smuzhiyun select GENERIC_IOMAP 30*4882a593Smuzhiyun select GENERIC_IRQ_PROBE 31*4882a593Smuzhiyun select GENERIC_IRQ_SHOW 32*4882a593Smuzhiyun select GENERIC_ISA_DMA if EISA 33*4882a593Smuzhiyun select GENERIC_LIB_ASHLDI3 34*4882a593Smuzhiyun select GENERIC_LIB_ASHRDI3 35*4882a593Smuzhiyun select GENERIC_LIB_CMPDI2 36*4882a593Smuzhiyun select GENERIC_LIB_LSHRDI3 37*4882a593Smuzhiyun select GENERIC_LIB_UCMPDI2 38*4882a593Smuzhiyun select GENERIC_SCHED_CLOCK if !CAVIUM_OCTEON_SOC 39*4882a593Smuzhiyun select GENERIC_SMP_IDLE_THREAD 40*4882a593Smuzhiyun select GENERIC_TIME_VSYSCALL 41*4882a593Smuzhiyun select GUP_GET_PTE_LOW_HIGH if CPU_MIPS32 && PHYS_ADDR_T_64BIT 42*4882a593Smuzhiyun select HANDLE_DOMAIN_IRQ 43*4882a593Smuzhiyun select HAVE_ARCH_COMPILER_H 44*4882a593Smuzhiyun select HAVE_ARCH_JUMP_LABEL 45*4882a593Smuzhiyun select HAVE_ARCH_KGDB 46*4882a593Smuzhiyun select HAVE_ARCH_MMAP_RND_BITS if MMU 47*4882a593Smuzhiyun select HAVE_ARCH_MMAP_RND_COMPAT_BITS if MMU && COMPAT 48*4882a593Smuzhiyun select HAVE_ARCH_SECCOMP_FILTER 49*4882a593Smuzhiyun select HAVE_ARCH_TRACEHOOK 50*4882a593Smuzhiyun select HAVE_ARCH_TRANSPARENT_HUGEPAGE if CPU_SUPPORTS_HUGEPAGES 51*4882a593Smuzhiyun select HAVE_ASM_MODVERSIONS 52*4882a593Smuzhiyun select HAVE_CBPF_JIT if !64BIT && !CPU_MICROMIPS 53*4882a593Smuzhiyun select HAVE_CONTEXT_TRACKING 54*4882a593Smuzhiyun select HAVE_TIF_NOHZ 55*4882a593Smuzhiyun select HAVE_C_RECORDMCOUNT 56*4882a593Smuzhiyun select HAVE_DEBUG_KMEMLEAK 57*4882a593Smuzhiyun select HAVE_DEBUG_STACKOVERFLOW 58*4882a593Smuzhiyun select HAVE_DMA_CONTIGUOUS 59*4882a593Smuzhiyun select HAVE_DYNAMIC_FTRACE 60*4882a593Smuzhiyun select HAVE_EBPF_JIT if 64BIT && !CPU_MICROMIPS && TARGET_ISA_REV >= 2 61*4882a593Smuzhiyun select HAVE_EXIT_THREAD 62*4882a593Smuzhiyun select HAVE_FAST_GUP 63*4882a593Smuzhiyun select HAVE_FTRACE_MCOUNT_RECORD 64*4882a593Smuzhiyun select HAVE_FUNCTION_GRAPH_TRACER 65*4882a593Smuzhiyun select HAVE_FUNCTION_TRACER 66*4882a593Smuzhiyun select HAVE_GCC_PLUGINS 67*4882a593Smuzhiyun select HAVE_GENERIC_VDSO 68*4882a593Smuzhiyun select HAVE_IDE 69*4882a593Smuzhiyun select HAVE_IOREMAP_PROT 70*4882a593Smuzhiyun select HAVE_IRQ_EXIT_ON_IRQ_STACK 71*4882a593Smuzhiyun select HAVE_IRQ_TIME_ACCOUNTING 72*4882a593Smuzhiyun select HAVE_KPROBES 73*4882a593Smuzhiyun select HAVE_KRETPROBES 74*4882a593Smuzhiyun select HAVE_LD_DEAD_CODE_DATA_ELIMINATION 75*4882a593Smuzhiyun select HAVE_MOD_ARCH_SPECIFIC 76*4882a593Smuzhiyun select HAVE_NMI 77*4882a593Smuzhiyun select HAVE_OPROFILE 78*4882a593Smuzhiyun select HAVE_PERF_EVENTS 79*4882a593Smuzhiyun select HAVE_REGS_AND_STACK_ACCESS_API 80*4882a593Smuzhiyun select HAVE_RSEQ 81*4882a593Smuzhiyun select HAVE_SPARSE_SYSCALL_NR 82*4882a593Smuzhiyun select HAVE_STACKPROTECTOR 83*4882a593Smuzhiyun select HAVE_SYSCALL_TRACEPOINTS 84*4882a593Smuzhiyun select HAVE_VIRT_CPU_ACCOUNTING_GEN if 64BIT || !SMP 85*4882a593Smuzhiyun select IRQ_FORCED_THREADING 86*4882a593Smuzhiyun select ISA if EISA 87*4882a593Smuzhiyun select MODULES_USE_ELF_REL if MODULES 88*4882a593Smuzhiyun select MODULES_USE_ELF_RELA if MODULES && 64BIT 89*4882a593Smuzhiyun select PERF_USE_VMALLOC 90*4882a593Smuzhiyun select PCI_MSI_ARCH_FALLBACKS if PCI_MSI 91*4882a593Smuzhiyun select RTC_LIB 92*4882a593Smuzhiyun select SET_FS 93*4882a593Smuzhiyun select SYSCTL_EXCEPTION_TRACE 94*4882a593Smuzhiyun select VIRT_TO_BUS 95*4882a593Smuzhiyun 96*4882a593Smuzhiyunconfig MIPS_FIXUP_BIGPHYS_ADDR 97*4882a593Smuzhiyun bool 98*4882a593Smuzhiyun 99*4882a593Smuzhiyunconfig MIPS_GENERIC 100*4882a593Smuzhiyun bool 101*4882a593Smuzhiyun 102*4882a593Smuzhiyunconfig MACH_INGENIC 103*4882a593Smuzhiyun bool 104*4882a593Smuzhiyun select SYS_SUPPORTS_32BIT_KERNEL 105*4882a593Smuzhiyun select SYS_SUPPORTS_LITTLE_ENDIAN 106*4882a593Smuzhiyun select SYS_SUPPORTS_ZBOOT 107*4882a593Smuzhiyun select DMA_NONCOHERENT 108*4882a593Smuzhiyun select IRQ_MIPS_CPU 109*4882a593Smuzhiyun select PINCTRL 110*4882a593Smuzhiyun select GPIOLIB 111*4882a593Smuzhiyun select COMMON_CLK 112*4882a593Smuzhiyun select GENERIC_IRQ_CHIP 113*4882a593Smuzhiyun select BUILTIN_DTB if MIPS_NO_APPENDED_DTB 114*4882a593Smuzhiyun select USE_OF 115*4882a593Smuzhiyun select CPU_SUPPORTS_CPUFREQ 116*4882a593Smuzhiyun select MIPS_EXTERNAL_TIMER 117*4882a593Smuzhiyun 118*4882a593Smuzhiyunmenu "Machine selection" 119*4882a593Smuzhiyun 120*4882a593Smuzhiyunchoice 121*4882a593Smuzhiyun prompt "System type" 122*4882a593Smuzhiyun default MIPS_GENERIC_KERNEL 123*4882a593Smuzhiyun 124*4882a593Smuzhiyunconfig MIPS_GENERIC_KERNEL 125*4882a593Smuzhiyun bool "Generic board-agnostic MIPS kernel" 126*4882a593Smuzhiyun select MIPS_GENERIC 127*4882a593Smuzhiyun select BOOT_RAW 128*4882a593Smuzhiyun select BUILTIN_DTB 129*4882a593Smuzhiyun select CEVT_R4K 130*4882a593Smuzhiyun select CLKSRC_MIPS_GIC 131*4882a593Smuzhiyun select COMMON_CLK 132*4882a593Smuzhiyun select CPU_MIPSR2_IRQ_EI 133*4882a593Smuzhiyun select CPU_MIPSR2_IRQ_VI 134*4882a593Smuzhiyun select CSRC_R4K 135*4882a593Smuzhiyun select DMA_PERDEV_COHERENT 136*4882a593Smuzhiyun select HAVE_PCI 137*4882a593Smuzhiyun select IRQ_MIPS_CPU 138*4882a593Smuzhiyun select MIPS_AUTO_PFN_OFFSET 139*4882a593Smuzhiyun select MIPS_CPU_SCACHE 140*4882a593Smuzhiyun select MIPS_GIC 141*4882a593Smuzhiyun select MIPS_L1_CACHE_SHIFT_7 142*4882a593Smuzhiyun select NO_EXCEPT_FILL 143*4882a593Smuzhiyun select PCI_DRIVERS_GENERIC 144*4882a593Smuzhiyun select SMP_UP if SMP 145*4882a593Smuzhiyun select SWAP_IO_SPACE 146*4882a593Smuzhiyun select SYS_HAS_CPU_MIPS32_R1 147*4882a593Smuzhiyun select SYS_HAS_CPU_MIPS32_R2 148*4882a593Smuzhiyun select SYS_HAS_CPU_MIPS32_R6 149*4882a593Smuzhiyun select SYS_HAS_CPU_MIPS64_R1 150*4882a593Smuzhiyun select SYS_HAS_CPU_MIPS64_R2 151*4882a593Smuzhiyun select SYS_HAS_CPU_MIPS64_R6 152*4882a593Smuzhiyun select SYS_SUPPORTS_32BIT_KERNEL 153*4882a593Smuzhiyun select SYS_SUPPORTS_64BIT_KERNEL 154*4882a593Smuzhiyun select SYS_SUPPORTS_BIG_ENDIAN 155*4882a593Smuzhiyun select SYS_SUPPORTS_HIGHMEM 156*4882a593Smuzhiyun select SYS_SUPPORTS_LITTLE_ENDIAN 157*4882a593Smuzhiyun select SYS_SUPPORTS_MICROMIPS 158*4882a593Smuzhiyun select SYS_SUPPORTS_MIPS16 159*4882a593Smuzhiyun select SYS_SUPPORTS_MIPS_CPS 160*4882a593Smuzhiyun select SYS_SUPPORTS_MULTITHREADING 161*4882a593Smuzhiyun select SYS_SUPPORTS_RELOCATABLE 162*4882a593Smuzhiyun select SYS_SUPPORTS_SMARTMIPS 163*4882a593Smuzhiyun select SYS_SUPPORTS_ZBOOT 164*4882a593Smuzhiyun select UHI_BOOT 165*4882a593Smuzhiyun select USB_EHCI_BIG_ENDIAN_DESC if CPU_BIG_ENDIAN 166*4882a593Smuzhiyun select USB_EHCI_BIG_ENDIAN_MMIO if CPU_BIG_ENDIAN 167*4882a593Smuzhiyun select USB_OHCI_BIG_ENDIAN_DESC if CPU_BIG_ENDIAN 168*4882a593Smuzhiyun select USB_OHCI_BIG_ENDIAN_MMIO if CPU_BIG_ENDIAN 169*4882a593Smuzhiyun select USB_UHCI_BIG_ENDIAN_DESC if CPU_BIG_ENDIAN 170*4882a593Smuzhiyun select USB_UHCI_BIG_ENDIAN_MMIO if CPU_BIG_ENDIAN 171*4882a593Smuzhiyun select USE_OF 172*4882a593Smuzhiyun help 173*4882a593Smuzhiyun Select this to build a kernel which aims to support multiple boards, 174*4882a593Smuzhiyun generally using a flattened device tree passed from the bootloader 175*4882a593Smuzhiyun using the boot protocol defined in the UHI (Unified Hosting 176*4882a593Smuzhiyun Interface) specification. 177*4882a593Smuzhiyun 178*4882a593Smuzhiyunconfig MIPS_ALCHEMY 179*4882a593Smuzhiyun bool "Alchemy processor based machines" 180*4882a593Smuzhiyun select PHYS_ADDR_T_64BIT 181*4882a593Smuzhiyun select CEVT_R4K 182*4882a593Smuzhiyun select CSRC_R4K 183*4882a593Smuzhiyun select IRQ_MIPS_CPU 184*4882a593Smuzhiyun select DMA_MAYBE_COHERENT # Au1000,1500,1100 aren't, rest is 185*4882a593Smuzhiyun select MIPS_FIXUP_BIGPHYS_ADDR if PCI 186*4882a593Smuzhiyun select SYS_HAS_CPU_MIPS32_R1 187*4882a593Smuzhiyun select SYS_SUPPORTS_32BIT_KERNEL 188*4882a593Smuzhiyun select SYS_SUPPORTS_APM_EMULATION 189*4882a593Smuzhiyun select GPIOLIB 190*4882a593Smuzhiyun select SYS_SUPPORTS_ZBOOT 191*4882a593Smuzhiyun select COMMON_CLK 192*4882a593Smuzhiyun 193*4882a593Smuzhiyunconfig AR7 194*4882a593Smuzhiyun bool "Texas Instruments AR7" 195*4882a593Smuzhiyun select BOOT_ELF32 196*4882a593Smuzhiyun select DMA_NONCOHERENT 197*4882a593Smuzhiyun select CEVT_R4K 198*4882a593Smuzhiyun select CSRC_R4K 199*4882a593Smuzhiyun select IRQ_MIPS_CPU 200*4882a593Smuzhiyun select NO_EXCEPT_FILL 201*4882a593Smuzhiyun select SWAP_IO_SPACE 202*4882a593Smuzhiyun select SYS_HAS_CPU_MIPS32_R1 203*4882a593Smuzhiyun select SYS_HAS_EARLY_PRINTK 204*4882a593Smuzhiyun select SYS_SUPPORTS_32BIT_KERNEL 205*4882a593Smuzhiyun select SYS_SUPPORTS_LITTLE_ENDIAN 206*4882a593Smuzhiyun select SYS_SUPPORTS_MIPS16 207*4882a593Smuzhiyun select SYS_SUPPORTS_ZBOOT_UART16550 208*4882a593Smuzhiyun select GPIOLIB 209*4882a593Smuzhiyun select VLYNQ 210*4882a593Smuzhiyun select HAVE_LEGACY_CLK 211*4882a593Smuzhiyun help 212*4882a593Smuzhiyun Support for the Texas Instruments AR7 System-on-a-Chip 213*4882a593Smuzhiyun family: TNETD7100, 7200 and 7300. 214*4882a593Smuzhiyun 215*4882a593Smuzhiyunconfig ATH25 216*4882a593Smuzhiyun bool "Atheros AR231x/AR531x SoC support" 217*4882a593Smuzhiyun select CEVT_R4K 218*4882a593Smuzhiyun select CSRC_R4K 219*4882a593Smuzhiyun select DMA_NONCOHERENT 220*4882a593Smuzhiyun select IRQ_MIPS_CPU 221*4882a593Smuzhiyun select IRQ_DOMAIN 222*4882a593Smuzhiyun select SYS_HAS_CPU_MIPS32_R1 223*4882a593Smuzhiyun select SYS_SUPPORTS_BIG_ENDIAN 224*4882a593Smuzhiyun select SYS_SUPPORTS_32BIT_KERNEL 225*4882a593Smuzhiyun select SYS_HAS_EARLY_PRINTK 226*4882a593Smuzhiyun help 227*4882a593Smuzhiyun Support for Atheros AR231x and Atheros AR531x based boards 228*4882a593Smuzhiyun 229*4882a593Smuzhiyunconfig ATH79 230*4882a593Smuzhiyun bool "Atheros AR71XX/AR724X/AR913X based boards" 231*4882a593Smuzhiyun select ARCH_HAS_RESET_CONTROLLER 232*4882a593Smuzhiyun select BOOT_RAW 233*4882a593Smuzhiyun select CEVT_R4K 234*4882a593Smuzhiyun select CSRC_R4K 235*4882a593Smuzhiyun select DMA_NONCOHERENT 236*4882a593Smuzhiyun select GPIOLIB 237*4882a593Smuzhiyun select PINCTRL 238*4882a593Smuzhiyun select COMMON_CLK 239*4882a593Smuzhiyun select IRQ_MIPS_CPU 240*4882a593Smuzhiyun select SYS_HAS_CPU_MIPS32_R2 241*4882a593Smuzhiyun select SYS_HAS_EARLY_PRINTK 242*4882a593Smuzhiyun select SYS_SUPPORTS_32BIT_KERNEL 243*4882a593Smuzhiyun select SYS_SUPPORTS_BIG_ENDIAN 244*4882a593Smuzhiyun select SYS_SUPPORTS_MIPS16 245*4882a593Smuzhiyun select SYS_SUPPORTS_ZBOOT_UART_PROM 246*4882a593Smuzhiyun select USE_OF 247*4882a593Smuzhiyun select USB_EHCI_ROOT_HUB_TT if USB_EHCI_HCD_PLATFORM 248*4882a593Smuzhiyun help 249*4882a593Smuzhiyun Support for the Atheros AR71XX/AR724X/AR913X SoCs. 250*4882a593Smuzhiyun 251*4882a593Smuzhiyunconfig BMIPS_GENERIC 252*4882a593Smuzhiyun bool "Broadcom Generic BMIPS kernel" 253*4882a593Smuzhiyun select ARCH_HAS_SYNC_DMA_FOR_CPU_ALL 254*4882a593Smuzhiyun select ARCH_HAS_PHYS_TO_DMA 255*4882a593Smuzhiyun select BOOT_RAW 256*4882a593Smuzhiyun select NO_EXCEPT_FILL 257*4882a593Smuzhiyun select USE_OF 258*4882a593Smuzhiyun select CEVT_R4K 259*4882a593Smuzhiyun select CSRC_R4K 260*4882a593Smuzhiyun select SYNC_R4K 261*4882a593Smuzhiyun select COMMON_CLK 262*4882a593Smuzhiyun select BCM6345_L1_IRQ 263*4882a593Smuzhiyun select BCM7038_L1_IRQ 264*4882a593Smuzhiyun select BCM7120_L2_IRQ 265*4882a593Smuzhiyun select BRCMSTB_L2_IRQ 266*4882a593Smuzhiyun select IRQ_MIPS_CPU 267*4882a593Smuzhiyun select DMA_NONCOHERENT 268*4882a593Smuzhiyun select SYS_SUPPORTS_32BIT_KERNEL 269*4882a593Smuzhiyun select SYS_SUPPORTS_LITTLE_ENDIAN 270*4882a593Smuzhiyun select SYS_SUPPORTS_BIG_ENDIAN 271*4882a593Smuzhiyun select SYS_SUPPORTS_HIGHMEM 272*4882a593Smuzhiyun select SYS_HAS_CPU_BMIPS32_3300 273*4882a593Smuzhiyun select SYS_HAS_CPU_BMIPS4350 274*4882a593Smuzhiyun select SYS_HAS_CPU_BMIPS4380 275*4882a593Smuzhiyun select SYS_HAS_CPU_BMIPS5000 276*4882a593Smuzhiyun select SWAP_IO_SPACE 277*4882a593Smuzhiyun select USB_EHCI_BIG_ENDIAN_DESC if CPU_BIG_ENDIAN 278*4882a593Smuzhiyun select USB_EHCI_BIG_ENDIAN_MMIO if CPU_BIG_ENDIAN 279*4882a593Smuzhiyun select USB_OHCI_BIG_ENDIAN_DESC if CPU_BIG_ENDIAN 280*4882a593Smuzhiyun select USB_OHCI_BIG_ENDIAN_MMIO if CPU_BIG_ENDIAN 281*4882a593Smuzhiyun select HARDIRQS_SW_RESEND 282*4882a593Smuzhiyun help 283*4882a593Smuzhiyun Build a generic DT-based kernel image that boots on select 284*4882a593Smuzhiyun BCM33xx cable modem chips, BCM63xx DSL chips, and BCM7xxx set-top 285*4882a593Smuzhiyun box chips. Note that CONFIG_CPU_BIG_ENDIAN/CONFIG_CPU_LITTLE_ENDIAN 286*4882a593Smuzhiyun must be set appropriately for your board. 287*4882a593Smuzhiyun 288*4882a593Smuzhiyunconfig BCM47XX 289*4882a593Smuzhiyun bool "Broadcom BCM47XX based boards" 290*4882a593Smuzhiyun select BOOT_RAW 291*4882a593Smuzhiyun select CEVT_R4K 292*4882a593Smuzhiyun select CSRC_R4K 293*4882a593Smuzhiyun select DMA_NONCOHERENT 294*4882a593Smuzhiyun select HAVE_PCI 295*4882a593Smuzhiyun select IRQ_MIPS_CPU 296*4882a593Smuzhiyun select SYS_HAS_CPU_MIPS32_R1 297*4882a593Smuzhiyun select NO_EXCEPT_FILL 298*4882a593Smuzhiyun select SYS_SUPPORTS_32BIT_KERNEL 299*4882a593Smuzhiyun select SYS_SUPPORTS_LITTLE_ENDIAN 300*4882a593Smuzhiyun select SYS_SUPPORTS_MIPS16 301*4882a593Smuzhiyun select SYS_SUPPORTS_ZBOOT 302*4882a593Smuzhiyun select SYS_HAS_EARLY_PRINTK 303*4882a593Smuzhiyun select USE_GENERIC_EARLY_PRINTK_8250 304*4882a593Smuzhiyun select GPIOLIB 305*4882a593Smuzhiyun select LEDS_GPIO_REGISTER 306*4882a593Smuzhiyun select BCM47XX_NVRAM 307*4882a593Smuzhiyun select BCM47XX_SPROM 308*4882a593Smuzhiyun select BCM47XX_SSB if !BCM47XX_BCMA 309*4882a593Smuzhiyun help 310*4882a593Smuzhiyun Support for BCM47XX based boards 311*4882a593Smuzhiyun 312*4882a593Smuzhiyunconfig BCM63XX 313*4882a593Smuzhiyun bool "Broadcom BCM63XX based boards" 314*4882a593Smuzhiyun select BOOT_RAW 315*4882a593Smuzhiyun select CEVT_R4K 316*4882a593Smuzhiyun select CSRC_R4K 317*4882a593Smuzhiyun select SYNC_R4K 318*4882a593Smuzhiyun select DMA_NONCOHERENT 319*4882a593Smuzhiyun select IRQ_MIPS_CPU 320*4882a593Smuzhiyun select SYS_SUPPORTS_32BIT_KERNEL 321*4882a593Smuzhiyun select SYS_SUPPORTS_BIG_ENDIAN 322*4882a593Smuzhiyun select SYS_HAS_EARLY_PRINTK 323*4882a593Smuzhiyun select SYS_HAS_CPU_BMIPS32_3300 324*4882a593Smuzhiyun select SYS_HAS_CPU_BMIPS4350 325*4882a593Smuzhiyun select SYS_HAS_CPU_BMIPS4380 326*4882a593Smuzhiyun select SWAP_IO_SPACE 327*4882a593Smuzhiyun select GPIOLIB 328*4882a593Smuzhiyun select MIPS_L1_CACHE_SHIFT_4 329*4882a593Smuzhiyun select CLKDEV_LOOKUP 330*4882a593Smuzhiyun select HAVE_LEGACY_CLK 331*4882a593Smuzhiyun help 332*4882a593Smuzhiyun Support for BCM63XX based boards 333*4882a593Smuzhiyun 334*4882a593Smuzhiyunconfig MIPS_COBALT 335*4882a593Smuzhiyun bool "Cobalt Server" 336*4882a593Smuzhiyun select CEVT_R4K 337*4882a593Smuzhiyun select CSRC_R4K 338*4882a593Smuzhiyun select CEVT_GT641XX 339*4882a593Smuzhiyun select DMA_NONCOHERENT 340*4882a593Smuzhiyun select FORCE_PCI 341*4882a593Smuzhiyun select I8253 342*4882a593Smuzhiyun select I8259 343*4882a593Smuzhiyun select IRQ_MIPS_CPU 344*4882a593Smuzhiyun select IRQ_GT641XX 345*4882a593Smuzhiyun select PCI_GT64XXX_PCI0 346*4882a593Smuzhiyun select SYS_HAS_CPU_NEVADA 347*4882a593Smuzhiyun select SYS_HAS_EARLY_PRINTK 348*4882a593Smuzhiyun select SYS_SUPPORTS_32BIT_KERNEL 349*4882a593Smuzhiyun select SYS_SUPPORTS_64BIT_KERNEL 350*4882a593Smuzhiyun select SYS_SUPPORTS_LITTLE_ENDIAN 351*4882a593Smuzhiyun select USE_GENERIC_EARLY_PRINTK_8250 352*4882a593Smuzhiyun 353*4882a593Smuzhiyunconfig MACH_DECSTATION 354*4882a593Smuzhiyun bool "DECstations" 355*4882a593Smuzhiyun select BOOT_ELF32 356*4882a593Smuzhiyun select CEVT_DS1287 357*4882a593Smuzhiyun select CEVT_R4K if CPU_R4X00 358*4882a593Smuzhiyun select CSRC_IOASIC 359*4882a593Smuzhiyun select CSRC_R4K if CPU_R4X00 360*4882a593Smuzhiyun select CPU_DADDI_WORKAROUNDS if 64BIT 361*4882a593Smuzhiyun select CPU_R4000_WORKAROUNDS if 64BIT 362*4882a593Smuzhiyun select CPU_R4400_WORKAROUNDS if 64BIT 363*4882a593Smuzhiyun select DMA_NONCOHERENT 364*4882a593Smuzhiyun select NO_IOPORT_MAP 365*4882a593Smuzhiyun select IRQ_MIPS_CPU 366*4882a593Smuzhiyun select SYS_HAS_CPU_R3000 367*4882a593Smuzhiyun select SYS_HAS_CPU_R4X00 368*4882a593Smuzhiyun select SYS_SUPPORTS_32BIT_KERNEL 369*4882a593Smuzhiyun select SYS_SUPPORTS_64BIT_KERNEL 370*4882a593Smuzhiyun select SYS_SUPPORTS_LITTLE_ENDIAN 371*4882a593Smuzhiyun select SYS_SUPPORTS_128HZ 372*4882a593Smuzhiyun select SYS_SUPPORTS_256HZ 373*4882a593Smuzhiyun select SYS_SUPPORTS_1024HZ 374*4882a593Smuzhiyun select MIPS_L1_CACHE_SHIFT_4 375*4882a593Smuzhiyun help 376*4882a593Smuzhiyun This enables support for DEC's MIPS based workstations. For details 377*4882a593Smuzhiyun see the Linux/MIPS FAQ on <http://www.linux-mips.org/> and the 378*4882a593Smuzhiyun DECstation porting pages on <http://decstation.unix-ag.org/>. 379*4882a593Smuzhiyun 380*4882a593Smuzhiyun If you have one of the following DECstation Models you definitely 381*4882a593Smuzhiyun want to choose R4xx0 for the CPU Type: 382*4882a593Smuzhiyun 383*4882a593Smuzhiyun DECstation 5000/50 384*4882a593Smuzhiyun DECstation 5000/150 385*4882a593Smuzhiyun DECstation 5000/260 386*4882a593Smuzhiyun DECsystem 5900/260 387*4882a593Smuzhiyun 388*4882a593Smuzhiyun otherwise choose R3000. 389*4882a593Smuzhiyun 390*4882a593Smuzhiyunconfig MACH_JAZZ 391*4882a593Smuzhiyun bool "Jazz family of machines" 392*4882a593Smuzhiyun select ARC_MEMORY 393*4882a593Smuzhiyun select ARC_PROMLIB 394*4882a593Smuzhiyun select ARCH_MIGHT_HAVE_PC_PARPORT 395*4882a593Smuzhiyun select ARCH_MIGHT_HAVE_PC_SERIO 396*4882a593Smuzhiyun select DMA_OPS 397*4882a593Smuzhiyun select FW_ARC 398*4882a593Smuzhiyun select FW_ARC32 399*4882a593Smuzhiyun select ARCH_MAY_HAVE_PC_FDC 400*4882a593Smuzhiyun select CEVT_R4K 401*4882a593Smuzhiyun select CSRC_R4K 402*4882a593Smuzhiyun select DEFAULT_SGI_PARTITION if CPU_BIG_ENDIAN 403*4882a593Smuzhiyun select GENERIC_ISA_DMA 404*4882a593Smuzhiyun select HAVE_PCSPKR_PLATFORM 405*4882a593Smuzhiyun select IRQ_MIPS_CPU 406*4882a593Smuzhiyun select I8253 407*4882a593Smuzhiyun select I8259 408*4882a593Smuzhiyun select ISA 409*4882a593Smuzhiyun select SYS_HAS_CPU_R4X00 410*4882a593Smuzhiyun select SYS_SUPPORTS_32BIT_KERNEL 411*4882a593Smuzhiyun select SYS_SUPPORTS_64BIT_KERNEL 412*4882a593Smuzhiyun select SYS_SUPPORTS_100HZ 413*4882a593Smuzhiyun help 414*4882a593Smuzhiyun This a family of machines based on the MIPS R4030 chipset which was 415*4882a593Smuzhiyun used by several vendors to build RISC/os and Windows NT workstations. 416*4882a593Smuzhiyun Members include the Acer PICA, MIPS Magnum 4000, MIPS Millennium and 417*4882a593Smuzhiyun Olivetti M700-10 workstations. 418*4882a593Smuzhiyun 419*4882a593Smuzhiyunconfig MACH_INGENIC_SOC 420*4882a593Smuzhiyun bool "Ingenic SoC based machines" 421*4882a593Smuzhiyun select MIPS_GENERIC 422*4882a593Smuzhiyun select MACH_INGENIC 423*4882a593Smuzhiyun select SYS_SUPPORTS_ZBOOT_UART16550 424*4882a593Smuzhiyun select CPU_SUPPORTS_CPUFREQ 425*4882a593Smuzhiyun select MIPS_EXTERNAL_TIMER 426*4882a593Smuzhiyun 427*4882a593Smuzhiyunconfig LANTIQ 428*4882a593Smuzhiyun bool "Lantiq based platforms" 429*4882a593Smuzhiyun select DMA_NONCOHERENT 430*4882a593Smuzhiyun select IRQ_MIPS_CPU 431*4882a593Smuzhiyun select CEVT_R4K 432*4882a593Smuzhiyun select CSRC_R4K 433*4882a593Smuzhiyun select SYS_HAS_CPU_MIPS32_R1 434*4882a593Smuzhiyun select SYS_HAS_CPU_MIPS32_R2 435*4882a593Smuzhiyun select SYS_SUPPORTS_BIG_ENDIAN 436*4882a593Smuzhiyun select SYS_SUPPORTS_32BIT_KERNEL 437*4882a593Smuzhiyun select SYS_SUPPORTS_MIPS16 438*4882a593Smuzhiyun select SYS_SUPPORTS_MULTITHREADING 439*4882a593Smuzhiyun select SYS_SUPPORTS_VPE_LOADER 440*4882a593Smuzhiyun select SYS_HAS_EARLY_PRINTK 441*4882a593Smuzhiyun select GPIOLIB 442*4882a593Smuzhiyun select SWAP_IO_SPACE 443*4882a593Smuzhiyun select BOOT_RAW 444*4882a593Smuzhiyun select CLKDEV_LOOKUP 445*4882a593Smuzhiyun select HAVE_LEGACY_CLK 446*4882a593Smuzhiyun select USE_OF 447*4882a593Smuzhiyun select PINCTRL 448*4882a593Smuzhiyun select PINCTRL_LANTIQ 449*4882a593Smuzhiyun select ARCH_HAS_RESET_CONTROLLER 450*4882a593Smuzhiyun select RESET_CONTROLLER 451*4882a593Smuzhiyun 452*4882a593Smuzhiyunconfig MACH_LOONGSON32 453*4882a593Smuzhiyun bool "Loongson 32-bit family of machines" 454*4882a593Smuzhiyun select SYS_SUPPORTS_ZBOOT 455*4882a593Smuzhiyun help 456*4882a593Smuzhiyun This enables support for the Loongson-1 family of machines. 457*4882a593Smuzhiyun 458*4882a593Smuzhiyun Loongson-1 is a family of 32-bit MIPS-compatible SoCs developed by 459*4882a593Smuzhiyun the Institute of Computing Technology (ICT), Chinese Academy of 460*4882a593Smuzhiyun Sciences (CAS). 461*4882a593Smuzhiyun 462*4882a593Smuzhiyunconfig MACH_LOONGSON2EF 463*4882a593Smuzhiyun bool "Loongson-2E/F family of machines" 464*4882a593Smuzhiyun select SYS_SUPPORTS_ZBOOT 465*4882a593Smuzhiyun help 466*4882a593Smuzhiyun This enables the support of early Loongson-2E/F family of machines. 467*4882a593Smuzhiyun 468*4882a593Smuzhiyunconfig MACH_LOONGSON64 469*4882a593Smuzhiyun bool "Loongson 64-bit family of machines" 470*4882a593Smuzhiyun select ARCH_SPARSEMEM_ENABLE 471*4882a593Smuzhiyun select ARCH_MIGHT_HAVE_PC_PARPORT 472*4882a593Smuzhiyun select ARCH_MIGHT_HAVE_PC_SERIO 473*4882a593Smuzhiyun select GENERIC_ISA_DMA_SUPPORT_BROKEN 474*4882a593Smuzhiyun select BOOT_ELF32 475*4882a593Smuzhiyun select BOARD_SCACHE 476*4882a593Smuzhiyun select CSRC_R4K 477*4882a593Smuzhiyun select CEVT_R4K 478*4882a593Smuzhiyun select CPU_HAS_WB 479*4882a593Smuzhiyun select FORCE_PCI 480*4882a593Smuzhiyun select ISA 481*4882a593Smuzhiyun select I8259 482*4882a593Smuzhiyun select IRQ_MIPS_CPU 483*4882a593Smuzhiyun select NO_EXCEPT_FILL 484*4882a593Smuzhiyun select NR_CPUS_DEFAULT_64 485*4882a593Smuzhiyun select USE_GENERIC_EARLY_PRINTK_8250 486*4882a593Smuzhiyun select PCI_DRIVERS_GENERIC 487*4882a593Smuzhiyun select SYS_HAS_CPU_LOONGSON64 488*4882a593Smuzhiyun select SYS_HAS_EARLY_PRINTK 489*4882a593Smuzhiyun select SYS_SUPPORTS_SMP 490*4882a593Smuzhiyun select SYS_SUPPORTS_HOTPLUG_CPU 491*4882a593Smuzhiyun select SYS_SUPPORTS_NUMA 492*4882a593Smuzhiyun select SYS_SUPPORTS_64BIT_KERNEL 493*4882a593Smuzhiyun select SYS_SUPPORTS_HIGHMEM 494*4882a593Smuzhiyun select SYS_SUPPORTS_LITTLE_ENDIAN 495*4882a593Smuzhiyun select SYS_SUPPORTS_ZBOOT 496*4882a593Smuzhiyun select ZONE_DMA32 497*4882a593Smuzhiyun select NUMA 498*4882a593Smuzhiyun select SMP 499*4882a593Smuzhiyun select COMMON_CLK 500*4882a593Smuzhiyun select USE_OF 501*4882a593Smuzhiyun select BUILTIN_DTB 502*4882a593Smuzhiyun select PCI_HOST_GENERIC 503*4882a593Smuzhiyun help 504*4882a593Smuzhiyun This enables the support of Loongson-2/3 family of machines. 505*4882a593Smuzhiyun 506*4882a593Smuzhiyun Loongson-2 and Loongson-3 are 64-bit general-purpose processors with 507*4882a593Smuzhiyun GS264/GS464/GS464E/GS464V microarchitecture (except old Loongson-2E 508*4882a593Smuzhiyun and Loongson-2F which will be removed), developed by the Institute 509*4882a593Smuzhiyun of Computing Technology (ICT), Chinese Academy of Sciences (CAS). 510*4882a593Smuzhiyun 511*4882a593Smuzhiyunconfig MACH_PISTACHIO 512*4882a593Smuzhiyun bool "IMG Pistachio SoC based boards" 513*4882a593Smuzhiyun select BOOT_ELF32 514*4882a593Smuzhiyun select BOOT_RAW 515*4882a593Smuzhiyun select CEVT_R4K 516*4882a593Smuzhiyun select CLKSRC_MIPS_GIC 517*4882a593Smuzhiyun select COMMON_CLK 518*4882a593Smuzhiyun select CSRC_R4K 519*4882a593Smuzhiyun select DMA_NONCOHERENT 520*4882a593Smuzhiyun select GPIOLIB 521*4882a593Smuzhiyun select IRQ_MIPS_CPU 522*4882a593Smuzhiyun select MFD_SYSCON 523*4882a593Smuzhiyun select MIPS_CPU_SCACHE 524*4882a593Smuzhiyun select MIPS_GIC 525*4882a593Smuzhiyun select PINCTRL 526*4882a593Smuzhiyun select REGULATOR 527*4882a593Smuzhiyun select SYS_HAS_CPU_MIPS32_R2 528*4882a593Smuzhiyun select SYS_SUPPORTS_32BIT_KERNEL 529*4882a593Smuzhiyun select SYS_SUPPORTS_LITTLE_ENDIAN 530*4882a593Smuzhiyun select SYS_SUPPORTS_MIPS_CPS 531*4882a593Smuzhiyun select SYS_SUPPORTS_MULTITHREADING 532*4882a593Smuzhiyun select SYS_SUPPORTS_RELOCATABLE 533*4882a593Smuzhiyun select SYS_SUPPORTS_ZBOOT 534*4882a593Smuzhiyun select SYS_HAS_EARLY_PRINTK 535*4882a593Smuzhiyun select USE_GENERIC_EARLY_PRINTK_8250 536*4882a593Smuzhiyun select USE_OF 537*4882a593Smuzhiyun help 538*4882a593Smuzhiyun This enables support for the IMG Pistachio SoC platform. 539*4882a593Smuzhiyun 540*4882a593Smuzhiyunconfig MIPS_MALTA 541*4882a593Smuzhiyun bool "MIPS Malta board" 542*4882a593Smuzhiyun select ARCH_MAY_HAVE_PC_FDC 543*4882a593Smuzhiyun select ARCH_MIGHT_HAVE_PC_PARPORT 544*4882a593Smuzhiyun select ARCH_MIGHT_HAVE_PC_SERIO 545*4882a593Smuzhiyun select BOOT_ELF32 546*4882a593Smuzhiyun select BOOT_RAW 547*4882a593Smuzhiyun select BUILTIN_DTB 548*4882a593Smuzhiyun select CEVT_R4K 549*4882a593Smuzhiyun select CLKSRC_MIPS_GIC 550*4882a593Smuzhiyun select COMMON_CLK 551*4882a593Smuzhiyun select CSRC_R4K 552*4882a593Smuzhiyun select DMA_MAYBE_COHERENT 553*4882a593Smuzhiyun select GENERIC_ISA_DMA 554*4882a593Smuzhiyun select HAVE_PCSPKR_PLATFORM 555*4882a593Smuzhiyun select HAVE_PCI 556*4882a593Smuzhiyun select I8253 557*4882a593Smuzhiyun select I8259 558*4882a593Smuzhiyun select IRQ_MIPS_CPU 559*4882a593Smuzhiyun select MIPS_BONITO64 560*4882a593Smuzhiyun select MIPS_CPU_SCACHE 561*4882a593Smuzhiyun select MIPS_GIC 562*4882a593Smuzhiyun select MIPS_L1_CACHE_SHIFT_6 563*4882a593Smuzhiyun select MIPS_MSC 564*4882a593Smuzhiyun select PCI_GT64XXX_PCI0 565*4882a593Smuzhiyun select SMP_UP if SMP 566*4882a593Smuzhiyun select SWAP_IO_SPACE 567*4882a593Smuzhiyun select SYS_HAS_CPU_MIPS32_R1 568*4882a593Smuzhiyun select SYS_HAS_CPU_MIPS32_R2 569*4882a593Smuzhiyun select SYS_HAS_CPU_MIPS32_R3_5 570*4882a593Smuzhiyun select SYS_HAS_CPU_MIPS32_R5 571*4882a593Smuzhiyun select SYS_HAS_CPU_MIPS32_R6 572*4882a593Smuzhiyun select SYS_HAS_CPU_MIPS64_R1 573*4882a593Smuzhiyun select SYS_HAS_CPU_MIPS64_R2 574*4882a593Smuzhiyun select SYS_HAS_CPU_MIPS64_R6 575*4882a593Smuzhiyun select SYS_HAS_CPU_NEVADA 576*4882a593Smuzhiyun select SYS_HAS_CPU_RM7000 577*4882a593Smuzhiyun select SYS_SUPPORTS_32BIT_KERNEL 578*4882a593Smuzhiyun select SYS_SUPPORTS_64BIT_KERNEL 579*4882a593Smuzhiyun select SYS_SUPPORTS_BIG_ENDIAN 580*4882a593Smuzhiyun select SYS_SUPPORTS_HIGHMEM 581*4882a593Smuzhiyun select SYS_SUPPORTS_LITTLE_ENDIAN 582*4882a593Smuzhiyun select SYS_SUPPORTS_MICROMIPS 583*4882a593Smuzhiyun select SYS_SUPPORTS_MIPS16 584*4882a593Smuzhiyun select SYS_SUPPORTS_MIPS_CMP 585*4882a593Smuzhiyun select SYS_SUPPORTS_MIPS_CPS 586*4882a593Smuzhiyun select SYS_SUPPORTS_MULTITHREADING 587*4882a593Smuzhiyun select SYS_SUPPORTS_RELOCATABLE 588*4882a593Smuzhiyun select SYS_SUPPORTS_SMARTMIPS 589*4882a593Smuzhiyun select SYS_SUPPORTS_VPE_LOADER 590*4882a593Smuzhiyun select SYS_SUPPORTS_ZBOOT 591*4882a593Smuzhiyun select USE_OF 592*4882a593Smuzhiyun select WAR_ICACHE_REFILLS 593*4882a593Smuzhiyun select ZONE_DMA32 if 64BIT 594*4882a593Smuzhiyun help 595*4882a593Smuzhiyun This enables support for the MIPS Technologies Malta evaluation 596*4882a593Smuzhiyun board. 597*4882a593Smuzhiyun 598*4882a593Smuzhiyunconfig MACH_PIC32 599*4882a593Smuzhiyun bool "Microchip PIC32 Family" 600*4882a593Smuzhiyun help 601*4882a593Smuzhiyun This enables support for the Microchip PIC32 family of platforms. 602*4882a593Smuzhiyun 603*4882a593Smuzhiyun Microchip PIC32 is a family of general-purpose 32 bit MIPS core 604*4882a593Smuzhiyun microcontrollers. 605*4882a593Smuzhiyun 606*4882a593Smuzhiyunconfig MACH_VR41XX 607*4882a593Smuzhiyun bool "NEC VR4100 series based machines" 608*4882a593Smuzhiyun select CEVT_R4K 609*4882a593Smuzhiyun select CSRC_R4K 610*4882a593Smuzhiyun select SYS_HAS_CPU_VR41XX 611*4882a593Smuzhiyun select SYS_SUPPORTS_MIPS16 612*4882a593Smuzhiyun select GPIOLIB 613*4882a593Smuzhiyun 614*4882a593Smuzhiyunconfig RALINK 615*4882a593Smuzhiyun bool "Ralink based machines" 616*4882a593Smuzhiyun select CEVT_R4K 617*4882a593Smuzhiyun select CSRC_R4K 618*4882a593Smuzhiyun select BOOT_RAW 619*4882a593Smuzhiyun select DMA_NONCOHERENT 620*4882a593Smuzhiyun select IRQ_MIPS_CPU 621*4882a593Smuzhiyun select USE_OF 622*4882a593Smuzhiyun select SYS_HAS_CPU_MIPS32_R1 623*4882a593Smuzhiyun select SYS_HAS_CPU_MIPS32_R2 624*4882a593Smuzhiyun select SYS_SUPPORTS_32BIT_KERNEL 625*4882a593Smuzhiyun select SYS_SUPPORTS_LITTLE_ENDIAN 626*4882a593Smuzhiyun select SYS_SUPPORTS_MIPS16 627*4882a593Smuzhiyun select SYS_SUPPORTS_ZBOOT 628*4882a593Smuzhiyun select SYS_HAS_EARLY_PRINTK 629*4882a593Smuzhiyun select CLKDEV_LOOKUP 630*4882a593Smuzhiyun select ARCH_HAS_RESET_CONTROLLER 631*4882a593Smuzhiyun select RESET_CONTROLLER 632*4882a593Smuzhiyun 633*4882a593Smuzhiyunconfig SGI_IP22 634*4882a593Smuzhiyun bool "SGI IP22 (Indy/Indigo2)" 635*4882a593Smuzhiyun select ARC_MEMORY 636*4882a593Smuzhiyun select ARC_PROMLIB 637*4882a593Smuzhiyun select FW_ARC 638*4882a593Smuzhiyun select FW_ARC32 639*4882a593Smuzhiyun select ARCH_MIGHT_HAVE_PC_SERIO 640*4882a593Smuzhiyun select BOOT_ELF32 641*4882a593Smuzhiyun select CEVT_R4K 642*4882a593Smuzhiyun select CSRC_R4K 643*4882a593Smuzhiyun select DEFAULT_SGI_PARTITION 644*4882a593Smuzhiyun select DMA_NONCOHERENT 645*4882a593Smuzhiyun select HAVE_EISA 646*4882a593Smuzhiyun select I8253 647*4882a593Smuzhiyun select I8259 648*4882a593Smuzhiyun select IP22_CPU_SCACHE 649*4882a593Smuzhiyun select IRQ_MIPS_CPU 650*4882a593Smuzhiyun select GENERIC_ISA_DMA_SUPPORT_BROKEN 651*4882a593Smuzhiyun select SGI_HAS_I8042 652*4882a593Smuzhiyun select SGI_HAS_INDYDOG 653*4882a593Smuzhiyun select SGI_HAS_HAL2 654*4882a593Smuzhiyun select SGI_HAS_SEEQ 655*4882a593Smuzhiyun select SGI_HAS_WD93 656*4882a593Smuzhiyun select SGI_HAS_ZILOG 657*4882a593Smuzhiyun select SWAP_IO_SPACE 658*4882a593Smuzhiyun select SYS_HAS_CPU_R4X00 659*4882a593Smuzhiyun select SYS_HAS_CPU_R5000 660*4882a593Smuzhiyun select SYS_HAS_EARLY_PRINTK 661*4882a593Smuzhiyun select SYS_SUPPORTS_32BIT_KERNEL 662*4882a593Smuzhiyun select SYS_SUPPORTS_64BIT_KERNEL 663*4882a593Smuzhiyun select SYS_SUPPORTS_BIG_ENDIAN 664*4882a593Smuzhiyun select WAR_R4600_V1_INDEX_ICACHEOP 665*4882a593Smuzhiyun select WAR_R4600_V1_HIT_CACHEOP 666*4882a593Smuzhiyun select WAR_R4600_V2_HIT_CACHEOP 667*4882a593Smuzhiyun select MIPS_L1_CACHE_SHIFT_7 668*4882a593Smuzhiyun help 669*4882a593Smuzhiyun This are the SGI Indy, Challenge S and Indigo2, as well as certain 670*4882a593Smuzhiyun OEM variants like the Tandem CMN B006S. To compile a Linux kernel 671*4882a593Smuzhiyun that runs on these, say Y here. 672*4882a593Smuzhiyun 673*4882a593Smuzhiyunconfig SGI_IP27 674*4882a593Smuzhiyun bool "SGI IP27 (Origin200/2000)" 675*4882a593Smuzhiyun select ARCH_HAS_PHYS_TO_DMA 676*4882a593Smuzhiyun select ARCH_SPARSEMEM_ENABLE 677*4882a593Smuzhiyun select FW_ARC 678*4882a593Smuzhiyun select FW_ARC64 679*4882a593Smuzhiyun select ARC_CMDLINE_ONLY 680*4882a593Smuzhiyun select BOOT_ELF64 681*4882a593Smuzhiyun select DEFAULT_SGI_PARTITION 682*4882a593Smuzhiyun select SYS_HAS_EARLY_PRINTK 683*4882a593Smuzhiyun select HAVE_PCI 684*4882a593Smuzhiyun select IRQ_MIPS_CPU 685*4882a593Smuzhiyun select IRQ_DOMAIN_HIERARCHY 686*4882a593Smuzhiyun select NR_CPUS_DEFAULT_64 687*4882a593Smuzhiyun select PCI_DRIVERS_GENERIC 688*4882a593Smuzhiyun select PCI_XTALK_BRIDGE 689*4882a593Smuzhiyun select SYS_HAS_CPU_R10000 690*4882a593Smuzhiyun select SYS_SUPPORTS_64BIT_KERNEL 691*4882a593Smuzhiyun select SYS_SUPPORTS_BIG_ENDIAN 692*4882a593Smuzhiyun select SYS_SUPPORTS_NUMA 693*4882a593Smuzhiyun select SYS_SUPPORTS_SMP 694*4882a593Smuzhiyun select WAR_R10000_LLSC 695*4882a593Smuzhiyun select MIPS_L1_CACHE_SHIFT_7 696*4882a593Smuzhiyun select NUMA 697*4882a593Smuzhiyun help 698*4882a593Smuzhiyun This are the SGI Origin 200, Origin 2000 and Onyx 2 Graphics 699*4882a593Smuzhiyun workstations. To compile a Linux kernel that runs on these, say Y 700*4882a593Smuzhiyun here. 701*4882a593Smuzhiyun 702*4882a593Smuzhiyunconfig SGI_IP28 703*4882a593Smuzhiyun bool "SGI IP28 (Indigo2 R10k)" 704*4882a593Smuzhiyun select ARC_MEMORY 705*4882a593Smuzhiyun select ARC_PROMLIB 706*4882a593Smuzhiyun select FW_ARC 707*4882a593Smuzhiyun select FW_ARC64 708*4882a593Smuzhiyun select ARCH_MIGHT_HAVE_PC_SERIO 709*4882a593Smuzhiyun select BOOT_ELF64 710*4882a593Smuzhiyun select CEVT_R4K 711*4882a593Smuzhiyun select CSRC_R4K 712*4882a593Smuzhiyun select DEFAULT_SGI_PARTITION 713*4882a593Smuzhiyun select DMA_NONCOHERENT 714*4882a593Smuzhiyun select GENERIC_ISA_DMA_SUPPORT_BROKEN 715*4882a593Smuzhiyun select IRQ_MIPS_CPU 716*4882a593Smuzhiyun select HAVE_EISA 717*4882a593Smuzhiyun select I8253 718*4882a593Smuzhiyun select I8259 719*4882a593Smuzhiyun select SGI_HAS_I8042 720*4882a593Smuzhiyun select SGI_HAS_INDYDOG 721*4882a593Smuzhiyun select SGI_HAS_HAL2 722*4882a593Smuzhiyun select SGI_HAS_SEEQ 723*4882a593Smuzhiyun select SGI_HAS_WD93 724*4882a593Smuzhiyun select SGI_HAS_ZILOG 725*4882a593Smuzhiyun select SWAP_IO_SPACE 726*4882a593Smuzhiyun select SYS_HAS_CPU_R10000 727*4882a593Smuzhiyun select SYS_HAS_EARLY_PRINTK 728*4882a593Smuzhiyun select SYS_SUPPORTS_64BIT_KERNEL 729*4882a593Smuzhiyun select SYS_SUPPORTS_BIG_ENDIAN 730*4882a593Smuzhiyun select WAR_R10000_LLSC 731*4882a593Smuzhiyun select MIPS_L1_CACHE_SHIFT_7 732*4882a593Smuzhiyun help 733*4882a593Smuzhiyun This is the SGI Indigo2 with R10000 processor. To compile a Linux 734*4882a593Smuzhiyun kernel that runs on these, say Y here. 735*4882a593Smuzhiyun 736*4882a593Smuzhiyunconfig SGI_IP30 737*4882a593Smuzhiyun bool "SGI IP30 (Octane/Octane2)" 738*4882a593Smuzhiyun select ARCH_HAS_PHYS_TO_DMA 739*4882a593Smuzhiyun select FW_ARC 740*4882a593Smuzhiyun select FW_ARC64 741*4882a593Smuzhiyun select BOOT_ELF64 742*4882a593Smuzhiyun select CEVT_R4K 743*4882a593Smuzhiyun select CSRC_R4K 744*4882a593Smuzhiyun select SYNC_R4K if SMP 745*4882a593Smuzhiyun select ZONE_DMA32 746*4882a593Smuzhiyun select HAVE_PCI 747*4882a593Smuzhiyun select IRQ_MIPS_CPU 748*4882a593Smuzhiyun select IRQ_DOMAIN_HIERARCHY 749*4882a593Smuzhiyun select NR_CPUS_DEFAULT_2 750*4882a593Smuzhiyun select PCI_DRIVERS_GENERIC 751*4882a593Smuzhiyun select PCI_XTALK_BRIDGE 752*4882a593Smuzhiyun select SYS_HAS_EARLY_PRINTK 753*4882a593Smuzhiyun select SYS_HAS_CPU_R10000 754*4882a593Smuzhiyun select SYS_SUPPORTS_64BIT_KERNEL 755*4882a593Smuzhiyun select SYS_SUPPORTS_BIG_ENDIAN 756*4882a593Smuzhiyun select SYS_SUPPORTS_SMP 757*4882a593Smuzhiyun select WAR_R10000_LLSC 758*4882a593Smuzhiyun select MIPS_L1_CACHE_SHIFT_7 759*4882a593Smuzhiyun select ARC_MEMORY 760*4882a593Smuzhiyun help 761*4882a593Smuzhiyun These are the SGI Octane and Octane2 graphics workstations. To 762*4882a593Smuzhiyun compile a Linux kernel that runs on these, say Y here. 763*4882a593Smuzhiyun 764*4882a593Smuzhiyunconfig SGI_IP32 765*4882a593Smuzhiyun bool "SGI IP32 (O2)" 766*4882a593Smuzhiyun select ARC_MEMORY 767*4882a593Smuzhiyun select ARC_PROMLIB 768*4882a593Smuzhiyun select ARCH_HAS_PHYS_TO_DMA 769*4882a593Smuzhiyun select FW_ARC 770*4882a593Smuzhiyun select FW_ARC32 771*4882a593Smuzhiyun select BOOT_ELF32 772*4882a593Smuzhiyun select CEVT_R4K 773*4882a593Smuzhiyun select CSRC_R4K 774*4882a593Smuzhiyun select DMA_NONCOHERENT 775*4882a593Smuzhiyun select HAVE_PCI 776*4882a593Smuzhiyun select IRQ_MIPS_CPU 777*4882a593Smuzhiyun select R5000_CPU_SCACHE 778*4882a593Smuzhiyun select RM7000_CPU_SCACHE 779*4882a593Smuzhiyun select SYS_HAS_CPU_R5000 780*4882a593Smuzhiyun select SYS_HAS_CPU_R10000 if BROKEN 781*4882a593Smuzhiyun select SYS_HAS_CPU_RM7000 782*4882a593Smuzhiyun select SYS_HAS_CPU_NEVADA 783*4882a593Smuzhiyun select SYS_SUPPORTS_64BIT_KERNEL 784*4882a593Smuzhiyun select SYS_SUPPORTS_BIG_ENDIAN 785*4882a593Smuzhiyun select WAR_ICACHE_REFILLS 786*4882a593Smuzhiyun help 787*4882a593Smuzhiyun If you want this kernel to run on SGI O2 workstation, say Y here. 788*4882a593Smuzhiyun 789*4882a593Smuzhiyunconfig SIBYTE_CRHINE 790*4882a593Smuzhiyun bool "Sibyte BCM91120C-CRhine" 791*4882a593Smuzhiyun select BOOT_ELF32 792*4882a593Smuzhiyun select SIBYTE_BCM1120 793*4882a593Smuzhiyun select SWAP_IO_SPACE 794*4882a593Smuzhiyun select SYS_HAS_CPU_SB1 795*4882a593Smuzhiyun select SYS_SUPPORTS_BIG_ENDIAN 796*4882a593Smuzhiyun select SYS_SUPPORTS_LITTLE_ENDIAN 797*4882a593Smuzhiyun 798*4882a593Smuzhiyunconfig SIBYTE_CARMEL 799*4882a593Smuzhiyun bool "Sibyte BCM91120x-Carmel" 800*4882a593Smuzhiyun select BOOT_ELF32 801*4882a593Smuzhiyun select SIBYTE_BCM1120 802*4882a593Smuzhiyun select SWAP_IO_SPACE 803*4882a593Smuzhiyun select SYS_HAS_CPU_SB1 804*4882a593Smuzhiyun select SYS_SUPPORTS_BIG_ENDIAN 805*4882a593Smuzhiyun select SYS_SUPPORTS_LITTLE_ENDIAN 806*4882a593Smuzhiyun 807*4882a593Smuzhiyunconfig SIBYTE_CRHONE 808*4882a593Smuzhiyun bool "Sibyte BCM91125C-CRhone" 809*4882a593Smuzhiyun select BOOT_ELF32 810*4882a593Smuzhiyun select SIBYTE_BCM1125 811*4882a593Smuzhiyun select SWAP_IO_SPACE 812*4882a593Smuzhiyun select SYS_HAS_CPU_SB1 813*4882a593Smuzhiyun select SYS_SUPPORTS_BIG_ENDIAN 814*4882a593Smuzhiyun select SYS_SUPPORTS_HIGHMEM 815*4882a593Smuzhiyun select SYS_SUPPORTS_LITTLE_ENDIAN 816*4882a593Smuzhiyun 817*4882a593Smuzhiyunconfig SIBYTE_RHONE 818*4882a593Smuzhiyun bool "Sibyte BCM91125E-Rhone" 819*4882a593Smuzhiyun select BOOT_ELF32 820*4882a593Smuzhiyun select SIBYTE_BCM1125H 821*4882a593Smuzhiyun select SWAP_IO_SPACE 822*4882a593Smuzhiyun select SYS_HAS_CPU_SB1 823*4882a593Smuzhiyun select SYS_SUPPORTS_BIG_ENDIAN 824*4882a593Smuzhiyun select SYS_SUPPORTS_LITTLE_ENDIAN 825*4882a593Smuzhiyun 826*4882a593Smuzhiyunconfig SIBYTE_SWARM 827*4882a593Smuzhiyun bool "Sibyte BCM91250A-SWARM" 828*4882a593Smuzhiyun select BOOT_ELF32 829*4882a593Smuzhiyun select HAVE_PATA_PLATFORM 830*4882a593Smuzhiyun select SIBYTE_SB1250 831*4882a593Smuzhiyun select SWAP_IO_SPACE 832*4882a593Smuzhiyun select SYS_HAS_CPU_SB1 833*4882a593Smuzhiyun select SYS_SUPPORTS_BIG_ENDIAN 834*4882a593Smuzhiyun select SYS_SUPPORTS_HIGHMEM 835*4882a593Smuzhiyun select SYS_SUPPORTS_LITTLE_ENDIAN 836*4882a593Smuzhiyun select ZONE_DMA32 if 64BIT 837*4882a593Smuzhiyun select SWIOTLB if ARCH_DMA_ADDR_T_64BIT && PCI 838*4882a593Smuzhiyun 839*4882a593Smuzhiyunconfig SIBYTE_LITTLESUR 840*4882a593Smuzhiyun bool "Sibyte BCM91250C2-LittleSur" 841*4882a593Smuzhiyun select BOOT_ELF32 842*4882a593Smuzhiyun select HAVE_PATA_PLATFORM 843*4882a593Smuzhiyun select SIBYTE_SB1250 844*4882a593Smuzhiyun select SWAP_IO_SPACE 845*4882a593Smuzhiyun select SYS_HAS_CPU_SB1 846*4882a593Smuzhiyun select SYS_SUPPORTS_BIG_ENDIAN 847*4882a593Smuzhiyun select SYS_SUPPORTS_HIGHMEM 848*4882a593Smuzhiyun select SYS_SUPPORTS_LITTLE_ENDIAN 849*4882a593Smuzhiyun select ZONE_DMA32 if 64BIT 850*4882a593Smuzhiyun 851*4882a593Smuzhiyunconfig SIBYTE_SENTOSA 852*4882a593Smuzhiyun bool "Sibyte BCM91250E-Sentosa" 853*4882a593Smuzhiyun select BOOT_ELF32 854*4882a593Smuzhiyun select SIBYTE_SB1250 855*4882a593Smuzhiyun select SWAP_IO_SPACE 856*4882a593Smuzhiyun select SYS_HAS_CPU_SB1 857*4882a593Smuzhiyun select SYS_SUPPORTS_BIG_ENDIAN 858*4882a593Smuzhiyun select SYS_SUPPORTS_LITTLE_ENDIAN 859*4882a593Smuzhiyun select SWIOTLB if ARCH_DMA_ADDR_T_64BIT && PCI 860*4882a593Smuzhiyun 861*4882a593Smuzhiyunconfig SIBYTE_BIGSUR 862*4882a593Smuzhiyun bool "Sibyte BCM91480B-BigSur" 863*4882a593Smuzhiyun select BOOT_ELF32 864*4882a593Smuzhiyun select NR_CPUS_DEFAULT_4 865*4882a593Smuzhiyun select SIBYTE_BCM1x80 866*4882a593Smuzhiyun select SWAP_IO_SPACE 867*4882a593Smuzhiyun select SYS_HAS_CPU_SB1 868*4882a593Smuzhiyun select SYS_SUPPORTS_BIG_ENDIAN 869*4882a593Smuzhiyun select SYS_SUPPORTS_HIGHMEM 870*4882a593Smuzhiyun select SYS_SUPPORTS_LITTLE_ENDIAN 871*4882a593Smuzhiyun select ZONE_DMA32 if 64BIT 872*4882a593Smuzhiyun select SWIOTLB if ARCH_DMA_ADDR_T_64BIT && PCI 873*4882a593Smuzhiyun 874*4882a593Smuzhiyunconfig SNI_RM 875*4882a593Smuzhiyun bool "SNI RM200/300/400" 876*4882a593Smuzhiyun select ARC_MEMORY 877*4882a593Smuzhiyun select ARC_PROMLIB 878*4882a593Smuzhiyun select FW_ARC if CPU_LITTLE_ENDIAN 879*4882a593Smuzhiyun select FW_ARC32 if CPU_LITTLE_ENDIAN 880*4882a593Smuzhiyun select FW_SNIPROM if CPU_BIG_ENDIAN 881*4882a593Smuzhiyun select ARCH_MAY_HAVE_PC_FDC 882*4882a593Smuzhiyun select ARCH_MIGHT_HAVE_PC_PARPORT 883*4882a593Smuzhiyun select ARCH_MIGHT_HAVE_PC_SERIO 884*4882a593Smuzhiyun select BOOT_ELF32 885*4882a593Smuzhiyun select CEVT_R4K 886*4882a593Smuzhiyun select CSRC_R4K 887*4882a593Smuzhiyun select DEFAULT_SGI_PARTITION if CPU_BIG_ENDIAN 888*4882a593Smuzhiyun select DMA_NONCOHERENT 889*4882a593Smuzhiyun select GENERIC_ISA_DMA 890*4882a593Smuzhiyun select HAVE_EISA 891*4882a593Smuzhiyun select HAVE_PCSPKR_PLATFORM 892*4882a593Smuzhiyun select HAVE_PCI 893*4882a593Smuzhiyun select IRQ_MIPS_CPU 894*4882a593Smuzhiyun select I8253 895*4882a593Smuzhiyun select I8259 896*4882a593Smuzhiyun select ISA 897*4882a593Smuzhiyun select MIPS_L1_CACHE_SHIFT_6 898*4882a593Smuzhiyun select SWAP_IO_SPACE if CPU_BIG_ENDIAN 899*4882a593Smuzhiyun select SYS_HAS_CPU_R4X00 900*4882a593Smuzhiyun select SYS_HAS_CPU_R5000 901*4882a593Smuzhiyun select SYS_HAS_CPU_R10000 902*4882a593Smuzhiyun select R5000_CPU_SCACHE 903*4882a593Smuzhiyun select SYS_HAS_EARLY_PRINTK 904*4882a593Smuzhiyun select SYS_SUPPORTS_32BIT_KERNEL 905*4882a593Smuzhiyun select SYS_SUPPORTS_64BIT_KERNEL 906*4882a593Smuzhiyun select SYS_SUPPORTS_BIG_ENDIAN 907*4882a593Smuzhiyun select SYS_SUPPORTS_HIGHMEM 908*4882a593Smuzhiyun select SYS_SUPPORTS_LITTLE_ENDIAN 909*4882a593Smuzhiyun select WAR_R4600_V2_HIT_CACHEOP 910*4882a593Smuzhiyun help 911*4882a593Smuzhiyun The SNI RM200/300/400 are MIPS-based machines manufactured by 912*4882a593Smuzhiyun Siemens Nixdorf Informationssysteme (SNI), parent company of Pyramid 913*4882a593Smuzhiyun Technology and now in turn merged with Fujitsu. Say Y here to 914*4882a593Smuzhiyun support this machine type. 915*4882a593Smuzhiyun 916*4882a593Smuzhiyunconfig MACH_TX39XX 917*4882a593Smuzhiyun bool "Toshiba TX39 series based machines" 918*4882a593Smuzhiyun 919*4882a593Smuzhiyunconfig MACH_TX49XX 920*4882a593Smuzhiyun bool "Toshiba TX49 series based machines" 921*4882a593Smuzhiyun select WAR_TX49XX_ICACHE_INDEX_INV 922*4882a593Smuzhiyun 923*4882a593Smuzhiyunconfig MIKROTIK_RB532 924*4882a593Smuzhiyun bool "Mikrotik RB532 boards" 925*4882a593Smuzhiyun select CEVT_R4K 926*4882a593Smuzhiyun select CSRC_R4K 927*4882a593Smuzhiyun select DMA_NONCOHERENT 928*4882a593Smuzhiyun select HAVE_PCI 929*4882a593Smuzhiyun select IRQ_MIPS_CPU 930*4882a593Smuzhiyun select SYS_HAS_CPU_MIPS32_R1 931*4882a593Smuzhiyun select SYS_SUPPORTS_32BIT_KERNEL 932*4882a593Smuzhiyun select SYS_SUPPORTS_LITTLE_ENDIAN 933*4882a593Smuzhiyun select SWAP_IO_SPACE 934*4882a593Smuzhiyun select BOOT_RAW 935*4882a593Smuzhiyun select GPIOLIB 936*4882a593Smuzhiyun select MIPS_L1_CACHE_SHIFT_4 937*4882a593Smuzhiyun help 938*4882a593Smuzhiyun Support the Mikrotik(tm) RouterBoard 532 series, 939*4882a593Smuzhiyun based on the IDT RC32434 SoC. 940*4882a593Smuzhiyun 941*4882a593Smuzhiyunconfig CAVIUM_OCTEON_SOC 942*4882a593Smuzhiyun bool "Cavium Networks Octeon SoC based boards" 943*4882a593Smuzhiyun select CEVT_R4K 944*4882a593Smuzhiyun select ARCH_HAS_PHYS_TO_DMA 945*4882a593Smuzhiyun select HAVE_RAPIDIO 946*4882a593Smuzhiyun select PHYS_ADDR_T_64BIT 947*4882a593Smuzhiyun select SYS_SUPPORTS_64BIT_KERNEL 948*4882a593Smuzhiyun select SYS_SUPPORTS_BIG_ENDIAN 949*4882a593Smuzhiyun select EDAC_SUPPORT 950*4882a593Smuzhiyun select EDAC_ATOMIC_SCRUB 951*4882a593Smuzhiyun select SYS_SUPPORTS_LITTLE_ENDIAN 952*4882a593Smuzhiyun select SYS_SUPPORTS_HOTPLUG_CPU if CPU_BIG_ENDIAN 953*4882a593Smuzhiyun select SYS_HAS_EARLY_PRINTK 954*4882a593Smuzhiyun select SYS_HAS_CPU_CAVIUM_OCTEON 955*4882a593Smuzhiyun select HAVE_PCI 956*4882a593Smuzhiyun select HAVE_PLAT_DELAY 957*4882a593Smuzhiyun select HAVE_PLAT_FW_INIT_CMDLINE 958*4882a593Smuzhiyun select HAVE_PLAT_MEMCPY 959*4882a593Smuzhiyun select ZONE_DMA32 960*4882a593Smuzhiyun select HOLES_IN_ZONE 961*4882a593Smuzhiyun select GPIOLIB 962*4882a593Smuzhiyun select USE_OF 963*4882a593Smuzhiyun select ARCH_SPARSEMEM_ENABLE 964*4882a593Smuzhiyun select SYS_SUPPORTS_SMP 965*4882a593Smuzhiyun select NR_CPUS_DEFAULT_64 966*4882a593Smuzhiyun select MIPS_NR_CPU_NR_MAP_1024 967*4882a593Smuzhiyun select BUILTIN_DTB 968*4882a593Smuzhiyun select MTD_COMPLEX_MAPPINGS 969*4882a593Smuzhiyun select SWIOTLB 970*4882a593Smuzhiyun select SYS_SUPPORTS_RELOCATABLE 971*4882a593Smuzhiyun help 972*4882a593Smuzhiyun This option supports all of the Octeon reference boards from Cavium 973*4882a593Smuzhiyun Networks. It builds a kernel that dynamically determines the Octeon 974*4882a593Smuzhiyun CPU type and supports all known board reference implementations. 975*4882a593Smuzhiyun Some of the supported boards are: 976*4882a593Smuzhiyun EBT3000 977*4882a593Smuzhiyun EBH3000 978*4882a593Smuzhiyun EBH3100 979*4882a593Smuzhiyun Thunder 980*4882a593Smuzhiyun Kodama 981*4882a593Smuzhiyun Hikari 982*4882a593Smuzhiyun Say Y here for most Octeon reference boards. 983*4882a593Smuzhiyun 984*4882a593Smuzhiyunconfig NLM_XLR_BOARD 985*4882a593Smuzhiyun bool "Netlogic XLR/XLS based systems" 986*4882a593Smuzhiyun select BOOT_ELF32 987*4882a593Smuzhiyun select NLM_COMMON 988*4882a593Smuzhiyun select SYS_HAS_CPU_XLR 989*4882a593Smuzhiyun select SYS_SUPPORTS_SMP 990*4882a593Smuzhiyun select HAVE_PCI 991*4882a593Smuzhiyun select SWAP_IO_SPACE 992*4882a593Smuzhiyun select SYS_SUPPORTS_32BIT_KERNEL 993*4882a593Smuzhiyun select SYS_SUPPORTS_64BIT_KERNEL 994*4882a593Smuzhiyun select PHYS_ADDR_T_64BIT 995*4882a593Smuzhiyun select SYS_SUPPORTS_BIG_ENDIAN 996*4882a593Smuzhiyun select SYS_SUPPORTS_HIGHMEM 997*4882a593Smuzhiyun select NR_CPUS_DEFAULT_32 998*4882a593Smuzhiyun select CEVT_R4K 999*4882a593Smuzhiyun select CSRC_R4K 1000*4882a593Smuzhiyun select IRQ_MIPS_CPU 1001*4882a593Smuzhiyun select ZONE_DMA32 if 64BIT 1002*4882a593Smuzhiyun select SYNC_R4K 1003*4882a593Smuzhiyun select SYS_HAS_EARLY_PRINTK 1004*4882a593Smuzhiyun select SYS_SUPPORTS_ZBOOT 1005*4882a593Smuzhiyun select SYS_SUPPORTS_ZBOOT_UART16550 1006*4882a593Smuzhiyun help 1007*4882a593Smuzhiyun Support for systems based on Netlogic XLR and XLS processors. 1008*4882a593Smuzhiyun Say Y here if you have a XLR or XLS based board. 1009*4882a593Smuzhiyun 1010*4882a593Smuzhiyunconfig NLM_XLP_BOARD 1011*4882a593Smuzhiyun bool "Netlogic XLP based systems" 1012*4882a593Smuzhiyun select BOOT_ELF32 1013*4882a593Smuzhiyun select NLM_COMMON 1014*4882a593Smuzhiyun select SYS_HAS_CPU_XLP 1015*4882a593Smuzhiyun select SYS_SUPPORTS_SMP 1016*4882a593Smuzhiyun select HAVE_PCI 1017*4882a593Smuzhiyun select SYS_SUPPORTS_32BIT_KERNEL 1018*4882a593Smuzhiyun select SYS_SUPPORTS_64BIT_KERNEL 1019*4882a593Smuzhiyun select PHYS_ADDR_T_64BIT 1020*4882a593Smuzhiyun select GPIOLIB 1021*4882a593Smuzhiyun select SYS_SUPPORTS_BIG_ENDIAN 1022*4882a593Smuzhiyun select SYS_SUPPORTS_LITTLE_ENDIAN 1023*4882a593Smuzhiyun select SYS_SUPPORTS_HIGHMEM 1024*4882a593Smuzhiyun select NR_CPUS_DEFAULT_32 1025*4882a593Smuzhiyun select CEVT_R4K 1026*4882a593Smuzhiyun select CSRC_R4K 1027*4882a593Smuzhiyun select IRQ_MIPS_CPU 1028*4882a593Smuzhiyun select ZONE_DMA32 if 64BIT 1029*4882a593Smuzhiyun select SYNC_R4K 1030*4882a593Smuzhiyun select SYS_HAS_EARLY_PRINTK 1031*4882a593Smuzhiyun select USE_OF 1032*4882a593Smuzhiyun select SYS_SUPPORTS_ZBOOT 1033*4882a593Smuzhiyun select SYS_SUPPORTS_ZBOOT_UART16550 1034*4882a593Smuzhiyun help 1035*4882a593Smuzhiyun This board is based on Netlogic XLP Processor. 1036*4882a593Smuzhiyun Say Y here if you have a XLP based board. 1037*4882a593Smuzhiyun 1038*4882a593Smuzhiyunendchoice 1039*4882a593Smuzhiyun 1040*4882a593Smuzhiyunsource "arch/mips/alchemy/Kconfig" 1041*4882a593Smuzhiyunsource "arch/mips/ath25/Kconfig" 1042*4882a593Smuzhiyunsource "arch/mips/ath79/Kconfig" 1043*4882a593Smuzhiyunsource "arch/mips/bcm47xx/Kconfig" 1044*4882a593Smuzhiyunsource "arch/mips/bcm63xx/Kconfig" 1045*4882a593Smuzhiyunsource "arch/mips/bmips/Kconfig" 1046*4882a593Smuzhiyunsource "arch/mips/generic/Kconfig" 1047*4882a593Smuzhiyunsource "arch/mips/ingenic/Kconfig" 1048*4882a593Smuzhiyunsource "arch/mips/jazz/Kconfig" 1049*4882a593Smuzhiyunsource "arch/mips/lantiq/Kconfig" 1050*4882a593Smuzhiyunsource "arch/mips/pic32/Kconfig" 1051*4882a593Smuzhiyunsource "arch/mips/pistachio/Kconfig" 1052*4882a593Smuzhiyunsource "arch/mips/ralink/Kconfig" 1053*4882a593Smuzhiyunsource "arch/mips/sgi-ip27/Kconfig" 1054*4882a593Smuzhiyunsource "arch/mips/sibyte/Kconfig" 1055*4882a593Smuzhiyunsource "arch/mips/txx9/Kconfig" 1056*4882a593Smuzhiyunsource "arch/mips/vr41xx/Kconfig" 1057*4882a593Smuzhiyunsource "arch/mips/cavium-octeon/Kconfig" 1058*4882a593Smuzhiyunsource "arch/mips/loongson2ef/Kconfig" 1059*4882a593Smuzhiyunsource "arch/mips/loongson32/Kconfig" 1060*4882a593Smuzhiyunsource "arch/mips/loongson64/Kconfig" 1061*4882a593Smuzhiyunsource "arch/mips/netlogic/Kconfig" 1062*4882a593Smuzhiyun 1063*4882a593Smuzhiyunendmenu 1064*4882a593Smuzhiyun 1065*4882a593Smuzhiyunconfig GENERIC_HWEIGHT 1066*4882a593Smuzhiyun bool 1067*4882a593Smuzhiyun default y 1068*4882a593Smuzhiyun 1069*4882a593Smuzhiyunconfig GENERIC_CALIBRATE_DELAY 1070*4882a593Smuzhiyun bool 1071*4882a593Smuzhiyun default y 1072*4882a593Smuzhiyun 1073*4882a593Smuzhiyunconfig SCHED_OMIT_FRAME_POINTER 1074*4882a593Smuzhiyun bool 1075*4882a593Smuzhiyun default y 1076*4882a593Smuzhiyun 1077*4882a593Smuzhiyun# 1078*4882a593Smuzhiyun# Select some configuration options automatically based on user selections. 1079*4882a593Smuzhiyun# 1080*4882a593Smuzhiyunconfig FW_ARC 1081*4882a593Smuzhiyun bool 1082*4882a593Smuzhiyun 1083*4882a593Smuzhiyunconfig ARCH_MAY_HAVE_PC_FDC 1084*4882a593Smuzhiyun bool 1085*4882a593Smuzhiyun 1086*4882a593Smuzhiyunconfig BOOT_RAW 1087*4882a593Smuzhiyun bool 1088*4882a593Smuzhiyun 1089*4882a593Smuzhiyunconfig CEVT_BCM1480 1090*4882a593Smuzhiyun bool 1091*4882a593Smuzhiyun 1092*4882a593Smuzhiyunconfig CEVT_DS1287 1093*4882a593Smuzhiyun bool 1094*4882a593Smuzhiyun 1095*4882a593Smuzhiyunconfig CEVT_GT641XX 1096*4882a593Smuzhiyun bool 1097*4882a593Smuzhiyun 1098*4882a593Smuzhiyunconfig CEVT_R4K 1099*4882a593Smuzhiyun bool 1100*4882a593Smuzhiyun 1101*4882a593Smuzhiyunconfig CEVT_SB1250 1102*4882a593Smuzhiyun bool 1103*4882a593Smuzhiyun 1104*4882a593Smuzhiyunconfig CEVT_TXX9 1105*4882a593Smuzhiyun bool 1106*4882a593Smuzhiyun 1107*4882a593Smuzhiyunconfig CSRC_BCM1480 1108*4882a593Smuzhiyun bool 1109*4882a593Smuzhiyun 1110*4882a593Smuzhiyunconfig CSRC_IOASIC 1111*4882a593Smuzhiyun bool 1112*4882a593Smuzhiyun 1113*4882a593Smuzhiyunconfig CSRC_R4K 1114*4882a593Smuzhiyun select CLOCKSOURCE_WATCHDOG if CPU_FREQ 1115*4882a593Smuzhiyun bool 1116*4882a593Smuzhiyun 1117*4882a593Smuzhiyunconfig CSRC_SB1250 1118*4882a593Smuzhiyun bool 1119*4882a593Smuzhiyun 1120*4882a593Smuzhiyunconfig MIPS_CLOCK_VSYSCALL 1121*4882a593Smuzhiyun def_bool CSRC_R4K || CLKSRC_MIPS_GIC 1122*4882a593Smuzhiyun 1123*4882a593Smuzhiyunconfig GPIO_TXX9 1124*4882a593Smuzhiyun select GPIOLIB 1125*4882a593Smuzhiyun bool 1126*4882a593Smuzhiyun 1127*4882a593Smuzhiyunconfig FW_CFE 1128*4882a593Smuzhiyun bool 1129*4882a593Smuzhiyun 1130*4882a593Smuzhiyunconfig ARCH_SUPPORTS_UPROBES 1131*4882a593Smuzhiyun bool 1132*4882a593Smuzhiyun 1133*4882a593Smuzhiyunconfig DMA_MAYBE_COHERENT 1134*4882a593Smuzhiyun select ARCH_HAS_DMA_COHERENCE_H 1135*4882a593Smuzhiyun select DMA_NONCOHERENT 1136*4882a593Smuzhiyun bool 1137*4882a593Smuzhiyun 1138*4882a593Smuzhiyunconfig DMA_PERDEV_COHERENT 1139*4882a593Smuzhiyun bool 1140*4882a593Smuzhiyun select ARCH_HAS_SETUP_DMA_OPS 1141*4882a593Smuzhiyun select DMA_NONCOHERENT 1142*4882a593Smuzhiyun 1143*4882a593Smuzhiyunconfig DMA_NONCOHERENT 1144*4882a593Smuzhiyun bool 1145*4882a593Smuzhiyun # 1146*4882a593Smuzhiyun # MIPS allows mixing "slightly different" Cacheability and Coherency 1147*4882a593Smuzhiyun # Attribute bits. It is believed that the uncached access through 1148*4882a593Smuzhiyun # KSEG1 and the implementation specific "uncached accelerated" used 1149*4882a593Smuzhiyun # by pgprot_writcombine can be mixed, and the latter sometimes provides 1150*4882a593Smuzhiyun # significant advantages. 1151*4882a593Smuzhiyun # 1152*4882a593Smuzhiyun select ARCH_HAS_DMA_WRITE_COMBINE 1153*4882a593Smuzhiyun select ARCH_HAS_DMA_PREP_COHERENT 1154*4882a593Smuzhiyun select ARCH_HAS_SYNC_DMA_FOR_DEVICE 1155*4882a593Smuzhiyun select ARCH_HAS_DMA_SET_UNCACHED 1156*4882a593Smuzhiyun select DMA_NONCOHERENT_MMAP 1157*4882a593Smuzhiyun select NEED_DMA_MAP_STATE 1158*4882a593Smuzhiyun 1159*4882a593Smuzhiyunconfig SYS_HAS_EARLY_PRINTK 1160*4882a593Smuzhiyun bool 1161*4882a593Smuzhiyun 1162*4882a593Smuzhiyunconfig SYS_SUPPORTS_HOTPLUG_CPU 1163*4882a593Smuzhiyun bool 1164*4882a593Smuzhiyun 1165*4882a593Smuzhiyunconfig MIPS_BONITO64 1166*4882a593Smuzhiyun bool 1167*4882a593Smuzhiyun 1168*4882a593Smuzhiyunconfig MIPS_MSC 1169*4882a593Smuzhiyun bool 1170*4882a593Smuzhiyun 1171*4882a593Smuzhiyunconfig SYNC_R4K 1172*4882a593Smuzhiyun bool 1173*4882a593Smuzhiyun 1174*4882a593Smuzhiyunconfig NO_IOPORT_MAP 1175*4882a593Smuzhiyun def_bool n 1176*4882a593Smuzhiyun 1177*4882a593Smuzhiyunconfig GENERIC_CSUM 1178*4882a593Smuzhiyun def_bool CPU_NO_LOAD_STORE_LR 1179*4882a593Smuzhiyun 1180*4882a593Smuzhiyunconfig GENERIC_ISA_DMA 1181*4882a593Smuzhiyun bool 1182*4882a593Smuzhiyun select ZONE_DMA if GENERIC_ISA_DMA_SUPPORT_BROKEN=n 1183*4882a593Smuzhiyun select ISA_DMA_API 1184*4882a593Smuzhiyun 1185*4882a593Smuzhiyunconfig GENERIC_ISA_DMA_SUPPORT_BROKEN 1186*4882a593Smuzhiyun bool 1187*4882a593Smuzhiyun select GENERIC_ISA_DMA 1188*4882a593Smuzhiyun 1189*4882a593Smuzhiyunconfig HAVE_PLAT_DELAY 1190*4882a593Smuzhiyun bool 1191*4882a593Smuzhiyun 1192*4882a593Smuzhiyunconfig HAVE_PLAT_FW_INIT_CMDLINE 1193*4882a593Smuzhiyun bool 1194*4882a593Smuzhiyun 1195*4882a593Smuzhiyunconfig HAVE_PLAT_MEMCPY 1196*4882a593Smuzhiyun bool 1197*4882a593Smuzhiyun 1198*4882a593Smuzhiyunconfig ISA_DMA_API 1199*4882a593Smuzhiyun bool 1200*4882a593Smuzhiyun 1201*4882a593Smuzhiyunconfig HOLES_IN_ZONE 1202*4882a593Smuzhiyun bool 1203*4882a593Smuzhiyun 1204*4882a593Smuzhiyunconfig SYS_SUPPORTS_RELOCATABLE 1205*4882a593Smuzhiyun bool 1206*4882a593Smuzhiyun help 1207*4882a593Smuzhiyun Selected if the platform supports relocating the kernel. 1208*4882a593Smuzhiyun The platform must provide plat_get_fdt() if it selects CONFIG_USE_OF 1209*4882a593Smuzhiyun to allow access to command line and entropy sources. 1210*4882a593Smuzhiyun 1211*4882a593Smuzhiyunconfig MIPS_CBPF_JIT 1212*4882a593Smuzhiyun def_bool y 1213*4882a593Smuzhiyun depends on BPF_JIT && HAVE_CBPF_JIT 1214*4882a593Smuzhiyun 1215*4882a593Smuzhiyunconfig MIPS_EBPF_JIT 1216*4882a593Smuzhiyun def_bool y 1217*4882a593Smuzhiyun depends on BPF_JIT && HAVE_EBPF_JIT 1218*4882a593Smuzhiyun 1219*4882a593Smuzhiyun 1220*4882a593Smuzhiyun# 1221*4882a593Smuzhiyun# Endianness selection. Sufficiently obscure so many users don't know what to 1222*4882a593Smuzhiyun# answer,so we try hard to limit the available choices. Also the use of a 1223*4882a593Smuzhiyun# choice statement should be more obvious to the user. 1224*4882a593Smuzhiyun# 1225*4882a593Smuzhiyunchoice 1226*4882a593Smuzhiyun prompt "Endianness selection" 1227*4882a593Smuzhiyun help 1228*4882a593Smuzhiyun Some MIPS machines can be configured for either little or big endian 1229*4882a593Smuzhiyun byte order. These modes require different kernels and a different 1230*4882a593Smuzhiyun Linux distribution. In general there is one preferred byteorder for a 1231*4882a593Smuzhiyun particular system but some systems are just as commonly used in the 1232*4882a593Smuzhiyun one or the other endianness. 1233*4882a593Smuzhiyun 1234*4882a593Smuzhiyunconfig CPU_BIG_ENDIAN 1235*4882a593Smuzhiyun bool "Big endian" 1236*4882a593Smuzhiyun depends on SYS_SUPPORTS_BIG_ENDIAN 1237*4882a593Smuzhiyun 1238*4882a593Smuzhiyunconfig CPU_LITTLE_ENDIAN 1239*4882a593Smuzhiyun bool "Little endian" 1240*4882a593Smuzhiyun depends on SYS_SUPPORTS_LITTLE_ENDIAN 1241*4882a593Smuzhiyun 1242*4882a593Smuzhiyunendchoice 1243*4882a593Smuzhiyun 1244*4882a593Smuzhiyunconfig EXPORT_UASM 1245*4882a593Smuzhiyun bool 1246*4882a593Smuzhiyun 1247*4882a593Smuzhiyunconfig SYS_SUPPORTS_APM_EMULATION 1248*4882a593Smuzhiyun bool 1249*4882a593Smuzhiyun 1250*4882a593Smuzhiyunconfig SYS_SUPPORTS_BIG_ENDIAN 1251*4882a593Smuzhiyun bool 1252*4882a593Smuzhiyun 1253*4882a593Smuzhiyunconfig SYS_SUPPORTS_LITTLE_ENDIAN 1254*4882a593Smuzhiyun bool 1255*4882a593Smuzhiyun 1256*4882a593Smuzhiyunconfig SYS_SUPPORTS_HUGETLBFS 1257*4882a593Smuzhiyun bool 1258*4882a593Smuzhiyun depends on CPU_SUPPORTS_HUGEPAGES 1259*4882a593Smuzhiyun default y 1260*4882a593Smuzhiyun 1261*4882a593Smuzhiyunconfig MIPS_HUGE_TLB_SUPPORT 1262*4882a593Smuzhiyun def_bool HUGETLB_PAGE || TRANSPARENT_HUGEPAGE 1263*4882a593Smuzhiyun 1264*4882a593Smuzhiyunconfig IRQ_CPU_RM7K 1265*4882a593Smuzhiyun bool 1266*4882a593Smuzhiyun 1267*4882a593Smuzhiyunconfig IRQ_MSP_SLP 1268*4882a593Smuzhiyun bool 1269*4882a593Smuzhiyun 1270*4882a593Smuzhiyunconfig IRQ_MSP_CIC 1271*4882a593Smuzhiyun bool 1272*4882a593Smuzhiyun 1273*4882a593Smuzhiyunconfig IRQ_TXX9 1274*4882a593Smuzhiyun bool 1275*4882a593Smuzhiyun 1276*4882a593Smuzhiyunconfig IRQ_GT641XX 1277*4882a593Smuzhiyun bool 1278*4882a593Smuzhiyun 1279*4882a593Smuzhiyunconfig PCI_GT64XXX_PCI0 1280*4882a593Smuzhiyun bool 1281*4882a593Smuzhiyun 1282*4882a593Smuzhiyunconfig PCI_XTALK_BRIDGE 1283*4882a593Smuzhiyun bool 1284*4882a593Smuzhiyun 1285*4882a593Smuzhiyunconfig NO_EXCEPT_FILL 1286*4882a593Smuzhiyun bool 1287*4882a593Smuzhiyun 1288*4882a593Smuzhiyunconfig MIPS_SPRAM 1289*4882a593Smuzhiyun bool 1290*4882a593Smuzhiyun 1291*4882a593Smuzhiyunconfig SWAP_IO_SPACE 1292*4882a593Smuzhiyun bool 1293*4882a593Smuzhiyun 1294*4882a593Smuzhiyunconfig SGI_HAS_INDYDOG 1295*4882a593Smuzhiyun bool 1296*4882a593Smuzhiyun 1297*4882a593Smuzhiyunconfig SGI_HAS_HAL2 1298*4882a593Smuzhiyun bool 1299*4882a593Smuzhiyun 1300*4882a593Smuzhiyunconfig SGI_HAS_SEEQ 1301*4882a593Smuzhiyun bool 1302*4882a593Smuzhiyun 1303*4882a593Smuzhiyunconfig SGI_HAS_WD93 1304*4882a593Smuzhiyun bool 1305*4882a593Smuzhiyun 1306*4882a593Smuzhiyunconfig SGI_HAS_ZILOG 1307*4882a593Smuzhiyun bool 1308*4882a593Smuzhiyun 1309*4882a593Smuzhiyunconfig SGI_HAS_I8042 1310*4882a593Smuzhiyun bool 1311*4882a593Smuzhiyun 1312*4882a593Smuzhiyunconfig DEFAULT_SGI_PARTITION 1313*4882a593Smuzhiyun bool 1314*4882a593Smuzhiyun 1315*4882a593Smuzhiyunconfig FW_ARC32 1316*4882a593Smuzhiyun bool 1317*4882a593Smuzhiyun 1318*4882a593Smuzhiyunconfig FW_SNIPROM 1319*4882a593Smuzhiyun bool 1320*4882a593Smuzhiyun 1321*4882a593Smuzhiyunconfig BOOT_ELF32 1322*4882a593Smuzhiyun bool 1323*4882a593Smuzhiyun 1324*4882a593Smuzhiyunconfig MIPS_L1_CACHE_SHIFT_4 1325*4882a593Smuzhiyun bool 1326*4882a593Smuzhiyun 1327*4882a593Smuzhiyunconfig MIPS_L1_CACHE_SHIFT_5 1328*4882a593Smuzhiyun bool 1329*4882a593Smuzhiyun 1330*4882a593Smuzhiyunconfig MIPS_L1_CACHE_SHIFT_6 1331*4882a593Smuzhiyun bool 1332*4882a593Smuzhiyun 1333*4882a593Smuzhiyunconfig MIPS_L1_CACHE_SHIFT_7 1334*4882a593Smuzhiyun bool 1335*4882a593Smuzhiyun 1336*4882a593Smuzhiyunconfig MIPS_L1_CACHE_SHIFT 1337*4882a593Smuzhiyun int 1338*4882a593Smuzhiyun default "7" if MIPS_L1_CACHE_SHIFT_7 1339*4882a593Smuzhiyun default "6" if MIPS_L1_CACHE_SHIFT_6 1340*4882a593Smuzhiyun default "5" if MIPS_L1_CACHE_SHIFT_5 1341*4882a593Smuzhiyun default "4" if MIPS_L1_CACHE_SHIFT_4 1342*4882a593Smuzhiyun default "5" 1343*4882a593Smuzhiyun 1344*4882a593Smuzhiyunconfig ARC_CMDLINE_ONLY 1345*4882a593Smuzhiyun bool 1346*4882a593Smuzhiyun 1347*4882a593Smuzhiyunconfig ARC_CONSOLE 1348*4882a593Smuzhiyun bool "ARC console support" 1349*4882a593Smuzhiyun depends on SGI_IP22 || SGI_IP28 || (SNI_RM && CPU_LITTLE_ENDIAN) 1350*4882a593Smuzhiyun 1351*4882a593Smuzhiyunconfig ARC_MEMORY 1352*4882a593Smuzhiyun bool 1353*4882a593Smuzhiyun 1354*4882a593Smuzhiyunconfig ARC_PROMLIB 1355*4882a593Smuzhiyun bool 1356*4882a593Smuzhiyun 1357*4882a593Smuzhiyunconfig FW_ARC64 1358*4882a593Smuzhiyun bool 1359*4882a593Smuzhiyun 1360*4882a593Smuzhiyunconfig BOOT_ELF64 1361*4882a593Smuzhiyun bool 1362*4882a593Smuzhiyun 1363*4882a593Smuzhiyunmenu "CPU selection" 1364*4882a593Smuzhiyun 1365*4882a593Smuzhiyunchoice 1366*4882a593Smuzhiyun prompt "CPU type" 1367*4882a593Smuzhiyun default CPU_R4X00 1368*4882a593Smuzhiyun 1369*4882a593Smuzhiyunconfig CPU_LOONGSON64 1370*4882a593Smuzhiyun bool "Loongson 64-bit CPU" 1371*4882a593Smuzhiyun depends on SYS_HAS_CPU_LOONGSON64 1372*4882a593Smuzhiyun select ARCH_HAS_PHYS_TO_DMA 1373*4882a593Smuzhiyun select CPU_MIPSR2 1374*4882a593Smuzhiyun select CPU_HAS_PREFETCH 1375*4882a593Smuzhiyun select CPU_SUPPORTS_64BIT_KERNEL 1376*4882a593Smuzhiyun select CPU_SUPPORTS_HIGHMEM 1377*4882a593Smuzhiyun select CPU_SUPPORTS_HUGEPAGES 1378*4882a593Smuzhiyun select CPU_SUPPORTS_MSA 1379*4882a593Smuzhiyun select CPU_DIEI_BROKEN if !LOONGSON3_ENHANCEMENT 1380*4882a593Smuzhiyun select CPU_MIPSR2_IRQ_VI 1381*4882a593Smuzhiyun select WEAK_ORDERING 1382*4882a593Smuzhiyun select WEAK_REORDERING_BEYOND_LLSC 1383*4882a593Smuzhiyun select MIPS_ASID_BITS_VARIABLE 1384*4882a593Smuzhiyun select MIPS_PGD_C0_CONTEXT 1385*4882a593Smuzhiyun select MIPS_L1_CACHE_SHIFT_6 1386*4882a593Smuzhiyun select MIPS_FP_SUPPORT 1387*4882a593Smuzhiyun select GPIOLIB 1388*4882a593Smuzhiyun select SWIOTLB 1389*4882a593Smuzhiyun select HAVE_KVM 1390*4882a593Smuzhiyun help 1391*4882a593Smuzhiyun The Loongson GSx64(GS264/GS464/GS464E/GS464V) series of processor 1392*4882a593Smuzhiyun cores implements the MIPS64R2 instruction set with many extensions, 1393*4882a593Smuzhiyun including most 64-bit Loongson-2 (2H, 2K) and Loongson-3 (3A1000, 1394*4882a593Smuzhiyun 3B1000, 3B1500, 3A2000, 3A3000 and 3A4000) processors. However, old 1395*4882a593Smuzhiyun Loongson-2E/2F is not covered here and will be removed in future. 1396*4882a593Smuzhiyun 1397*4882a593Smuzhiyunconfig LOONGSON3_ENHANCEMENT 1398*4882a593Smuzhiyun bool "New Loongson-3 CPU Enhancements" 1399*4882a593Smuzhiyun default n 1400*4882a593Smuzhiyun depends on CPU_LOONGSON64 1401*4882a593Smuzhiyun help 1402*4882a593Smuzhiyun New Loongson-3 cores (since Loongson-3A R2, as opposed to Loongson-3A 1403*4882a593Smuzhiyun R1, Loongson-3B R1 and Loongson-3B R2) has many enhancements, such as 1404*4882a593Smuzhiyun FTLB, L1-VCache, EI/DI/Wait/Prefetch instruction, DSP/DSPr2 ASE, User 1405*4882a593Smuzhiyun Local register, Read-Inhibit/Execute-Inhibit, SFB (Store Fill Buffer), 1406*4882a593Smuzhiyun Fast TLB refill support, etc. 1407*4882a593Smuzhiyun 1408*4882a593Smuzhiyun This option enable those enhancements which are not probed at run 1409*4882a593Smuzhiyun time. If you want a generic kernel to run on all Loongson 3 machines, 1410*4882a593Smuzhiyun please say 'N' here. If you want a high-performance kernel to run on 1411*4882a593Smuzhiyun new Loongson-3 machines only, please say 'Y' here. 1412*4882a593Smuzhiyun 1413*4882a593Smuzhiyunconfig CPU_LOONGSON3_WORKAROUNDS 1414*4882a593Smuzhiyun bool "Old Loongson-3 LLSC Workarounds" 1415*4882a593Smuzhiyun default y if SMP 1416*4882a593Smuzhiyun depends on CPU_LOONGSON64 1417*4882a593Smuzhiyun help 1418*4882a593Smuzhiyun Loongson-3 processors have the llsc issues which require workarounds. 1419*4882a593Smuzhiyun Without workarounds the system may hang unexpectedly. 1420*4882a593Smuzhiyun 1421*4882a593Smuzhiyun Newer Loongson-3 will fix these issues and no workarounds are needed. 1422*4882a593Smuzhiyun The workarounds have no significant side effect on them but may 1423*4882a593Smuzhiyun decrease the performance of the system so this option should be 1424*4882a593Smuzhiyun disabled unless the kernel is intended to be run on old systems. 1425*4882a593Smuzhiyun 1426*4882a593Smuzhiyun If unsure, please say Y. 1427*4882a593Smuzhiyun 1428*4882a593Smuzhiyunconfig CPU_LOONGSON3_CPUCFG_EMULATION 1429*4882a593Smuzhiyun bool "Emulate the CPUCFG instruction on older Loongson cores" 1430*4882a593Smuzhiyun default y 1431*4882a593Smuzhiyun depends on CPU_LOONGSON64 1432*4882a593Smuzhiyun help 1433*4882a593Smuzhiyun Loongson-3A R4 and newer have the CPUCFG instruction available for 1434*4882a593Smuzhiyun userland to query CPU capabilities, much like CPUID on x86. This 1435*4882a593Smuzhiyun option provides emulation of the instruction on older Loongson 1436*4882a593Smuzhiyun cores, back to Loongson-3A1000. 1437*4882a593Smuzhiyun 1438*4882a593Smuzhiyun If unsure, please say Y. 1439*4882a593Smuzhiyun 1440*4882a593Smuzhiyunconfig CPU_LOONGSON2E 1441*4882a593Smuzhiyun bool "Loongson 2E" 1442*4882a593Smuzhiyun depends on SYS_HAS_CPU_LOONGSON2E 1443*4882a593Smuzhiyun select CPU_LOONGSON2EF 1444*4882a593Smuzhiyun help 1445*4882a593Smuzhiyun The Loongson 2E processor implements the MIPS III instruction set 1446*4882a593Smuzhiyun with many extensions. 1447*4882a593Smuzhiyun 1448*4882a593Smuzhiyun It has an internal FPGA northbridge, which is compatible to 1449*4882a593Smuzhiyun bonito64. 1450*4882a593Smuzhiyun 1451*4882a593Smuzhiyunconfig CPU_LOONGSON2F 1452*4882a593Smuzhiyun bool "Loongson 2F" 1453*4882a593Smuzhiyun depends on SYS_HAS_CPU_LOONGSON2F 1454*4882a593Smuzhiyun select CPU_LOONGSON2EF 1455*4882a593Smuzhiyun select GPIOLIB 1456*4882a593Smuzhiyun help 1457*4882a593Smuzhiyun The Loongson 2F processor implements the MIPS III instruction set 1458*4882a593Smuzhiyun with many extensions. 1459*4882a593Smuzhiyun 1460*4882a593Smuzhiyun Loongson2F have built-in DDR2 and PCIX controller. The PCIX controller 1461*4882a593Smuzhiyun have a similar programming interface with FPGA northbridge used in 1462*4882a593Smuzhiyun Loongson2E. 1463*4882a593Smuzhiyun 1464*4882a593Smuzhiyunconfig CPU_LOONGSON1B 1465*4882a593Smuzhiyun bool "Loongson 1B" 1466*4882a593Smuzhiyun depends on SYS_HAS_CPU_LOONGSON1B 1467*4882a593Smuzhiyun select CPU_LOONGSON32 1468*4882a593Smuzhiyun select LEDS_GPIO_REGISTER 1469*4882a593Smuzhiyun help 1470*4882a593Smuzhiyun The Loongson 1B is a 32-bit SoC, which implements the MIPS32 1471*4882a593Smuzhiyun Release 1 instruction set and part of the MIPS32 Release 2 1472*4882a593Smuzhiyun instruction set. 1473*4882a593Smuzhiyun 1474*4882a593Smuzhiyunconfig CPU_LOONGSON1C 1475*4882a593Smuzhiyun bool "Loongson 1C" 1476*4882a593Smuzhiyun depends on SYS_HAS_CPU_LOONGSON1C 1477*4882a593Smuzhiyun select CPU_LOONGSON32 1478*4882a593Smuzhiyun select LEDS_GPIO_REGISTER 1479*4882a593Smuzhiyun help 1480*4882a593Smuzhiyun The Loongson 1C is a 32-bit SoC, which implements the MIPS32 1481*4882a593Smuzhiyun Release 1 instruction set and part of the MIPS32 Release 2 1482*4882a593Smuzhiyun instruction set. 1483*4882a593Smuzhiyun 1484*4882a593Smuzhiyunconfig CPU_MIPS32_R1 1485*4882a593Smuzhiyun bool "MIPS32 Release 1" 1486*4882a593Smuzhiyun depends on SYS_HAS_CPU_MIPS32_R1 1487*4882a593Smuzhiyun select CPU_HAS_PREFETCH 1488*4882a593Smuzhiyun select CPU_SUPPORTS_32BIT_KERNEL 1489*4882a593Smuzhiyun select CPU_SUPPORTS_HIGHMEM 1490*4882a593Smuzhiyun help 1491*4882a593Smuzhiyun Choose this option to build a kernel for release 1 or later of the 1492*4882a593Smuzhiyun MIPS32 architecture. Most modern embedded systems with a 32-bit 1493*4882a593Smuzhiyun MIPS processor are based on a MIPS32 processor. If you know the 1494*4882a593Smuzhiyun specific type of processor in your system, choose those that one 1495*4882a593Smuzhiyun otherwise CPU_MIPS32_R1 is a safe bet for any MIPS32 system. 1496*4882a593Smuzhiyun Release 2 of the MIPS32 architecture is available since several 1497*4882a593Smuzhiyun years so chances are you even have a MIPS32 Release 2 processor 1498*4882a593Smuzhiyun in which case you should choose CPU_MIPS32_R2 instead for better 1499*4882a593Smuzhiyun performance. 1500*4882a593Smuzhiyun 1501*4882a593Smuzhiyunconfig CPU_MIPS32_R2 1502*4882a593Smuzhiyun bool "MIPS32 Release 2" 1503*4882a593Smuzhiyun depends on SYS_HAS_CPU_MIPS32_R2 1504*4882a593Smuzhiyun select CPU_HAS_PREFETCH 1505*4882a593Smuzhiyun select CPU_SUPPORTS_32BIT_KERNEL 1506*4882a593Smuzhiyun select CPU_SUPPORTS_HIGHMEM 1507*4882a593Smuzhiyun select CPU_SUPPORTS_MSA 1508*4882a593Smuzhiyun select HAVE_KVM 1509*4882a593Smuzhiyun help 1510*4882a593Smuzhiyun Choose this option to build a kernel for release 2 or later of the 1511*4882a593Smuzhiyun MIPS32 architecture. Most modern embedded systems with a 32-bit 1512*4882a593Smuzhiyun MIPS processor are based on a MIPS32 processor. If you know the 1513*4882a593Smuzhiyun specific type of processor in your system, choose those that one 1514*4882a593Smuzhiyun otherwise CPU_MIPS32_R1 is a safe bet for any MIPS32 system. 1515*4882a593Smuzhiyun 1516*4882a593Smuzhiyunconfig CPU_MIPS32_R5 1517*4882a593Smuzhiyun bool "MIPS32 Release 5" 1518*4882a593Smuzhiyun depends on SYS_HAS_CPU_MIPS32_R5 1519*4882a593Smuzhiyun select CPU_HAS_PREFETCH 1520*4882a593Smuzhiyun select CPU_SUPPORTS_32BIT_KERNEL 1521*4882a593Smuzhiyun select CPU_SUPPORTS_HIGHMEM 1522*4882a593Smuzhiyun select CPU_SUPPORTS_MSA 1523*4882a593Smuzhiyun select HAVE_KVM 1524*4882a593Smuzhiyun select MIPS_O32_FP64_SUPPORT 1525*4882a593Smuzhiyun help 1526*4882a593Smuzhiyun Choose this option to build a kernel for release 5 or later of the 1527*4882a593Smuzhiyun MIPS32 architecture. New MIPS processors, starting with the Warrior 1528*4882a593Smuzhiyun family, are based on a MIPS32r5 processor. If you own an older 1529*4882a593Smuzhiyun processor, you probably need to select MIPS32r1 or MIPS32r2 instead. 1530*4882a593Smuzhiyun 1531*4882a593Smuzhiyunconfig CPU_MIPS32_R6 1532*4882a593Smuzhiyun bool "MIPS32 Release 6" 1533*4882a593Smuzhiyun depends on SYS_HAS_CPU_MIPS32_R6 1534*4882a593Smuzhiyun select CPU_HAS_PREFETCH 1535*4882a593Smuzhiyun select CPU_NO_LOAD_STORE_LR 1536*4882a593Smuzhiyun select CPU_SUPPORTS_32BIT_KERNEL 1537*4882a593Smuzhiyun select CPU_SUPPORTS_HIGHMEM 1538*4882a593Smuzhiyun select CPU_SUPPORTS_MSA 1539*4882a593Smuzhiyun select HAVE_KVM 1540*4882a593Smuzhiyun select MIPS_O32_FP64_SUPPORT 1541*4882a593Smuzhiyun help 1542*4882a593Smuzhiyun Choose this option to build a kernel for release 6 or later of the 1543*4882a593Smuzhiyun MIPS32 architecture. New MIPS processors, starting with the Warrior 1544*4882a593Smuzhiyun family, are based on a MIPS32r6 processor. If you own an older 1545*4882a593Smuzhiyun processor, you probably need to select MIPS32r1 or MIPS32r2 instead. 1546*4882a593Smuzhiyun 1547*4882a593Smuzhiyunconfig CPU_MIPS64_R1 1548*4882a593Smuzhiyun bool "MIPS64 Release 1" 1549*4882a593Smuzhiyun depends on SYS_HAS_CPU_MIPS64_R1 1550*4882a593Smuzhiyun select CPU_HAS_PREFETCH 1551*4882a593Smuzhiyun select CPU_SUPPORTS_32BIT_KERNEL 1552*4882a593Smuzhiyun select CPU_SUPPORTS_64BIT_KERNEL 1553*4882a593Smuzhiyun select CPU_SUPPORTS_HIGHMEM 1554*4882a593Smuzhiyun select CPU_SUPPORTS_HUGEPAGES 1555*4882a593Smuzhiyun help 1556*4882a593Smuzhiyun Choose this option to build a kernel for release 1 or later of the 1557*4882a593Smuzhiyun MIPS64 architecture. Many modern embedded systems with a 64-bit 1558*4882a593Smuzhiyun MIPS processor are based on a MIPS64 processor. If you know the 1559*4882a593Smuzhiyun specific type of processor in your system, choose those that one 1560*4882a593Smuzhiyun otherwise CPU_MIPS64_R1 is a safe bet for any MIPS64 system. 1561*4882a593Smuzhiyun Release 2 of the MIPS64 architecture is available since several 1562*4882a593Smuzhiyun years so chances are you even have a MIPS64 Release 2 processor 1563*4882a593Smuzhiyun in which case you should choose CPU_MIPS64_R2 instead for better 1564*4882a593Smuzhiyun performance. 1565*4882a593Smuzhiyun 1566*4882a593Smuzhiyunconfig CPU_MIPS64_R2 1567*4882a593Smuzhiyun bool "MIPS64 Release 2" 1568*4882a593Smuzhiyun depends on SYS_HAS_CPU_MIPS64_R2 1569*4882a593Smuzhiyun select CPU_HAS_PREFETCH 1570*4882a593Smuzhiyun select CPU_SUPPORTS_32BIT_KERNEL 1571*4882a593Smuzhiyun select CPU_SUPPORTS_64BIT_KERNEL 1572*4882a593Smuzhiyun select CPU_SUPPORTS_HIGHMEM 1573*4882a593Smuzhiyun select CPU_SUPPORTS_HUGEPAGES 1574*4882a593Smuzhiyun select CPU_SUPPORTS_MSA 1575*4882a593Smuzhiyun select HAVE_KVM 1576*4882a593Smuzhiyun help 1577*4882a593Smuzhiyun Choose this option to build a kernel for release 2 or later of the 1578*4882a593Smuzhiyun MIPS64 architecture. Many modern embedded systems with a 64-bit 1579*4882a593Smuzhiyun MIPS processor are based on a MIPS64 processor. If you know the 1580*4882a593Smuzhiyun specific type of processor in your system, choose those that one 1581*4882a593Smuzhiyun otherwise CPU_MIPS64_R1 is a safe bet for any MIPS64 system. 1582*4882a593Smuzhiyun 1583*4882a593Smuzhiyunconfig CPU_MIPS64_R5 1584*4882a593Smuzhiyun bool "MIPS64 Release 5" 1585*4882a593Smuzhiyun depends on SYS_HAS_CPU_MIPS64_R5 1586*4882a593Smuzhiyun select CPU_HAS_PREFETCH 1587*4882a593Smuzhiyun select CPU_SUPPORTS_32BIT_KERNEL 1588*4882a593Smuzhiyun select CPU_SUPPORTS_64BIT_KERNEL 1589*4882a593Smuzhiyun select CPU_SUPPORTS_HIGHMEM 1590*4882a593Smuzhiyun select CPU_SUPPORTS_HUGEPAGES 1591*4882a593Smuzhiyun select CPU_SUPPORTS_MSA 1592*4882a593Smuzhiyun select MIPS_O32_FP64_SUPPORT if 32BIT || MIPS32_O32 1593*4882a593Smuzhiyun select HAVE_KVM 1594*4882a593Smuzhiyun help 1595*4882a593Smuzhiyun Choose this option to build a kernel for release 5 or later of the 1596*4882a593Smuzhiyun MIPS64 architecture. This is a intermediate MIPS architecture 1597*4882a593Smuzhiyun release partly implementing release 6 features. Though there is no 1598*4882a593Smuzhiyun any hardware known to be based on this release. 1599*4882a593Smuzhiyun 1600*4882a593Smuzhiyunconfig CPU_MIPS64_R6 1601*4882a593Smuzhiyun bool "MIPS64 Release 6" 1602*4882a593Smuzhiyun depends on SYS_HAS_CPU_MIPS64_R6 1603*4882a593Smuzhiyun select CPU_HAS_PREFETCH 1604*4882a593Smuzhiyun select CPU_NO_LOAD_STORE_LR 1605*4882a593Smuzhiyun select CPU_SUPPORTS_32BIT_KERNEL 1606*4882a593Smuzhiyun select CPU_SUPPORTS_64BIT_KERNEL 1607*4882a593Smuzhiyun select CPU_SUPPORTS_HIGHMEM 1608*4882a593Smuzhiyun select CPU_SUPPORTS_HUGEPAGES 1609*4882a593Smuzhiyun select CPU_SUPPORTS_MSA 1610*4882a593Smuzhiyun select MIPS_O32_FP64_SUPPORT if 32BIT || MIPS32_O32 1611*4882a593Smuzhiyun select HAVE_KVM 1612*4882a593Smuzhiyun help 1613*4882a593Smuzhiyun Choose this option to build a kernel for release 6 or later of the 1614*4882a593Smuzhiyun MIPS64 architecture. New MIPS processors, starting with the Warrior 1615*4882a593Smuzhiyun family, are based on a MIPS64r6 processor. If you own an older 1616*4882a593Smuzhiyun processor, you probably need to select MIPS64r1 or MIPS64r2 instead. 1617*4882a593Smuzhiyun 1618*4882a593Smuzhiyunconfig CPU_P5600 1619*4882a593Smuzhiyun bool "MIPS Warrior P5600" 1620*4882a593Smuzhiyun depends on SYS_HAS_CPU_P5600 1621*4882a593Smuzhiyun select CPU_HAS_PREFETCH 1622*4882a593Smuzhiyun select CPU_SUPPORTS_32BIT_KERNEL 1623*4882a593Smuzhiyun select CPU_SUPPORTS_HIGHMEM 1624*4882a593Smuzhiyun select CPU_SUPPORTS_MSA 1625*4882a593Smuzhiyun select CPU_SUPPORTS_CPUFREQ 1626*4882a593Smuzhiyun select CPU_MIPSR2_IRQ_VI 1627*4882a593Smuzhiyun select CPU_MIPSR2_IRQ_EI 1628*4882a593Smuzhiyun select HAVE_KVM 1629*4882a593Smuzhiyun select MIPS_O32_FP64_SUPPORT 1630*4882a593Smuzhiyun help 1631*4882a593Smuzhiyun Choose this option to build a kernel for MIPS Warrior P5600 CPU. 1632*4882a593Smuzhiyun It's based on MIPS32r5 ISA with XPA, EVA, dual/quad issue exec pipes, 1633*4882a593Smuzhiyun MMU with two-levels TLB, UCA, MSA, MDU core level features and system 1634*4882a593Smuzhiyun level features like up to six P5600 calculation cores, CM2 with L2 1635*4882a593Smuzhiyun cache, IOCU/IOMMU (though might be unused depending on the system- 1636*4882a593Smuzhiyun specific IP core configuration), GIC, CPC, virtualisation module, 1637*4882a593Smuzhiyun eJTAG and PDtrace. 1638*4882a593Smuzhiyun 1639*4882a593Smuzhiyunconfig CPU_R3000 1640*4882a593Smuzhiyun bool "R3000" 1641*4882a593Smuzhiyun depends on SYS_HAS_CPU_R3000 1642*4882a593Smuzhiyun select CPU_HAS_WB 1643*4882a593Smuzhiyun select CPU_R3K_TLB 1644*4882a593Smuzhiyun select CPU_SUPPORTS_32BIT_KERNEL 1645*4882a593Smuzhiyun select CPU_SUPPORTS_HIGHMEM 1646*4882a593Smuzhiyun help 1647*4882a593Smuzhiyun Please make sure to pick the right CPU type. Linux/MIPS is not 1648*4882a593Smuzhiyun designed to be generic, i.e. Kernels compiled for R3000 CPUs will 1649*4882a593Smuzhiyun *not* work on R4000 machines and vice versa. However, since most 1650*4882a593Smuzhiyun of the supported machines have an R4000 (or similar) CPU, R4x00 1651*4882a593Smuzhiyun might be a safe bet. If the resulting kernel does not work, 1652*4882a593Smuzhiyun try to recompile with R3000. 1653*4882a593Smuzhiyun 1654*4882a593Smuzhiyunconfig CPU_TX39XX 1655*4882a593Smuzhiyun bool "R39XX" 1656*4882a593Smuzhiyun depends on SYS_HAS_CPU_TX39XX 1657*4882a593Smuzhiyun select CPU_SUPPORTS_32BIT_KERNEL 1658*4882a593Smuzhiyun select CPU_R3K_TLB 1659*4882a593Smuzhiyun 1660*4882a593Smuzhiyunconfig CPU_VR41XX 1661*4882a593Smuzhiyun bool "R41xx" 1662*4882a593Smuzhiyun depends on SYS_HAS_CPU_VR41XX 1663*4882a593Smuzhiyun select CPU_SUPPORTS_32BIT_KERNEL 1664*4882a593Smuzhiyun select CPU_SUPPORTS_64BIT_KERNEL 1665*4882a593Smuzhiyun help 1666*4882a593Smuzhiyun The options selects support for the NEC VR4100 series of processors. 1667*4882a593Smuzhiyun Only choose this option if you have one of these processors as a 1668*4882a593Smuzhiyun kernel built with this option will not run on any other type of 1669*4882a593Smuzhiyun processor or vice versa. 1670*4882a593Smuzhiyun 1671*4882a593Smuzhiyunconfig CPU_R4X00 1672*4882a593Smuzhiyun bool "R4x00" 1673*4882a593Smuzhiyun depends on SYS_HAS_CPU_R4X00 1674*4882a593Smuzhiyun select CPU_SUPPORTS_32BIT_KERNEL 1675*4882a593Smuzhiyun select CPU_SUPPORTS_64BIT_KERNEL 1676*4882a593Smuzhiyun select CPU_SUPPORTS_HUGEPAGES 1677*4882a593Smuzhiyun help 1678*4882a593Smuzhiyun MIPS Technologies R4000-series processors other than 4300, including 1679*4882a593Smuzhiyun the R4000, R4400, R4600, and 4700. 1680*4882a593Smuzhiyun 1681*4882a593Smuzhiyunconfig CPU_TX49XX 1682*4882a593Smuzhiyun bool "R49XX" 1683*4882a593Smuzhiyun depends on SYS_HAS_CPU_TX49XX 1684*4882a593Smuzhiyun select CPU_HAS_PREFETCH 1685*4882a593Smuzhiyun select CPU_SUPPORTS_32BIT_KERNEL 1686*4882a593Smuzhiyun select CPU_SUPPORTS_64BIT_KERNEL 1687*4882a593Smuzhiyun select CPU_SUPPORTS_HUGEPAGES 1688*4882a593Smuzhiyun 1689*4882a593Smuzhiyunconfig CPU_R5000 1690*4882a593Smuzhiyun bool "R5000" 1691*4882a593Smuzhiyun depends on SYS_HAS_CPU_R5000 1692*4882a593Smuzhiyun select CPU_SUPPORTS_32BIT_KERNEL 1693*4882a593Smuzhiyun select CPU_SUPPORTS_64BIT_KERNEL 1694*4882a593Smuzhiyun select CPU_SUPPORTS_HUGEPAGES 1695*4882a593Smuzhiyun help 1696*4882a593Smuzhiyun MIPS Technologies R5000-series processors other than the Nevada. 1697*4882a593Smuzhiyun 1698*4882a593Smuzhiyunconfig CPU_R5500 1699*4882a593Smuzhiyun bool "R5500" 1700*4882a593Smuzhiyun depends on SYS_HAS_CPU_R5500 1701*4882a593Smuzhiyun select CPU_SUPPORTS_32BIT_KERNEL 1702*4882a593Smuzhiyun select CPU_SUPPORTS_64BIT_KERNEL 1703*4882a593Smuzhiyun select CPU_SUPPORTS_HUGEPAGES 1704*4882a593Smuzhiyun help 1705*4882a593Smuzhiyun NEC VR5500 and VR5500A series processors implement 64-bit MIPS IV 1706*4882a593Smuzhiyun instruction set. 1707*4882a593Smuzhiyun 1708*4882a593Smuzhiyunconfig CPU_NEVADA 1709*4882a593Smuzhiyun bool "RM52xx" 1710*4882a593Smuzhiyun depends on SYS_HAS_CPU_NEVADA 1711*4882a593Smuzhiyun select CPU_SUPPORTS_32BIT_KERNEL 1712*4882a593Smuzhiyun select CPU_SUPPORTS_64BIT_KERNEL 1713*4882a593Smuzhiyun select CPU_SUPPORTS_HUGEPAGES 1714*4882a593Smuzhiyun help 1715*4882a593Smuzhiyun QED / PMC-Sierra RM52xx-series ("Nevada") processors. 1716*4882a593Smuzhiyun 1717*4882a593Smuzhiyunconfig CPU_R10000 1718*4882a593Smuzhiyun bool "R10000" 1719*4882a593Smuzhiyun depends on SYS_HAS_CPU_R10000 1720*4882a593Smuzhiyun select CPU_HAS_PREFETCH 1721*4882a593Smuzhiyun select CPU_SUPPORTS_32BIT_KERNEL 1722*4882a593Smuzhiyun select CPU_SUPPORTS_64BIT_KERNEL 1723*4882a593Smuzhiyun select CPU_SUPPORTS_HIGHMEM 1724*4882a593Smuzhiyun select CPU_SUPPORTS_HUGEPAGES 1725*4882a593Smuzhiyun help 1726*4882a593Smuzhiyun MIPS Technologies R10000-series processors. 1727*4882a593Smuzhiyun 1728*4882a593Smuzhiyunconfig CPU_RM7000 1729*4882a593Smuzhiyun bool "RM7000" 1730*4882a593Smuzhiyun depends on SYS_HAS_CPU_RM7000 1731*4882a593Smuzhiyun select CPU_HAS_PREFETCH 1732*4882a593Smuzhiyun select CPU_SUPPORTS_32BIT_KERNEL 1733*4882a593Smuzhiyun select CPU_SUPPORTS_64BIT_KERNEL 1734*4882a593Smuzhiyun select CPU_SUPPORTS_HIGHMEM 1735*4882a593Smuzhiyun select CPU_SUPPORTS_HUGEPAGES 1736*4882a593Smuzhiyun 1737*4882a593Smuzhiyunconfig CPU_SB1 1738*4882a593Smuzhiyun bool "SB1" 1739*4882a593Smuzhiyun depends on SYS_HAS_CPU_SB1 1740*4882a593Smuzhiyun select CPU_SUPPORTS_32BIT_KERNEL 1741*4882a593Smuzhiyun select CPU_SUPPORTS_64BIT_KERNEL 1742*4882a593Smuzhiyun select CPU_SUPPORTS_HIGHMEM 1743*4882a593Smuzhiyun select CPU_SUPPORTS_HUGEPAGES 1744*4882a593Smuzhiyun select WEAK_ORDERING 1745*4882a593Smuzhiyun 1746*4882a593Smuzhiyunconfig CPU_CAVIUM_OCTEON 1747*4882a593Smuzhiyun bool "Cavium Octeon processor" 1748*4882a593Smuzhiyun depends on SYS_HAS_CPU_CAVIUM_OCTEON 1749*4882a593Smuzhiyun select CPU_HAS_PREFETCH 1750*4882a593Smuzhiyun select CPU_SUPPORTS_64BIT_KERNEL 1751*4882a593Smuzhiyun select WEAK_ORDERING 1752*4882a593Smuzhiyun select CPU_SUPPORTS_HIGHMEM 1753*4882a593Smuzhiyun select CPU_SUPPORTS_HUGEPAGES 1754*4882a593Smuzhiyun select USB_EHCI_BIG_ENDIAN_MMIO if CPU_BIG_ENDIAN 1755*4882a593Smuzhiyun select USB_OHCI_BIG_ENDIAN_MMIO if CPU_BIG_ENDIAN 1756*4882a593Smuzhiyun select MIPS_L1_CACHE_SHIFT_7 1757*4882a593Smuzhiyun select HAVE_KVM 1758*4882a593Smuzhiyun help 1759*4882a593Smuzhiyun The Cavium Octeon processor is a highly integrated chip containing 1760*4882a593Smuzhiyun many ethernet hardware widgets for networking tasks. The processor 1761*4882a593Smuzhiyun can have up to 16 Mips64v2 cores and 8 integrated gigabit ethernets. 1762*4882a593Smuzhiyun Full details can be found at http://www.caviumnetworks.com. 1763*4882a593Smuzhiyun 1764*4882a593Smuzhiyunconfig CPU_BMIPS 1765*4882a593Smuzhiyun bool "Broadcom BMIPS" 1766*4882a593Smuzhiyun depends on SYS_HAS_CPU_BMIPS 1767*4882a593Smuzhiyun select CPU_MIPS32 1768*4882a593Smuzhiyun select CPU_BMIPS32_3300 if SYS_HAS_CPU_BMIPS32_3300 1769*4882a593Smuzhiyun select CPU_BMIPS4350 if SYS_HAS_CPU_BMIPS4350 1770*4882a593Smuzhiyun select CPU_BMIPS4380 if SYS_HAS_CPU_BMIPS4380 1771*4882a593Smuzhiyun select CPU_BMIPS5000 if SYS_HAS_CPU_BMIPS5000 1772*4882a593Smuzhiyun select CPU_SUPPORTS_32BIT_KERNEL 1773*4882a593Smuzhiyun select DMA_NONCOHERENT 1774*4882a593Smuzhiyun select IRQ_MIPS_CPU 1775*4882a593Smuzhiyun select SWAP_IO_SPACE 1776*4882a593Smuzhiyun select WEAK_ORDERING 1777*4882a593Smuzhiyun select CPU_SUPPORTS_HIGHMEM 1778*4882a593Smuzhiyun select CPU_HAS_PREFETCH 1779*4882a593Smuzhiyun select CPU_SUPPORTS_CPUFREQ 1780*4882a593Smuzhiyun select MIPS_EXTERNAL_TIMER 1781*4882a593Smuzhiyun help 1782*4882a593Smuzhiyun Support for BMIPS32/3300/4350/4380 and BMIPS5000 processors. 1783*4882a593Smuzhiyun 1784*4882a593Smuzhiyunconfig CPU_XLR 1785*4882a593Smuzhiyun bool "Netlogic XLR SoC" 1786*4882a593Smuzhiyun depends on SYS_HAS_CPU_XLR 1787*4882a593Smuzhiyun select CPU_SUPPORTS_32BIT_KERNEL 1788*4882a593Smuzhiyun select CPU_SUPPORTS_64BIT_KERNEL 1789*4882a593Smuzhiyun select CPU_SUPPORTS_HIGHMEM 1790*4882a593Smuzhiyun select CPU_SUPPORTS_HUGEPAGES 1791*4882a593Smuzhiyun select WEAK_ORDERING 1792*4882a593Smuzhiyun select WEAK_REORDERING_BEYOND_LLSC 1793*4882a593Smuzhiyun help 1794*4882a593Smuzhiyun Netlogic Microsystems XLR/XLS processors. 1795*4882a593Smuzhiyun 1796*4882a593Smuzhiyunconfig CPU_XLP 1797*4882a593Smuzhiyun bool "Netlogic XLP SoC" 1798*4882a593Smuzhiyun depends on SYS_HAS_CPU_XLP 1799*4882a593Smuzhiyun select CPU_SUPPORTS_32BIT_KERNEL 1800*4882a593Smuzhiyun select CPU_SUPPORTS_64BIT_KERNEL 1801*4882a593Smuzhiyun select CPU_SUPPORTS_HIGHMEM 1802*4882a593Smuzhiyun select WEAK_ORDERING 1803*4882a593Smuzhiyun select WEAK_REORDERING_BEYOND_LLSC 1804*4882a593Smuzhiyun select CPU_HAS_PREFETCH 1805*4882a593Smuzhiyun select CPU_MIPSR2 1806*4882a593Smuzhiyun select CPU_SUPPORTS_HUGEPAGES 1807*4882a593Smuzhiyun select MIPS_ASID_BITS_VARIABLE 1808*4882a593Smuzhiyun help 1809*4882a593Smuzhiyun Netlogic Microsystems XLP processors. 1810*4882a593Smuzhiyunendchoice 1811*4882a593Smuzhiyun 1812*4882a593Smuzhiyunconfig CPU_MIPS32_3_5_FEATURES 1813*4882a593Smuzhiyun bool "MIPS32 Release 3.5 Features" 1814*4882a593Smuzhiyun depends on SYS_HAS_CPU_MIPS32_R3_5 1815*4882a593Smuzhiyun depends on CPU_MIPS32_R2 || CPU_MIPS32_R5 || CPU_MIPS32_R6 || \ 1816*4882a593Smuzhiyun CPU_P5600 1817*4882a593Smuzhiyun help 1818*4882a593Smuzhiyun Choose this option to build a kernel for release 2 or later of the 1819*4882a593Smuzhiyun MIPS32 architecture including features from the 3.5 release such as 1820*4882a593Smuzhiyun support for Enhanced Virtual Addressing (EVA). 1821*4882a593Smuzhiyun 1822*4882a593Smuzhiyunconfig CPU_MIPS32_3_5_EVA 1823*4882a593Smuzhiyun bool "Enhanced Virtual Addressing (EVA)" 1824*4882a593Smuzhiyun depends on CPU_MIPS32_3_5_FEATURES 1825*4882a593Smuzhiyun select EVA 1826*4882a593Smuzhiyun default y 1827*4882a593Smuzhiyun help 1828*4882a593Smuzhiyun Choose this option if you want to enable the Enhanced Virtual 1829*4882a593Smuzhiyun Addressing (EVA) on your MIPS32 core (such as proAptiv). 1830*4882a593Smuzhiyun One of its primary benefits is an increase in the maximum size 1831*4882a593Smuzhiyun of lowmem (up to 3GB). If unsure, say 'N' here. 1832*4882a593Smuzhiyun 1833*4882a593Smuzhiyunconfig CPU_MIPS32_R5_FEATURES 1834*4882a593Smuzhiyun bool "MIPS32 Release 5 Features" 1835*4882a593Smuzhiyun depends on SYS_HAS_CPU_MIPS32_R5 1836*4882a593Smuzhiyun depends on CPU_MIPS32_R2 || CPU_MIPS32_R5 || CPU_P5600 1837*4882a593Smuzhiyun help 1838*4882a593Smuzhiyun Choose this option to build a kernel for release 2 or later of the 1839*4882a593Smuzhiyun MIPS32 architecture including features from release 5 such as 1840*4882a593Smuzhiyun support for Extended Physical Addressing (XPA). 1841*4882a593Smuzhiyun 1842*4882a593Smuzhiyunconfig CPU_MIPS32_R5_XPA 1843*4882a593Smuzhiyun bool "Extended Physical Addressing (XPA)" 1844*4882a593Smuzhiyun depends on CPU_MIPS32_R5_FEATURES 1845*4882a593Smuzhiyun depends on !EVA 1846*4882a593Smuzhiyun depends on !PAGE_SIZE_4KB 1847*4882a593Smuzhiyun depends on SYS_SUPPORTS_HIGHMEM 1848*4882a593Smuzhiyun select XPA 1849*4882a593Smuzhiyun select HIGHMEM 1850*4882a593Smuzhiyun select PHYS_ADDR_T_64BIT 1851*4882a593Smuzhiyun default n 1852*4882a593Smuzhiyun help 1853*4882a593Smuzhiyun Choose this option if you want to enable the Extended Physical 1854*4882a593Smuzhiyun Addressing (XPA) on your MIPS32 core (such as P5600 series). The 1855*4882a593Smuzhiyun benefit is to increase physical addressing equal to or greater 1856*4882a593Smuzhiyun than 40 bits. Note that this has the side effect of turning on 1857*4882a593Smuzhiyun 64-bit addressing which in turn makes the PTEs 64-bit in size. 1858*4882a593Smuzhiyun If unsure, say 'N' here. 1859*4882a593Smuzhiyun 1860*4882a593Smuzhiyunif CPU_LOONGSON2F 1861*4882a593Smuzhiyunconfig CPU_NOP_WORKAROUNDS 1862*4882a593Smuzhiyun bool 1863*4882a593Smuzhiyun 1864*4882a593Smuzhiyunconfig CPU_JUMP_WORKAROUNDS 1865*4882a593Smuzhiyun bool 1866*4882a593Smuzhiyun 1867*4882a593Smuzhiyunconfig CPU_LOONGSON2F_WORKAROUNDS 1868*4882a593Smuzhiyun bool "Loongson 2F Workarounds" 1869*4882a593Smuzhiyun default y 1870*4882a593Smuzhiyun select CPU_NOP_WORKAROUNDS 1871*4882a593Smuzhiyun select CPU_JUMP_WORKAROUNDS 1872*4882a593Smuzhiyun help 1873*4882a593Smuzhiyun Loongson 2F01 / 2F02 processors have the NOP & JUMP issues which 1874*4882a593Smuzhiyun require workarounds. Without workarounds the system may hang 1875*4882a593Smuzhiyun unexpectedly. For more information please refer to the gas 1876*4882a593Smuzhiyun -mfix-loongson2f-nop and -mfix-loongson2f-jump options. 1877*4882a593Smuzhiyun 1878*4882a593Smuzhiyun Loongson 2F03 and later have fixed these issues and no workarounds 1879*4882a593Smuzhiyun are needed. The workarounds have no significant side effect on them 1880*4882a593Smuzhiyun but may decrease the performance of the system so this option should 1881*4882a593Smuzhiyun be disabled unless the kernel is intended to be run on 2F01 or 2F02 1882*4882a593Smuzhiyun systems. 1883*4882a593Smuzhiyun 1884*4882a593Smuzhiyun If unsure, please say Y. 1885*4882a593Smuzhiyunendif # CPU_LOONGSON2F 1886*4882a593Smuzhiyun 1887*4882a593Smuzhiyunconfig SYS_SUPPORTS_ZBOOT 1888*4882a593Smuzhiyun bool 1889*4882a593Smuzhiyun select HAVE_KERNEL_GZIP 1890*4882a593Smuzhiyun select HAVE_KERNEL_BZIP2 1891*4882a593Smuzhiyun select HAVE_KERNEL_LZ4 1892*4882a593Smuzhiyun select HAVE_KERNEL_LZMA 1893*4882a593Smuzhiyun select HAVE_KERNEL_LZO 1894*4882a593Smuzhiyun select HAVE_KERNEL_XZ 1895*4882a593Smuzhiyun select HAVE_KERNEL_ZSTD 1896*4882a593Smuzhiyun 1897*4882a593Smuzhiyunconfig SYS_SUPPORTS_ZBOOT_UART16550 1898*4882a593Smuzhiyun bool 1899*4882a593Smuzhiyun select SYS_SUPPORTS_ZBOOT 1900*4882a593Smuzhiyun 1901*4882a593Smuzhiyunconfig SYS_SUPPORTS_ZBOOT_UART_PROM 1902*4882a593Smuzhiyun bool 1903*4882a593Smuzhiyun select SYS_SUPPORTS_ZBOOT 1904*4882a593Smuzhiyun 1905*4882a593Smuzhiyunconfig CPU_LOONGSON2EF 1906*4882a593Smuzhiyun bool 1907*4882a593Smuzhiyun select CPU_SUPPORTS_32BIT_KERNEL 1908*4882a593Smuzhiyun select CPU_SUPPORTS_64BIT_KERNEL 1909*4882a593Smuzhiyun select CPU_SUPPORTS_HIGHMEM 1910*4882a593Smuzhiyun select CPU_SUPPORTS_HUGEPAGES 1911*4882a593Smuzhiyun select ARCH_HAS_PHYS_TO_DMA 1912*4882a593Smuzhiyun 1913*4882a593Smuzhiyunconfig CPU_LOONGSON32 1914*4882a593Smuzhiyun bool 1915*4882a593Smuzhiyun select CPU_MIPS32 1916*4882a593Smuzhiyun select CPU_MIPSR2 1917*4882a593Smuzhiyun select CPU_HAS_PREFETCH 1918*4882a593Smuzhiyun select CPU_SUPPORTS_32BIT_KERNEL 1919*4882a593Smuzhiyun select CPU_SUPPORTS_HIGHMEM 1920*4882a593Smuzhiyun select CPU_SUPPORTS_CPUFREQ 1921*4882a593Smuzhiyun 1922*4882a593Smuzhiyunconfig CPU_BMIPS32_3300 1923*4882a593Smuzhiyun select SMP_UP if SMP 1924*4882a593Smuzhiyun bool 1925*4882a593Smuzhiyun 1926*4882a593Smuzhiyunconfig CPU_BMIPS4350 1927*4882a593Smuzhiyun bool 1928*4882a593Smuzhiyun select SYS_SUPPORTS_SMP 1929*4882a593Smuzhiyun select SYS_SUPPORTS_HOTPLUG_CPU 1930*4882a593Smuzhiyun 1931*4882a593Smuzhiyunconfig CPU_BMIPS4380 1932*4882a593Smuzhiyun bool 1933*4882a593Smuzhiyun select MIPS_L1_CACHE_SHIFT_6 1934*4882a593Smuzhiyun select SYS_SUPPORTS_SMP 1935*4882a593Smuzhiyun select SYS_SUPPORTS_HOTPLUG_CPU 1936*4882a593Smuzhiyun select CPU_HAS_RIXI 1937*4882a593Smuzhiyun 1938*4882a593Smuzhiyunconfig CPU_BMIPS5000 1939*4882a593Smuzhiyun bool 1940*4882a593Smuzhiyun select MIPS_CPU_SCACHE 1941*4882a593Smuzhiyun select MIPS_L1_CACHE_SHIFT_7 1942*4882a593Smuzhiyun select SYS_SUPPORTS_SMP 1943*4882a593Smuzhiyun select SYS_SUPPORTS_HOTPLUG_CPU 1944*4882a593Smuzhiyun select CPU_HAS_RIXI 1945*4882a593Smuzhiyun 1946*4882a593Smuzhiyunconfig SYS_HAS_CPU_LOONGSON64 1947*4882a593Smuzhiyun bool 1948*4882a593Smuzhiyun select CPU_SUPPORTS_CPUFREQ 1949*4882a593Smuzhiyun select CPU_HAS_RIXI 1950*4882a593Smuzhiyun 1951*4882a593Smuzhiyunconfig SYS_HAS_CPU_LOONGSON2E 1952*4882a593Smuzhiyun bool 1953*4882a593Smuzhiyun 1954*4882a593Smuzhiyunconfig SYS_HAS_CPU_LOONGSON2F 1955*4882a593Smuzhiyun bool 1956*4882a593Smuzhiyun select CPU_SUPPORTS_CPUFREQ 1957*4882a593Smuzhiyun select CPU_SUPPORTS_ADDRWINCFG if 64BIT 1958*4882a593Smuzhiyun 1959*4882a593Smuzhiyunconfig SYS_HAS_CPU_LOONGSON1B 1960*4882a593Smuzhiyun bool 1961*4882a593Smuzhiyun 1962*4882a593Smuzhiyunconfig SYS_HAS_CPU_LOONGSON1C 1963*4882a593Smuzhiyun bool 1964*4882a593Smuzhiyun 1965*4882a593Smuzhiyunconfig SYS_HAS_CPU_MIPS32_R1 1966*4882a593Smuzhiyun bool 1967*4882a593Smuzhiyun 1968*4882a593Smuzhiyunconfig SYS_HAS_CPU_MIPS32_R2 1969*4882a593Smuzhiyun bool 1970*4882a593Smuzhiyun 1971*4882a593Smuzhiyunconfig SYS_HAS_CPU_MIPS32_R3_5 1972*4882a593Smuzhiyun bool 1973*4882a593Smuzhiyun 1974*4882a593Smuzhiyunconfig SYS_HAS_CPU_MIPS32_R5 1975*4882a593Smuzhiyun bool 1976*4882a593Smuzhiyun select ARCH_HAS_SYNC_DMA_FOR_CPU if DMA_NONCOHERENT 1977*4882a593Smuzhiyun 1978*4882a593Smuzhiyunconfig SYS_HAS_CPU_MIPS32_R6 1979*4882a593Smuzhiyun bool 1980*4882a593Smuzhiyun select ARCH_HAS_SYNC_DMA_FOR_CPU if DMA_NONCOHERENT 1981*4882a593Smuzhiyun 1982*4882a593Smuzhiyunconfig SYS_HAS_CPU_MIPS64_R1 1983*4882a593Smuzhiyun bool 1984*4882a593Smuzhiyun 1985*4882a593Smuzhiyunconfig SYS_HAS_CPU_MIPS64_R2 1986*4882a593Smuzhiyun bool 1987*4882a593Smuzhiyun 1988*4882a593Smuzhiyunconfig SYS_HAS_CPU_MIPS64_R5 1989*4882a593Smuzhiyun bool 1990*4882a593Smuzhiyun select ARCH_HAS_SYNC_DMA_FOR_CPU if DMA_NONCOHERENT 1991*4882a593Smuzhiyun 1992*4882a593Smuzhiyunconfig SYS_HAS_CPU_MIPS64_R6 1993*4882a593Smuzhiyun bool 1994*4882a593Smuzhiyun select ARCH_HAS_SYNC_DMA_FOR_CPU if DMA_NONCOHERENT 1995*4882a593Smuzhiyun 1996*4882a593Smuzhiyunconfig SYS_HAS_CPU_P5600 1997*4882a593Smuzhiyun bool 1998*4882a593Smuzhiyun select ARCH_HAS_SYNC_DMA_FOR_CPU if DMA_NONCOHERENT 1999*4882a593Smuzhiyun 2000*4882a593Smuzhiyunconfig SYS_HAS_CPU_R3000 2001*4882a593Smuzhiyun bool 2002*4882a593Smuzhiyun 2003*4882a593Smuzhiyunconfig SYS_HAS_CPU_TX39XX 2004*4882a593Smuzhiyun bool 2005*4882a593Smuzhiyun 2006*4882a593Smuzhiyunconfig SYS_HAS_CPU_VR41XX 2007*4882a593Smuzhiyun bool 2008*4882a593Smuzhiyun 2009*4882a593Smuzhiyunconfig SYS_HAS_CPU_R4X00 2010*4882a593Smuzhiyun bool 2011*4882a593Smuzhiyun 2012*4882a593Smuzhiyunconfig SYS_HAS_CPU_TX49XX 2013*4882a593Smuzhiyun bool 2014*4882a593Smuzhiyun 2015*4882a593Smuzhiyunconfig SYS_HAS_CPU_R5000 2016*4882a593Smuzhiyun bool 2017*4882a593Smuzhiyun 2018*4882a593Smuzhiyunconfig SYS_HAS_CPU_R5500 2019*4882a593Smuzhiyun bool 2020*4882a593Smuzhiyun 2021*4882a593Smuzhiyunconfig SYS_HAS_CPU_NEVADA 2022*4882a593Smuzhiyun bool 2023*4882a593Smuzhiyun 2024*4882a593Smuzhiyunconfig SYS_HAS_CPU_R10000 2025*4882a593Smuzhiyun bool 2026*4882a593Smuzhiyun select ARCH_HAS_SYNC_DMA_FOR_CPU if DMA_NONCOHERENT 2027*4882a593Smuzhiyun 2028*4882a593Smuzhiyunconfig SYS_HAS_CPU_RM7000 2029*4882a593Smuzhiyun bool 2030*4882a593Smuzhiyun 2031*4882a593Smuzhiyunconfig SYS_HAS_CPU_SB1 2032*4882a593Smuzhiyun bool 2033*4882a593Smuzhiyun 2034*4882a593Smuzhiyunconfig SYS_HAS_CPU_CAVIUM_OCTEON 2035*4882a593Smuzhiyun bool 2036*4882a593Smuzhiyun 2037*4882a593Smuzhiyunconfig SYS_HAS_CPU_BMIPS 2038*4882a593Smuzhiyun bool 2039*4882a593Smuzhiyun 2040*4882a593Smuzhiyunconfig SYS_HAS_CPU_BMIPS32_3300 2041*4882a593Smuzhiyun bool 2042*4882a593Smuzhiyun select SYS_HAS_CPU_BMIPS 2043*4882a593Smuzhiyun 2044*4882a593Smuzhiyunconfig SYS_HAS_CPU_BMIPS4350 2045*4882a593Smuzhiyun bool 2046*4882a593Smuzhiyun select SYS_HAS_CPU_BMIPS 2047*4882a593Smuzhiyun 2048*4882a593Smuzhiyunconfig SYS_HAS_CPU_BMIPS4380 2049*4882a593Smuzhiyun bool 2050*4882a593Smuzhiyun select SYS_HAS_CPU_BMIPS 2051*4882a593Smuzhiyun 2052*4882a593Smuzhiyunconfig SYS_HAS_CPU_BMIPS5000 2053*4882a593Smuzhiyun bool 2054*4882a593Smuzhiyun select SYS_HAS_CPU_BMIPS 2055*4882a593Smuzhiyun select ARCH_HAS_SYNC_DMA_FOR_CPU 2056*4882a593Smuzhiyun 2057*4882a593Smuzhiyunconfig SYS_HAS_CPU_XLR 2058*4882a593Smuzhiyun bool 2059*4882a593Smuzhiyun 2060*4882a593Smuzhiyunconfig SYS_HAS_CPU_XLP 2061*4882a593Smuzhiyun bool 2062*4882a593Smuzhiyun 2063*4882a593Smuzhiyun# 2064*4882a593Smuzhiyun# CPU may reorder R->R, R->W, W->R, W->W 2065*4882a593Smuzhiyun# Reordering beyond LL and SC is handled in WEAK_REORDERING_BEYOND_LLSC 2066*4882a593Smuzhiyun# 2067*4882a593Smuzhiyunconfig WEAK_ORDERING 2068*4882a593Smuzhiyun bool 2069*4882a593Smuzhiyun 2070*4882a593Smuzhiyun# 2071*4882a593Smuzhiyun# CPU may reorder reads and writes beyond LL/SC 2072*4882a593Smuzhiyun# CPU may reorder R->LL, R->LL, W->LL, W->LL, R->SC, R->SC, W->SC, W->SC 2073*4882a593Smuzhiyun# 2074*4882a593Smuzhiyunconfig WEAK_REORDERING_BEYOND_LLSC 2075*4882a593Smuzhiyun bool 2076*4882a593Smuzhiyunendmenu 2077*4882a593Smuzhiyun 2078*4882a593Smuzhiyun# 2079*4882a593Smuzhiyun# These two indicate any level of the MIPS32 and MIPS64 architecture 2080*4882a593Smuzhiyun# 2081*4882a593Smuzhiyunconfig CPU_MIPS32 2082*4882a593Smuzhiyun bool 2083*4882a593Smuzhiyun default y if CPU_MIPS32_R1 || CPU_MIPS32_R2 || CPU_MIPS32_R5 || \ 2084*4882a593Smuzhiyun CPU_MIPS32_R6 || CPU_P5600 2085*4882a593Smuzhiyun 2086*4882a593Smuzhiyunconfig CPU_MIPS64 2087*4882a593Smuzhiyun bool 2088*4882a593Smuzhiyun default y if CPU_MIPS64_R1 || CPU_MIPS64_R2 || CPU_MIPS64_R5 || \ 2089*4882a593Smuzhiyun CPU_MIPS64_R6 2090*4882a593Smuzhiyun 2091*4882a593Smuzhiyun# 2092*4882a593Smuzhiyun# These indicate the revision of the architecture 2093*4882a593Smuzhiyun# 2094*4882a593Smuzhiyunconfig CPU_MIPSR1 2095*4882a593Smuzhiyun bool 2096*4882a593Smuzhiyun default y if CPU_MIPS32_R1 || CPU_MIPS64_R1 2097*4882a593Smuzhiyun 2098*4882a593Smuzhiyunconfig CPU_MIPSR2 2099*4882a593Smuzhiyun bool 2100*4882a593Smuzhiyun default y if CPU_MIPS32_R2 || CPU_MIPS64_R2 || CPU_CAVIUM_OCTEON 2101*4882a593Smuzhiyun select CPU_HAS_RIXI 2102*4882a593Smuzhiyun select CPU_HAS_DIEI if !CPU_DIEI_BROKEN 2103*4882a593Smuzhiyun select MIPS_SPRAM 2104*4882a593Smuzhiyun 2105*4882a593Smuzhiyunconfig CPU_MIPSR5 2106*4882a593Smuzhiyun bool 2107*4882a593Smuzhiyun default y if CPU_MIPS32_R5 || CPU_MIPS64_R5 || CPU_P5600 2108*4882a593Smuzhiyun select CPU_HAS_RIXI 2109*4882a593Smuzhiyun select CPU_HAS_DIEI if !CPU_DIEI_BROKEN 2110*4882a593Smuzhiyun select MIPS_SPRAM 2111*4882a593Smuzhiyun 2112*4882a593Smuzhiyunconfig CPU_MIPSR6 2113*4882a593Smuzhiyun bool 2114*4882a593Smuzhiyun default y if CPU_MIPS32_R6 || CPU_MIPS64_R6 2115*4882a593Smuzhiyun select CPU_HAS_RIXI 2116*4882a593Smuzhiyun select CPU_HAS_DIEI if !CPU_DIEI_BROKEN 2117*4882a593Smuzhiyun select HAVE_ARCH_BITREVERSE 2118*4882a593Smuzhiyun select MIPS_ASID_BITS_VARIABLE 2119*4882a593Smuzhiyun select MIPS_CRC_SUPPORT 2120*4882a593Smuzhiyun select MIPS_SPRAM 2121*4882a593Smuzhiyun 2122*4882a593Smuzhiyunconfig TARGET_ISA_REV 2123*4882a593Smuzhiyun int 2124*4882a593Smuzhiyun default 1 if CPU_MIPSR1 2125*4882a593Smuzhiyun default 2 if CPU_MIPSR2 2126*4882a593Smuzhiyun default 5 if CPU_MIPSR5 2127*4882a593Smuzhiyun default 6 if CPU_MIPSR6 2128*4882a593Smuzhiyun default 0 2129*4882a593Smuzhiyun help 2130*4882a593Smuzhiyun Reflects the ISA revision being targeted by the kernel build. This 2131*4882a593Smuzhiyun is effectively the Kconfig equivalent of MIPS_ISA_REV. 2132*4882a593Smuzhiyun 2133*4882a593Smuzhiyunconfig EVA 2134*4882a593Smuzhiyun bool 2135*4882a593Smuzhiyun 2136*4882a593Smuzhiyunconfig XPA 2137*4882a593Smuzhiyun bool 2138*4882a593Smuzhiyun 2139*4882a593Smuzhiyunconfig SYS_SUPPORTS_32BIT_KERNEL 2140*4882a593Smuzhiyun bool 2141*4882a593Smuzhiyunconfig SYS_SUPPORTS_64BIT_KERNEL 2142*4882a593Smuzhiyun bool 2143*4882a593Smuzhiyunconfig CPU_SUPPORTS_32BIT_KERNEL 2144*4882a593Smuzhiyun bool 2145*4882a593Smuzhiyunconfig CPU_SUPPORTS_64BIT_KERNEL 2146*4882a593Smuzhiyun bool 2147*4882a593Smuzhiyunconfig CPU_SUPPORTS_CPUFREQ 2148*4882a593Smuzhiyun bool 2149*4882a593Smuzhiyunconfig CPU_SUPPORTS_ADDRWINCFG 2150*4882a593Smuzhiyun bool 2151*4882a593Smuzhiyunconfig CPU_SUPPORTS_HUGEPAGES 2152*4882a593Smuzhiyun bool 2153*4882a593Smuzhiyun depends on !(32BIT && (PHYS_ADDR_T_64BIT || EVA)) 2154*4882a593Smuzhiyunconfig MIPS_PGD_C0_CONTEXT 2155*4882a593Smuzhiyun bool 2156*4882a593Smuzhiyun default y if 64BIT && (CPU_MIPSR2 || CPU_MIPSR6) && !CPU_XLP 2157*4882a593Smuzhiyun 2158*4882a593Smuzhiyun# 2159*4882a593Smuzhiyun# Set to y for ptrace access to watch registers. 2160*4882a593Smuzhiyun# 2161*4882a593Smuzhiyunconfig HARDWARE_WATCHPOINTS 2162*4882a593Smuzhiyun bool 2163*4882a593Smuzhiyun default y if CPU_MIPSR1 || CPU_MIPSR2 || CPU_MIPSR6 2164*4882a593Smuzhiyun 2165*4882a593Smuzhiyunmenu "Kernel type" 2166*4882a593Smuzhiyun 2167*4882a593Smuzhiyunchoice 2168*4882a593Smuzhiyun prompt "Kernel code model" 2169*4882a593Smuzhiyun help 2170*4882a593Smuzhiyun You should only select this option if you have a workload that 2171*4882a593Smuzhiyun actually benefits from 64-bit processing or if your machine has 2172*4882a593Smuzhiyun large memory. You will only be presented a single option in this 2173*4882a593Smuzhiyun menu if your system does not support both 32-bit and 64-bit kernels. 2174*4882a593Smuzhiyun 2175*4882a593Smuzhiyunconfig 32BIT 2176*4882a593Smuzhiyun bool "32-bit kernel" 2177*4882a593Smuzhiyun depends on CPU_SUPPORTS_32BIT_KERNEL && SYS_SUPPORTS_32BIT_KERNEL 2178*4882a593Smuzhiyun select TRAD_SIGNALS 2179*4882a593Smuzhiyun help 2180*4882a593Smuzhiyun Select this option if you want to build a 32-bit kernel. 2181*4882a593Smuzhiyun 2182*4882a593Smuzhiyunconfig 64BIT 2183*4882a593Smuzhiyun bool "64-bit kernel" 2184*4882a593Smuzhiyun depends on CPU_SUPPORTS_64BIT_KERNEL && SYS_SUPPORTS_64BIT_KERNEL 2185*4882a593Smuzhiyun help 2186*4882a593Smuzhiyun Select this option if you want to build a 64-bit kernel. 2187*4882a593Smuzhiyun 2188*4882a593Smuzhiyunendchoice 2189*4882a593Smuzhiyun 2190*4882a593Smuzhiyunconfig KVM_GUEST 2191*4882a593Smuzhiyun bool "KVM Guest Kernel" 2192*4882a593Smuzhiyun depends on CPU_MIPS32_R2 2193*4882a593Smuzhiyun depends on BROKEN_ON_SMP 2194*4882a593Smuzhiyun help 2195*4882a593Smuzhiyun Select this option if building a guest kernel for KVM (Trap & Emulate) 2196*4882a593Smuzhiyun mode. 2197*4882a593Smuzhiyun 2198*4882a593Smuzhiyunconfig KVM_GUEST_TIMER_FREQ 2199*4882a593Smuzhiyun int "Count/Compare Timer Frequency (MHz)" 2200*4882a593Smuzhiyun depends on KVM_GUEST 2201*4882a593Smuzhiyun default 100 2202*4882a593Smuzhiyun help 2203*4882a593Smuzhiyun Set this to non-zero if building a guest kernel for KVM to skip RTC 2204*4882a593Smuzhiyun emulation when determining guest CPU Frequency. Instead, the guest's 2205*4882a593Smuzhiyun timer frequency is specified directly. 2206*4882a593Smuzhiyun 2207*4882a593Smuzhiyunconfig MIPS_VA_BITS_48 2208*4882a593Smuzhiyun bool "48 bits virtual memory" 2209*4882a593Smuzhiyun depends on 64BIT 2210*4882a593Smuzhiyun help 2211*4882a593Smuzhiyun Support a maximum at least 48 bits of application virtual 2212*4882a593Smuzhiyun memory. Default is 40 bits or less, depending on the CPU. 2213*4882a593Smuzhiyun For page sizes 16k and above, this option results in a small 2214*4882a593Smuzhiyun memory overhead for page tables. For 4k page size, a fourth 2215*4882a593Smuzhiyun level of page tables is added which imposes both a memory 2216*4882a593Smuzhiyun overhead as well as slower TLB fault handling. 2217*4882a593Smuzhiyun 2218*4882a593Smuzhiyun If unsure, say N. 2219*4882a593Smuzhiyun 2220*4882a593Smuzhiyunchoice 2221*4882a593Smuzhiyun prompt "Kernel page size" 2222*4882a593Smuzhiyun default PAGE_SIZE_4KB 2223*4882a593Smuzhiyun 2224*4882a593Smuzhiyunconfig PAGE_SIZE_4KB 2225*4882a593Smuzhiyun bool "4kB" 2226*4882a593Smuzhiyun depends on !CPU_LOONGSON2EF && !CPU_LOONGSON64 2227*4882a593Smuzhiyun help 2228*4882a593Smuzhiyun This option select the standard 4kB Linux page size. On some 2229*4882a593Smuzhiyun R3000-family processors this is the only available page size. Using 2230*4882a593Smuzhiyun 4kB page size will minimize memory consumption and is therefore 2231*4882a593Smuzhiyun recommended for low memory systems. 2232*4882a593Smuzhiyun 2233*4882a593Smuzhiyunconfig PAGE_SIZE_8KB 2234*4882a593Smuzhiyun bool "8kB" 2235*4882a593Smuzhiyun depends on CPU_CAVIUM_OCTEON 2236*4882a593Smuzhiyun depends on !MIPS_VA_BITS_48 2237*4882a593Smuzhiyun help 2238*4882a593Smuzhiyun Using 8kB page size will result in higher performance kernel at 2239*4882a593Smuzhiyun the price of higher memory consumption. This option is available 2240*4882a593Smuzhiyun only on cnMIPS processors. Note that you will need a suitable Linux 2241*4882a593Smuzhiyun distribution to support this. 2242*4882a593Smuzhiyun 2243*4882a593Smuzhiyunconfig PAGE_SIZE_16KB 2244*4882a593Smuzhiyun bool "16kB" 2245*4882a593Smuzhiyun depends on !CPU_R3000 && !CPU_TX39XX 2246*4882a593Smuzhiyun help 2247*4882a593Smuzhiyun Using 16kB page size will result in higher performance kernel at 2248*4882a593Smuzhiyun the price of higher memory consumption. This option is available on 2249*4882a593Smuzhiyun all non-R3000 family processors. Note that you will need a suitable 2250*4882a593Smuzhiyun Linux distribution to support this. 2251*4882a593Smuzhiyun 2252*4882a593Smuzhiyunconfig PAGE_SIZE_32KB 2253*4882a593Smuzhiyun bool "32kB" 2254*4882a593Smuzhiyun depends on CPU_CAVIUM_OCTEON 2255*4882a593Smuzhiyun depends on !MIPS_VA_BITS_48 2256*4882a593Smuzhiyun help 2257*4882a593Smuzhiyun Using 32kB page size will result in higher performance kernel at 2258*4882a593Smuzhiyun the price of higher memory consumption. This option is available 2259*4882a593Smuzhiyun only on cnMIPS cores. Note that you will need a suitable Linux 2260*4882a593Smuzhiyun distribution to support this. 2261*4882a593Smuzhiyun 2262*4882a593Smuzhiyunconfig PAGE_SIZE_64KB 2263*4882a593Smuzhiyun bool "64kB" 2264*4882a593Smuzhiyun depends on !CPU_R3000 && !CPU_TX39XX 2265*4882a593Smuzhiyun help 2266*4882a593Smuzhiyun Using 64kB page size will result in higher performance kernel at 2267*4882a593Smuzhiyun the price of higher memory consumption. This option is available on 2268*4882a593Smuzhiyun all non-R3000 family processor. Not that at the time of this 2269*4882a593Smuzhiyun writing this option is still high experimental. 2270*4882a593Smuzhiyun 2271*4882a593Smuzhiyunendchoice 2272*4882a593Smuzhiyun 2273*4882a593Smuzhiyunconfig FORCE_MAX_ZONEORDER 2274*4882a593Smuzhiyun int "Maximum zone order" 2275*4882a593Smuzhiyun range 14 64 if MIPS_HUGE_TLB_SUPPORT && PAGE_SIZE_64KB 2276*4882a593Smuzhiyun default "14" if MIPS_HUGE_TLB_SUPPORT && PAGE_SIZE_64KB 2277*4882a593Smuzhiyun range 13 64 if MIPS_HUGE_TLB_SUPPORT && PAGE_SIZE_32KB 2278*4882a593Smuzhiyun default "13" if MIPS_HUGE_TLB_SUPPORT && PAGE_SIZE_32KB 2279*4882a593Smuzhiyun range 12 64 if MIPS_HUGE_TLB_SUPPORT && PAGE_SIZE_16KB 2280*4882a593Smuzhiyun default "12" if MIPS_HUGE_TLB_SUPPORT && PAGE_SIZE_16KB 2281*4882a593Smuzhiyun range 0 64 2282*4882a593Smuzhiyun default "11" 2283*4882a593Smuzhiyun help 2284*4882a593Smuzhiyun The kernel memory allocator divides physically contiguous memory 2285*4882a593Smuzhiyun blocks into "zones", where each zone is a power of two number of 2286*4882a593Smuzhiyun pages. This option selects the largest power of two that the kernel 2287*4882a593Smuzhiyun keeps in the memory allocator. If you need to allocate very large 2288*4882a593Smuzhiyun blocks of physically contiguous memory, then you may need to 2289*4882a593Smuzhiyun increase this value. 2290*4882a593Smuzhiyun 2291*4882a593Smuzhiyun This config option is actually maximum order plus one. For example, 2292*4882a593Smuzhiyun a value of 11 means that the largest free memory block is 2^10 pages. 2293*4882a593Smuzhiyun 2294*4882a593Smuzhiyun The page size is not necessarily 4KB. Keep this in mind 2295*4882a593Smuzhiyun when choosing a value for this option. 2296*4882a593Smuzhiyun 2297*4882a593Smuzhiyunconfig BOARD_SCACHE 2298*4882a593Smuzhiyun bool 2299*4882a593Smuzhiyun 2300*4882a593Smuzhiyunconfig IP22_CPU_SCACHE 2301*4882a593Smuzhiyun bool 2302*4882a593Smuzhiyun select BOARD_SCACHE 2303*4882a593Smuzhiyun 2304*4882a593Smuzhiyun# 2305*4882a593Smuzhiyun# Support for a MIPS32 / MIPS64 style S-caches 2306*4882a593Smuzhiyun# 2307*4882a593Smuzhiyunconfig MIPS_CPU_SCACHE 2308*4882a593Smuzhiyun bool 2309*4882a593Smuzhiyun select BOARD_SCACHE 2310*4882a593Smuzhiyun 2311*4882a593Smuzhiyunconfig R5000_CPU_SCACHE 2312*4882a593Smuzhiyun bool 2313*4882a593Smuzhiyun select BOARD_SCACHE 2314*4882a593Smuzhiyun 2315*4882a593Smuzhiyunconfig RM7000_CPU_SCACHE 2316*4882a593Smuzhiyun bool 2317*4882a593Smuzhiyun select BOARD_SCACHE 2318*4882a593Smuzhiyun 2319*4882a593Smuzhiyunconfig SIBYTE_DMA_PAGEOPS 2320*4882a593Smuzhiyun bool "Use DMA to clear/copy pages" 2321*4882a593Smuzhiyun depends on CPU_SB1 2322*4882a593Smuzhiyun help 2323*4882a593Smuzhiyun Instead of using the CPU to zero and copy pages, use a Data Mover 2324*4882a593Smuzhiyun channel. These DMA channels are otherwise unused by the standard 2325*4882a593Smuzhiyun SiByte Linux port. Seems to give a small performance benefit. 2326*4882a593Smuzhiyun 2327*4882a593Smuzhiyunconfig CPU_HAS_PREFETCH 2328*4882a593Smuzhiyun bool 2329*4882a593Smuzhiyun 2330*4882a593Smuzhiyunconfig CPU_GENERIC_DUMP_TLB 2331*4882a593Smuzhiyun bool 2332*4882a593Smuzhiyun default y if !(CPU_R3000 || CPU_TX39XX) 2333*4882a593Smuzhiyun 2334*4882a593Smuzhiyunconfig MIPS_FP_SUPPORT 2335*4882a593Smuzhiyun bool "Floating Point support" if EXPERT 2336*4882a593Smuzhiyun default y 2337*4882a593Smuzhiyun help 2338*4882a593Smuzhiyun Select y to include support for floating point in the kernel 2339*4882a593Smuzhiyun including initialization of FPU hardware, FP context save & restore 2340*4882a593Smuzhiyun and emulation of an FPU where necessary. Without this support any 2341*4882a593Smuzhiyun userland program attempting to use floating point instructions will 2342*4882a593Smuzhiyun receive a SIGILL. 2343*4882a593Smuzhiyun 2344*4882a593Smuzhiyun If you know that your userland will not attempt to use floating point 2345*4882a593Smuzhiyun instructions then you can say n here to shrink the kernel a little. 2346*4882a593Smuzhiyun 2347*4882a593Smuzhiyun If unsure, say y. 2348*4882a593Smuzhiyun 2349*4882a593Smuzhiyunconfig CPU_R2300_FPU 2350*4882a593Smuzhiyun bool 2351*4882a593Smuzhiyun depends on MIPS_FP_SUPPORT 2352*4882a593Smuzhiyun default y if CPU_R3000 || CPU_TX39XX 2353*4882a593Smuzhiyun 2354*4882a593Smuzhiyunconfig CPU_R3K_TLB 2355*4882a593Smuzhiyun bool 2356*4882a593Smuzhiyun 2357*4882a593Smuzhiyunconfig CPU_R4K_FPU 2358*4882a593Smuzhiyun bool 2359*4882a593Smuzhiyun depends on MIPS_FP_SUPPORT 2360*4882a593Smuzhiyun default y if !CPU_R2300_FPU 2361*4882a593Smuzhiyun 2362*4882a593Smuzhiyunconfig CPU_R4K_CACHE_TLB 2363*4882a593Smuzhiyun bool 2364*4882a593Smuzhiyun default y if !(CPU_R3K_TLB || CPU_SB1 || CPU_CAVIUM_OCTEON) 2365*4882a593Smuzhiyun 2366*4882a593Smuzhiyunconfig MIPS_MT_SMP 2367*4882a593Smuzhiyun bool "MIPS MT SMP support (1 TC on each available VPE)" 2368*4882a593Smuzhiyun default y 2369*4882a593Smuzhiyun depends on SYS_SUPPORTS_MULTITHREADING && !CPU_MIPSR6 && !CPU_MICROMIPS 2370*4882a593Smuzhiyun select CPU_MIPSR2_IRQ_VI 2371*4882a593Smuzhiyun select CPU_MIPSR2_IRQ_EI 2372*4882a593Smuzhiyun select SYNC_R4K 2373*4882a593Smuzhiyun select MIPS_MT 2374*4882a593Smuzhiyun select SMP 2375*4882a593Smuzhiyun select SMP_UP 2376*4882a593Smuzhiyun select SYS_SUPPORTS_SMP 2377*4882a593Smuzhiyun select SYS_SUPPORTS_SCHED_SMT 2378*4882a593Smuzhiyun select MIPS_PERF_SHARED_TC_COUNTERS 2379*4882a593Smuzhiyun help 2380*4882a593Smuzhiyun This is a kernel model which is known as SMVP. This is supported 2381*4882a593Smuzhiyun on cores with the MT ASE and uses the available VPEs to implement 2382*4882a593Smuzhiyun virtual processors which supports SMP. This is equivalent to the 2383*4882a593Smuzhiyun Intel Hyperthreading feature. For further information go to 2384*4882a593Smuzhiyun <http://www.imgtec.com/mips/mips-multithreading.asp>. 2385*4882a593Smuzhiyun 2386*4882a593Smuzhiyunconfig MIPS_MT 2387*4882a593Smuzhiyun bool 2388*4882a593Smuzhiyun 2389*4882a593Smuzhiyunconfig SCHED_SMT 2390*4882a593Smuzhiyun bool "SMT (multithreading) scheduler support" 2391*4882a593Smuzhiyun depends on SYS_SUPPORTS_SCHED_SMT 2392*4882a593Smuzhiyun default n 2393*4882a593Smuzhiyun help 2394*4882a593Smuzhiyun SMT scheduler support improves the CPU scheduler's decision making 2395*4882a593Smuzhiyun when dealing with MIPS MT enabled cores at a cost of slightly 2396*4882a593Smuzhiyun increased overhead in some places. If unsure say N here. 2397*4882a593Smuzhiyun 2398*4882a593Smuzhiyunconfig SYS_SUPPORTS_SCHED_SMT 2399*4882a593Smuzhiyun bool 2400*4882a593Smuzhiyun 2401*4882a593Smuzhiyunconfig SYS_SUPPORTS_MULTITHREADING 2402*4882a593Smuzhiyun bool 2403*4882a593Smuzhiyun 2404*4882a593Smuzhiyunconfig MIPS_MT_FPAFF 2405*4882a593Smuzhiyun bool "Dynamic FPU affinity for FP-intensive threads" 2406*4882a593Smuzhiyun default y 2407*4882a593Smuzhiyun depends on MIPS_MT_SMP 2408*4882a593Smuzhiyun 2409*4882a593Smuzhiyunconfig MIPSR2_TO_R6_EMULATOR 2410*4882a593Smuzhiyun bool "MIPS R2-to-R6 emulator" 2411*4882a593Smuzhiyun depends on CPU_MIPSR6 2412*4882a593Smuzhiyun depends on MIPS_FP_SUPPORT 2413*4882a593Smuzhiyun default y 2414*4882a593Smuzhiyun help 2415*4882a593Smuzhiyun Choose this option if you want to run non-R6 MIPS userland code. 2416*4882a593Smuzhiyun Even if you say 'Y' here, the emulator will still be disabled by 2417*4882a593Smuzhiyun default. You can enable it using the 'mipsr2emu' kernel option. 2418*4882a593Smuzhiyun The only reason this is a build-time option is to save ~14K from the 2419*4882a593Smuzhiyun final kernel image. 2420*4882a593Smuzhiyun 2421*4882a593Smuzhiyunconfig SYS_SUPPORTS_VPE_LOADER 2422*4882a593Smuzhiyun bool 2423*4882a593Smuzhiyun depends on SYS_SUPPORTS_MULTITHREADING 2424*4882a593Smuzhiyun help 2425*4882a593Smuzhiyun Indicates that the platform supports the VPE loader, and provides 2426*4882a593Smuzhiyun physical_memsize. 2427*4882a593Smuzhiyun 2428*4882a593Smuzhiyunconfig MIPS_VPE_LOADER 2429*4882a593Smuzhiyun bool "VPE loader support." 2430*4882a593Smuzhiyun depends on SYS_SUPPORTS_VPE_LOADER && MODULES 2431*4882a593Smuzhiyun select CPU_MIPSR2_IRQ_VI 2432*4882a593Smuzhiyun select CPU_MIPSR2_IRQ_EI 2433*4882a593Smuzhiyun select MIPS_MT 2434*4882a593Smuzhiyun help 2435*4882a593Smuzhiyun Includes a loader for loading an elf relocatable object 2436*4882a593Smuzhiyun onto another VPE and running it. 2437*4882a593Smuzhiyun 2438*4882a593Smuzhiyunconfig MIPS_VPE_LOADER_CMP 2439*4882a593Smuzhiyun bool 2440*4882a593Smuzhiyun default "y" 2441*4882a593Smuzhiyun depends on MIPS_VPE_LOADER && MIPS_CMP 2442*4882a593Smuzhiyun 2443*4882a593Smuzhiyunconfig MIPS_VPE_LOADER_MT 2444*4882a593Smuzhiyun bool 2445*4882a593Smuzhiyun default "y" 2446*4882a593Smuzhiyun depends on MIPS_VPE_LOADER && !MIPS_CMP 2447*4882a593Smuzhiyun 2448*4882a593Smuzhiyunconfig MIPS_VPE_LOADER_TOM 2449*4882a593Smuzhiyun bool "Load VPE program into memory hidden from linux" 2450*4882a593Smuzhiyun depends on MIPS_VPE_LOADER 2451*4882a593Smuzhiyun default y 2452*4882a593Smuzhiyun help 2453*4882a593Smuzhiyun The loader can use memory that is present but has been hidden from 2454*4882a593Smuzhiyun Linux using the kernel command line option "mem=xxMB". It's up to 2455*4882a593Smuzhiyun you to ensure the amount you put in the option and the space your 2456*4882a593Smuzhiyun program requires is less or equal to the amount physically present. 2457*4882a593Smuzhiyun 2458*4882a593Smuzhiyunconfig MIPS_VPE_APSP_API 2459*4882a593Smuzhiyun bool "Enable support for AP/SP API (RTLX)" 2460*4882a593Smuzhiyun depends on MIPS_VPE_LOADER 2461*4882a593Smuzhiyun 2462*4882a593Smuzhiyunconfig MIPS_VPE_APSP_API_CMP 2463*4882a593Smuzhiyun bool 2464*4882a593Smuzhiyun default "y" 2465*4882a593Smuzhiyun depends on MIPS_VPE_APSP_API && MIPS_CMP 2466*4882a593Smuzhiyun 2467*4882a593Smuzhiyunconfig MIPS_VPE_APSP_API_MT 2468*4882a593Smuzhiyun bool 2469*4882a593Smuzhiyun default "y" 2470*4882a593Smuzhiyun depends on MIPS_VPE_APSP_API && !MIPS_CMP 2471*4882a593Smuzhiyun 2472*4882a593Smuzhiyunconfig MIPS_CMP 2473*4882a593Smuzhiyun bool "MIPS CMP framework support (DEPRECATED)" 2474*4882a593Smuzhiyun depends on SYS_SUPPORTS_MIPS_CMP && !CPU_MIPSR6 2475*4882a593Smuzhiyun select SMP 2476*4882a593Smuzhiyun select SYNC_R4K 2477*4882a593Smuzhiyun select SYS_SUPPORTS_SMP 2478*4882a593Smuzhiyun select WEAK_ORDERING 2479*4882a593Smuzhiyun default n 2480*4882a593Smuzhiyun help 2481*4882a593Smuzhiyun Select this if you are using a bootloader which implements the "CMP 2482*4882a593Smuzhiyun framework" protocol (ie. YAMON) and want your kernel to make use of 2483*4882a593Smuzhiyun its ability to start secondary CPUs. 2484*4882a593Smuzhiyun 2485*4882a593Smuzhiyun Unless you have a specific need, you should use CONFIG_MIPS_CPS 2486*4882a593Smuzhiyun instead of this. 2487*4882a593Smuzhiyun 2488*4882a593Smuzhiyunconfig MIPS_CPS 2489*4882a593Smuzhiyun bool "MIPS Coherent Processing System support" 2490*4882a593Smuzhiyun depends on SYS_SUPPORTS_MIPS_CPS 2491*4882a593Smuzhiyun select MIPS_CM 2492*4882a593Smuzhiyun select MIPS_CPS_PM if HOTPLUG_CPU 2493*4882a593Smuzhiyun select SMP 2494*4882a593Smuzhiyun select SYNC_R4K if (CEVT_R4K || CSRC_R4K) 2495*4882a593Smuzhiyun select SYS_SUPPORTS_HOTPLUG_CPU 2496*4882a593Smuzhiyun select SYS_SUPPORTS_SCHED_SMT if CPU_MIPSR6 2497*4882a593Smuzhiyun select SYS_SUPPORTS_SMP 2498*4882a593Smuzhiyun select WEAK_ORDERING 2499*4882a593Smuzhiyun help 2500*4882a593Smuzhiyun Select this if you wish to run an SMP kernel across multiple cores 2501*4882a593Smuzhiyun within a MIPS Coherent Processing System. When this option is 2502*4882a593Smuzhiyun enabled the kernel will probe for other cores and boot them with 2503*4882a593Smuzhiyun no external assistance. It is safe to enable this when hardware 2504*4882a593Smuzhiyun support is unavailable. 2505*4882a593Smuzhiyun 2506*4882a593Smuzhiyunconfig MIPS_CPS_PM 2507*4882a593Smuzhiyun depends on MIPS_CPS 2508*4882a593Smuzhiyun bool 2509*4882a593Smuzhiyun 2510*4882a593Smuzhiyunconfig MIPS_CM 2511*4882a593Smuzhiyun bool 2512*4882a593Smuzhiyun select MIPS_CPC 2513*4882a593Smuzhiyun 2514*4882a593Smuzhiyunconfig MIPS_CPC 2515*4882a593Smuzhiyun bool 2516*4882a593Smuzhiyun 2517*4882a593Smuzhiyunconfig SB1_PASS_2_WORKAROUNDS 2518*4882a593Smuzhiyun bool 2519*4882a593Smuzhiyun depends on CPU_SB1 && (CPU_SB1_PASS_2_2 || CPU_SB1_PASS_2) 2520*4882a593Smuzhiyun default y 2521*4882a593Smuzhiyun 2522*4882a593Smuzhiyunconfig SB1_PASS_2_1_WORKAROUNDS 2523*4882a593Smuzhiyun bool 2524*4882a593Smuzhiyun depends on CPU_SB1 && CPU_SB1_PASS_2 2525*4882a593Smuzhiyun default y 2526*4882a593Smuzhiyun 2527*4882a593Smuzhiyunchoice 2528*4882a593Smuzhiyun prompt "SmartMIPS or microMIPS ASE support" 2529*4882a593Smuzhiyun 2530*4882a593Smuzhiyunconfig CPU_NEEDS_NO_SMARTMIPS_OR_MICROMIPS 2531*4882a593Smuzhiyun bool "None" 2532*4882a593Smuzhiyun help 2533*4882a593Smuzhiyun Select this if you want neither microMIPS nor SmartMIPS support 2534*4882a593Smuzhiyun 2535*4882a593Smuzhiyunconfig CPU_HAS_SMARTMIPS 2536*4882a593Smuzhiyun depends on SYS_SUPPORTS_SMARTMIPS 2537*4882a593Smuzhiyun bool "SmartMIPS" 2538*4882a593Smuzhiyun help 2539*4882a593Smuzhiyun SmartMIPS is a extension of the MIPS32 architecture aimed at 2540*4882a593Smuzhiyun increased security at both hardware and software level for 2541*4882a593Smuzhiyun smartcards. Enabling this option will allow proper use of the 2542*4882a593Smuzhiyun SmartMIPS instructions by Linux applications. However a kernel with 2543*4882a593Smuzhiyun this option will not work on a MIPS core without SmartMIPS core. If 2544*4882a593Smuzhiyun you don't know you probably don't have SmartMIPS and should say N 2545*4882a593Smuzhiyun here. 2546*4882a593Smuzhiyun 2547*4882a593Smuzhiyunconfig CPU_MICROMIPS 2548*4882a593Smuzhiyun depends on 32BIT && SYS_SUPPORTS_MICROMIPS && !CPU_MIPSR6 2549*4882a593Smuzhiyun bool "microMIPS" 2550*4882a593Smuzhiyun help 2551*4882a593Smuzhiyun When this option is enabled the kernel will be built using the 2552*4882a593Smuzhiyun microMIPS ISA 2553*4882a593Smuzhiyun 2554*4882a593Smuzhiyunendchoice 2555*4882a593Smuzhiyun 2556*4882a593Smuzhiyunconfig CPU_HAS_MSA 2557*4882a593Smuzhiyun bool "Support for the MIPS SIMD Architecture" 2558*4882a593Smuzhiyun depends on CPU_SUPPORTS_MSA 2559*4882a593Smuzhiyun depends on MIPS_FP_SUPPORT 2560*4882a593Smuzhiyun depends on 64BIT || MIPS_O32_FP64_SUPPORT 2561*4882a593Smuzhiyun help 2562*4882a593Smuzhiyun MIPS SIMD Architecture (MSA) introduces 128 bit wide vector registers 2563*4882a593Smuzhiyun and a set of SIMD instructions to operate on them. When this option 2564*4882a593Smuzhiyun is enabled the kernel will support allocating & switching MSA 2565*4882a593Smuzhiyun vector register contexts. If you know that your kernel will only be 2566*4882a593Smuzhiyun running on CPUs which do not support MSA or that your userland will 2567*4882a593Smuzhiyun not be making use of it then you may wish to say N here to reduce 2568*4882a593Smuzhiyun the size & complexity of your kernel. 2569*4882a593Smuzhiyun 2570*4882a593Smuzhiyun If unsure, say Y. 2571*4882a593Smuzhiyun 2572*4882a593Smuzhiyunconfig CPU_HAS_WB 2573*4882a593Smuzhiyun bool 2574*4882a593Smuzhiyun 2575*4882a593Smuzhiyunconfig XKS01 2576*4882a593Smuzhiyun bool 2577*4882a593Smuzhiyun 2578*4882a593Smuzhiyunconfig CPU_HAS_DIEI 2579*4882a593Smuzhiyun depends on !CPU_DIEI_BROKEN 2580*4882a593Smuzhiyun bool 2581*4882a593Smuzhiyun 2582*4882a593Smuzhiyunconfig CPU_DIEI_BROKEN 2583*4882a593Smuzhiyun bool 2584*4882a593Smuzhiyun 2585*4882a593Smuzhiyunconfig CPU_HAS_RIXI 2586*4882a593Smuzhiyun bool 2587*4882a593Smuzhiyun 2588*4882a593Smuzhiyunconfig CPU_NO_LOAD_STORE_LR 2589*4882a593Smuzhiyun bool 2590*4882a593Smuzhiyun help 2591*4882a593Smuzhiyun CPU lacks support for unaligned load and store instructions: 2592*4882a593Smuzhiyun LWL, LWR, SWL, SWR (Load/store word left/right). 2593*4882a593Smuzhiyun LDL, LDR, SDL, SDR (Load/store doubleword left/right, for 64bit 2594*4882a593Smuzhiyun systems). 2595*4882a593Smuzhiyun 2596*4882a593Smuzhiyun# 2597*4882a593Smuzhiyun# Vectored interrupt mode is an R2 feature 2598*4882a593Smuzhiyun# 2599*4882a593Smuzhiyunconfig CPU_MIPSR2_IRQ_VI 2600*4882a593Smuzhiyun bool 2601*4882a593Smuzhiyun 2602*4882a593Smuzhiyun# 2603*4882a593Smuzhiyun# Extended interrupt mode is an R2 feature 2604*4882a593Smuzhiyun# 2605*4882a593Smuzhiyunconfig CPU_MIPSR2_IRQ_EI 2606*4882a593Smuzhiyun bool 2607*4882a593Smuzhiyun 2608*4882a593Smuzhiyunconfig CPU_HAS_SYNC 2609*4882a593Smuzhiyun bool 2610*4882a593Smuzhiyun depends on !CPU_R3000 2611*4882a593Smuzhiyun default y 2612*4882a593Smuzhiyun 2613*4882a593Smuzhiyun# 2614*4882a593Smuzhiyun# CPU non-features 2615*4882a593Smuzhiyun# 2616*4882a593Smuzhiyunconfig CPU_DADDI_WORKAROUNDS 2617*4882a593Smuzhiyun bool 2618*4882a593Smuzhiyun 2619*4882a593Smuzhiyunconfig CPU_R4000_WORKAROUNDS 2620*4882a593Smuzhiyun bool 2621*4882a593Smuzhiyun select CPU_R4400_WORKAROUNDS 2622*4882a593Smuzhiyun 2623*4882a593Smuzhiyunconfig CPU_R4400_WORKAROUNDS 2624*4882a593Smuzhiyun bool 2625*4882a593Smuzhiyun 2626*4882a593Smuzhiyunconfig CPU_R4X00_BUGS64 2627*4882a593Smuzhiyun bool 2628*4882a593Smuzhiyun default y if SYS_HAS_CPU_R4X00 && 64BIT && (TARGET_ISA_REV < 1) 2629*4882a593Smuzhiyun 2630*4882a593Smuzhiyunconfig MIPS_ASID_SHIFT 2631*4882a593Smuzhiyun int 2632*4882a593Smuzhiyun default 6 if CPU_R3000 || CPU_TX39XX 2633*4882a593Smuzhiyun default 0 2634*4882a593Smuzhiyun 2635*4882a593Smuzhiyunconfig MIPS_ASID_BITS 2636*4882a593Smuzhiyun int 2637*4882a593Smuzhiyun default 0 if MIPS_ASID_BITS_VARIABLE 2638*4882a593Smuzhiyun default 6 if CPU_R3000 || CPU_TX39XX 2639*4882a593Smuzhiyun default 8 2640*4882a593Smuzhiyun 2641*4882a593Smuzhiyunconfig MIPS_ASID_BITS_VARIABLE 2642*4882a593Smuzhiyun bool 2643*4882a593Smuzhiyun 2644*4882a593Smuzhiyunconfig MIPS_CRC_SUPPORT 2645*4882a593Smuzhiyun bool 2646*4882a593Smuzhiyun 2647*4882a593Smuzhiyun# R4600 erratum. Due to the lack of errata information the exact 2648*4882a593Smuzhiyun# technical details aren't known. I've experimentally found that disabling 2649*4882a593Smuzhiyun# interrupts during indexed I-cache flushes seems to be sufficient to deal 2650*4882a593Smuzhiyun# with the issue. 2651*4882a593Smuzhiyunconfig WAR_R4600_V1_INDEX_ICACHEOP 2652*4882a593Smuzhiyun bool 2653*4882a593Smuzhiyun 2654*4882a593Smuzhiyun# Pleasures of the R4600 V1.x. Cite from the IDT R4600 V1.7 errata: 2655*4882a593Smuzhiyun# 2656*4882a593Smuzhiyun# 18. The CACHE instructions Hit_Writeback_Invalidate_D, Hit_Writeback_D, 2657*4882a593Smuzhiyun# Hit_Invalidate_D and Create_Dirty_Excl_D should only be 2658*4882a593Smuzhiyun# executed if there is no other dcache activity. If the dcache is 2659*4882a593Smuzhiyun# accessed for another instruction immeidately preceding when these 2660*4882a593Smuzhiyun# cache instructions are executing, it is possible that the dcache 2661*4882a593Smuzhiyun# tag match outputs used by these cache instructions will be 2662*4882a593Smuzhiyun# incorrect. These cache instructions should be preceded by at least 2663*4882a593Smuzhiyun# four instructions that are not any kind of load or store 2664*4882a593Smuzhiyun# instruction. 2665*4882a593Smuzhiyun# 2666*4882a593Smuzhiyun# This is not allowed: lw 2667*4882a593Smuzhiyun# nop 2668*4882a593Smuzhiyun# nop 2669*4882a593Smuzhiyun# nop 2670*4882a593Smuzhiyun# cache Hit_Writeback_Invalidate_D 2671*4882a593Smuzhiyun# 2672*4882a593Smuzhiyun# This is allowed: lw 2673*4882a593Smuzhiyun# nop 2674*4882a593Smuzhiyun# nop 2675*4882a593Smuzhiyun# nop 2676*4882a593Smuzhiyun# nop 2677*4882a593Smuzhiyun# cache Hit_Writeback_Invalidate_D 2678*4882a593Smuzhiyunconfig WAR_R4600_V1_HIT_CACHEOP 2679*4882a593Smuzhiyun bool 2680*4882a593Smuzhiyun 2681*4882a593Smuzhiyun# Writeback and invalidate the primary cache dcache before DMA. 2682*4882a593Smuzhiyun# 2683*4882a593Smuzhiyun# R4600 v2.0 bug: "The CACHE instructions Hit_Writeback_Inv_D, 2684*4882a593Smuzhiyun# Hit_Writeback_D, Hit_Invalidate_D and Create_Dirty_Exclusive_D will only 2685*4882a593Smuzhiyun# operate correctly if the internal data cache refill buffer is empty. These 2686*4882a593Smuzhiyun# CACHE instructions should be separated from any potential data cache miss 2687*4882a593Smuzhiyun# by a load instruction to an uncached address to empty the response buffer." 2688*4882a593Smuzhiyun# (Revision 2.0 device errata from IDT available on https://www.idt.com/ 2689*4882a593Smuzhiyun# in .pdf format.) 2690*4882a593Smuzhiyunconfig WAR_R4600_V2_HIT_CACHEOP 2691*4882a593Smuzhiyun bool 2692*4882a593Smuzhiyun 2693*4882a593Smuzhiyun# From TX49/H2 manual: "If the instruction (i.e. CACHE) is issued for 2694*4882a593Smuzhiyun# the line which this instruction itself exists, the following 2695*4882a593Smuzhiyun# operation is not guaranteed." 2696*4882a593Smuzhiyun# 2697*4882a593Smuzhiyun# Workaround: do two phase flushing for Index_Invalidate_I 2698*4882a593Smuzhiyunconfig WAR_TX49XX_ICACHE_INDEX_INV 2699*4882a593Smuzhiyun bool 2700*4882a593Smuzhiyun 2701*4882a593Smuzhiyun# The RM7000 processors and the E9000 cores have a bug (though PMC-Sierra 2702*4882a593Smuzhiyun# opposes it being called that) where invalid instructions in the same 2703*4882a593Smuzhiyun# I-cache line worth of instructions being fetched may case spurious 2704*4882a593Smuzhiyun# exceptions. 2705*4882a593Smuzhiyunconfig WAR_ICACHE_REFILLS 2706*4882a593Smuzhiyun bool 2707*4882a593Smuzhiyun 2708*4882a593Smuzhiyun# On the R10000 up to version 2.6 (not sure about 2.7) there is a bug that 2709*4882a593Smuzhiyun# may cause ll / sc and lld / scd sequences to execute non-atomically. 2710*4882a593Smuzhiyunconfig WAR_R10000_LLSC 2711*4882a593Smuzhiyun bool 2712*4882a593Smuzhiyun 2713*4882a593Smuzhiyun# 34K core erratum: "Problems Executing the TLBR Instruction" 2714*4882a593Smuzhiyunconfig WAR_MIPS34K_MISSED_ITLB 2715*4882a593Smuzhiyun bool 2716*4882a593Smuzhiyun 2717*4882a593Smuzhiyun# 2718*4882a593Smuzhiyun# - Highmem only makes sense for the 32-bit kernel. 2719*4882a593Smuzhiyun# - The current highmem code will only work properly on physically indexed 2720*4882a593Smuzhiyun# caches such as R3000, SB1, R7000 or those that look like they're virtually 2721*4882a593Smuzhiyun# indexed such as R4000/R4400 SC and MC versions or R10000. So for the 2722*4882a593Smuzhiyun# moment we protect the user and offer the highmem option only on machines 2723*4882a593Smuzhiyun# where it's known to be safe. This will not offer highmem on a few systems 2724*4882a593Smuzhiyun# such as MIPS32 and MIPS64 CPUs which may have virtual and physically 2725*4882a593Smuzhiyun# indexed CPUs but we're playing safe. 2726*4882a593Smuzhiyun# - We use SYS_SUPPORTS_HIGHMEM to offer highmem only for systems where we 2727*4882a593Smuzhiyun# know they might have memory configurations that could make use of highmem 2728*4882a593Smuzhiyun# support. 2729*4882a593Smuzhiyun# 2730*4882a593Smuzhiyunconfig HIGHMEM 2731*4882a593Smuzhiyun bool "High Memory Support" 2732*4882a593Smuzhiyun depends on 32BIT && CPU_SUPPORTS_HIGHMEM && SYS_SUPPORTS_HIGHMEM && !CPU_MIPS32_3_5_EVA 2733*4882a593Smuzhiyun 2734*4882a593Smuzhiyunconfig CPU_SUPPORTS_HIGHMEM 2735*4882a593Smuzhiyun bool 2736*4882a593Smuzhiyun 2737*4882a593Smuzhiyunconfig SYS_SUPPORTS_HIGHMEM 2738*4882a593Smuzhiyun bool 2739*4882a593Smuzhiyun 2740*4882a593Smuzhiyunconfig SYS_SUPPORTS_SMARTMIPS 2741*4882a593Smuzhiyun bool 2742*4882a593Smuzhiyun 2743*4882a593Smuzhiyunconfig SYS_SUPPORTS_MICROMIPS 2744*4882a593Smuzhiyun bool 2745*4882a593Smuzhiyun 2746*4882a593Smuzhiyunconfig SYS_SUPPORTS_MIPS16 2747*4882a593Smuzhiyun bool 2748*4882a593Smuzhiyun help 2749*4882a593Smuzhiyun This option must be set if a kernel might be executed on a MIPS16- 2750*4882a593Smuzhiyun enabled CPU even if MIPS16 is not actually being used. In other 2751*4882a593Smuzhiyun words, it makes the kernel MIPS16-tolerant. 2752*4882a593Smuzhiyun 2753*4882a593Smuzhiyunconfig CPU_SUPPORTS_MSA 2754*4882a593Smuzhiyun bool 2755*4882a593Smuzhiyun 2756*4882a593Smuzhiyunconfig ARCH_FLATMEM_ENABLE 2757*4882a593Smuzhiyun def_bool y 2758*4882a593Smuzhiyun depends on !NUMA && !CPU_LOONGSON2EF 2759*4882a593Smuzhiyun 2760*4882a593Smuzhiyunconfig ARCH_SPARSEMEM_ENABLE 2761*4882a593Smuzhiyun bool 2762*4882a593Smuzhiyun select SPARSEMEM_STATIC if !SGI_IP27 2763*4882a593Smuzhiyun 2764*4882a593Smuzhiyunconfig NUMA 2765*4882a593Smuzhiyun bool "NUMA Support" 2766*4882a593Smuzhiyun depends on SYS_SUPPORTS_NUMA 2767*4882a593Smuzhiyun help 2768*4882a593Smuzhiyun Say Y to compile the kernel to support NUMA (Non-Uniform Memory 2769*4882a593Smuzhiyun Access). This option improves performance on systems with more 2770*4882a593Smuzhiyun than two nodes; on two node systems it is generally better to 2771*4882a593Smuzhiyun leave it disabled; on single node systems leave this option 2772*4882a593Smuzhiyun disabled. 2773*4882a593Smuzhiyun 2774*4882a593Smuzhiyunconfig SYS_SUPPORTS_NUMA 2775*4882a593Smuzhiyun bool 2776*4882a593Smuzhiyun 2777*4882a593Smuzhiyunconfig HAVE_SETUP_PER_CPU_AREA 2778*4882a593Smuzhiyun def_bool y 2779*4882a593Smuzhiyun depends on NUMA 2780*4882a593Smuzhiyun 2781*4882a593Smuzhiyunconfig NEED_PER_CPU_EMBED_FIRST_CHUNK 2782*4882a593Smuzhiyun def_bool y 2783*4882a593Smuzhiyun depends on NUMA 2784*4882a593Smuzhiyun 2785*4882a593Smuzhiyunconfig RELOCATABLE 2786*4882a593Smuzhiyun bool "Relocatable kernel" 2787*4882a593Smuzhiyun depends on SYS_SUPPORTS_RELOCATABLE 2788*4882a593Smuzhiyun depends on CPU_MIPS32_R2 || CPU_MIPS64_R2 || \ 2789*4882a593Smuzhiyun CPU_MIPS32_R5 || CPU_MIPS64_R5 || \ 2790*4882a593Smuzhiyun CPU_MIPS32_R6 || CPU_MIPS64_R6 || \ 2791*4882a593Smuzhiyun CPU_P5600 || CAVIUM_OCTEON_SOC 2792*4882a593Smuzhiyun help 2793*4882a593Smuzhiyun This builds a kernel image that retains relocation information 2794*4882a593Smuzhiyun so it can be loaded someplace besides the default 1MB. 2795*4882a593Smuzhiyun The relocations make the kernel binary about 15% larger, 2796*4882a593Smuzhiyun but are discarded at runtime 2797*4882a593Smuzhiyun 2798*4882a593Smuzhiyunconfig RELOCATION_TABLE_SIZE 2799*4882a593Smuzhiyun hex "Relocation table size" 2800*4882a593Smuzhiyun depends on RELOCATABLE 2801*4882a593Smuzhiyun range 0x0 0x01000000 2802*4882a593Smuzhiyun default "0x00100000" 2803*4882a593Smuzhiyun help 2804*4882a593Smuzhiyun A table of relocation data will be appended to the kernel binary 2805*4882a593Smuzhiyun and parsed at boot to fix up the relocated kernel. 2806*4882a593Smuzhiyun 2807*4882a593Smuzhiyun This option allows the amount of space reserved for the table to be 2808*4882a593Smuzhiyun adjusted, although the default of 1Mb should be ok in most cases. 2809*4882a593Smuzhiyun 2810*4882a593Smuzhiyun The build will fail and a valid size suggested if this is too small. 2811*4882a593Smuzhiyun 2812*4882a593Smuzhiyun If unsure, leave at the default value. 2813*4882a593Smuzhiyun 2814*4882a593Smuzhiyunconfig RANDOMIZE_BASE 2815*4882a593Smuzhiyun bool "Randomize the address of the kernel image" 2816*4882a593Smuzhiyun depends on RELOCATABLE 2817*4882a593Smuzhiyun help 2818*4882a593Smuzhiyun Randomizes the physical and virtual address at which the 2819*4882a593Smuzhiyun kernel image is loaded, as a security feature that 2820*4882a593Smuzhiyun deters exploit attempts relying on knowledge of the location 2821*4882a593Smuzhiyun of kernel internals. 2822*4882a593Smuzhiyun 2823*4882a593Smuzhiyun Entropy is generated using any coprocessor 0 registers available. 2824*4882a593Smuzhiyun 2825*4882a593Smuzhiyun The kernel will be offset by up to RANDOMIZE_BASE_MAX_OFFSET. 2826*4882a593Smuzhiyun 2827*4882a593Smuzhiyun If unsure, say N. 2828*4882a593Smuzhiyun 2829*4882a593Smuzhiyunconfig RANDOMIZE_BASE_MAX_OFFSET 2830*4882a593Smuzhiyun hex "Maximum kASLR offset" if EXPERT 2831*4882a593Smuzhiyun depends on RANDOMIZE_BASE 2832*4882a593Smuzhiyun range 0x0 0x40000000 if EVA || 64BIT 2833*4882a593Smuzhiyun range 0x0 0x08000000 2834*4882a593Smuzhiyun default "0x01000000" 2835*4882a593Smuzhiyun help 2836*4882a593Smuzhiyun When kASLR is active, this provides the maximum offset that will 2837*4882a593Smuzhiyun be applied to the kernel image. It should be set according to the 2838*4882a593Smuzhiyun amount of physical RAM available in the target system minus 2839*4882a593Smuzhiyun PHYSICAL_START and must be a power of 2. 2840*4882a593Smuzhiyun 2841*4882a593Smuzhiyun This is limited by the size of KSEG0, 256Mb on 32-bit or 1Gb with 2842*4882a593Smuzhiyun EVA or 64-bit. The default is 16Mb. 2843*4882a593Smuzhiyun 2844*4882a593Smuzhiyunconfig NODES_SHIFT 2845*4882a593Smuzhiyun int 2846*4882a593Smuzhiyun default "6" 2847*4882a593Smuzhiyun depends on NEED_MULTIPLE_NODES 2848*4882a593Smuzhiyun 2849*4882a593Smuzhiyunconfig HW_PERF_EVENTS 2850*4882a593Smuzhiyun bool "Enable hardware performance counter support for perf events" 2851*4882a593Smuzhiyun depends on PERF_EVENTS && !OPROFILE && (CPU_MIPS32 || CPU_MIPS64 || CPU_R10000 || CPU_SB1 || CPU_CAVIUM_OCTEON || CPU_XLP || CPU_LOONGSON64) 2852*4882a593Smuzhiyun default y 2853*4882a593Smuzhiyun help 2854*4882a593Smuzhiyun Enable hardware performance counter support for perf events. If 2855*4882a593Smuzhiyun disabled, perf events will use software events only. 2856*4882a593Smuzhiyun 2857*4882a593Smuzhiyunconfig DMI 2858*4882a593Smuzhiyun bool "Enable DMI scanning" 2859*4882a593Smuzhiyun depends on MACH_LOONGSON64 2860*4882a593Smuzhiyun select DMI_SCAN_MACHINE_NON_EFI_FALLBACK 2861*4882a593Smuzhiyun default y 2862*4882a593Smuzhiyun help 2863*4882a593Smuzhiyun Enabled scanning of DMI to identify machine quirks. Say Y 2864*4882a593Smuzhiyun here unless you have verified that your setup is not 2865*4882a593Smuzhiyun affected by entries in the DMI blacklist. Required by PNP 2866*4882a593Smuzhiyun BIOS code. 2867*4882a593Smuzhiyun 2868*4882a593Smuzhiyunconfig SMP 2869*4882a593Smuzhiyun bool "Multi-Processing support" 2870*4882a593Smuzhiyun depends on SYS_SUPPORTS_SMP 2871*4882a593Smuzhiyun help 2872*4882a593Smuzhiyun This enables support for systems with more than one CPU. If you have 2873*4882a593Smuzhiyun a system with only one CPU, say N. If you have a system with more 2874*4882a593Smuzhiyun than one CPU, say Y. 2875*4882a593Smuzhiyun 2876*4882a593Smuzhiyun If you say N here, the kernel will run on uni- and multiprocessor 2877*4882a593Smuzhiyun machines, but will use only one CPU of a multiprocessor machine. If 2878*4882a593Smuzhiyun you say Y here, the kernel will run on many, but not all, 2879*4882a593Smuzhiyun uniprocessor machines. On a uniprocessor machine, the kernel 2880*4882a593Smuzhiyun will run faster if you say N here. 2881*4882a593Smuzhiyun 2882*4882a593Smuzhiyun People using multiprocessor machines who say Y here should also say 2883*4882a593Smuzhiyun Y to "Enhanced Real Time Clock Support", below. 2884*4882a593Smuzhiyun 2885*4882a593Smuzhiyun See also the SMP-HOWTO available at 2886*4882a593Smuzhiyun <https://www.tldp.org/docs.html#howto>. 2887*4882a593Smuzhiyun 2888*4882a593Smuzhiyun If you don't know what to do here, say N. 2889*4882a593Smuzhiyun 2890*4882a593Smuzhiyunconfig HOTPLUG_CPU 2891*4882a593Smuzhiyun bool "Support for hot-pluggable CPUs" 2892*4882a593Smuzhiyun depends on SMP && SYS_SUPPORTS_HOTPLUG_CPU 2893*4882a593Smuzhiyun help 2894*4882a593Smuzhiyun Say Y here to allow turning CPUs off and on. CPUs can be 2895*4882a593Smuzhiyun controlled through /sys/devices/system/cpu. 2896*4882a593Smuzhiyun (Note: power management support will enable this option 2897*4882a593Smuzhiyun automatically on SMP systems. ) 2898*4882a593Smuzhiyun Say N if you want to disable CPU hotplug. 2899*4882a593Smuzhiyun 2900*4882a593Smuzhiyunconfig SMP_UP 2901*4882a593Smuzhiyun bool 2902*4882a593Smuzhiyun 2903*4882a593Smuzhiyunconfig SYS_SUPPORTS_MIPS_CMP 2904*4882a593Smuzhiyun bool 2905*4882a593Smuzhiyun 2906*4882a593Smuzhiyunconfig SYS_SUPPORTS_MIPS_CPS 2907*4882a593Smuzhiyun bool 2908*4882a593Smuzhiyun 2909*4882a593Smuzhiyunconfig SYS_SUPPORTS_SMP 2910*4882a593Smuzhiyun bool 2911*4882a593Smuzhiyun 2912*4882a593Smuzhiyunconfig NR_CPUS_DEFAULT_4 2913*4882a593Smuzhiyun bool 2914*4882a593Smuzhiyun 2915*4882a593Smuzhiyunconfig NR_CPUS_DEFAULT_8 2916*4882a593Smuzhiyun bool 2917*4882a593Smuzhiyun 2918*4882a593Smuzhiyunconfig NR_CPUS_DEFAULT_16 2919*4882a593Smuzhiyun bool 2920*4882a593Smuzhiyun 2921*4882a593Smuzhiyunconfig NR_CPUS_DEFAULT_32 2922*4882a593Smuzhiyun bool 2923*4882a593Smuzhiyun 2924*4882a593Smuzhiyunconfig NR_CPUS_DEFAULT_64 2925*4882a593Smuzhiyun bool 2926*4882a593Smuzhiyun 2927*4882a593Smuzhiyunconfig NR_CPUS 2928*4882a593Smuzhiyun int "Maximum number of CPUs (2-256)" 2929*4882a593Smuzhiyun range 2 256 2930*4882a593Smuzhiyun depends on SMP 2931*4882a593Smuzhiyun default "4" if NR_CPUS_DEFAULT_4 2932*4882a593Smuzhiyun default "8" if NR_CPUS_DEFAULT_8 2933*4882a593Smuzhiyun default "16" if NR_CPUS_DEFAULT_16 2934*4882a593Smuzhiyun default "32" if NR_CPUS_DEFAULT_32 2935*4882a593Smuzhiyun default "64" if NR_CPUS_DEFAULT_64 2936*4882a593Smuzhiyun help 2937*4882a593Smuzhiyun This allows you to specify the maximum number of CPUs which this 2938*4882a593Smuzhiyun kernel will support. The maximum supported value is 32 for 32-bit 2939*4882a593Smuzhiyun kernel and 64 for 64-bit kernels; the minimum value which makes 2940*4882a593Smuzhiyun sense is 1 for Qemu (useful only for kernel debugging purposes) 2941*4882a593Smuzhiyun and 2 for all others. 2942*4882a593Smuzhiyun 2943*4882a593Smuzhiyun This is purely to save memory - each supported CPU adds 2944*4882a593Smuzhiyun approximately eight kilobytes to the kernel image. For best 2945*4882a593Smuzhiyun performance should round up your number of processors to the next 2946*4882a593Smuzhiyun power of two. 2947*4882a593Smuzhiyun 2948*4882a593Smuzhiyunconfig MIPS_PERF_SHARED_TC_COUNTERS 2949*4882a593Smuzhiyun bool 2950*4882a593Smuzhiyun 2951*4882a593Smuzhiyunconfig MIPS_NR_CPU_NR_MAP_1024 2952*4882a593Smuzhiyun bool 2953*4882a593Smuzhiyun 2954*4882a593Smuzhiyunconfig MIPS_NR_CPU_NR_MAP 2955*4882a593Smuzhiyun int 2956*4882a593Smuzhiyun depends on SMP 2957*4882a593Smuzhiyun default 1024 if MIPS_NR_CPU_NR_MAP_1024 2958*4882a593Smuzhiyun default NR_CPUS if !MIPS_NR_CPU_NR_MAP_1024 2959*4882a593Smuzhiyun 2960*4882a593Smuzhiyun# 2961*4882a593Smuzhiyun# Timer Interrupt Frequency Configuration 2962*4882a593Smuzhiyun# 2963*4882a593Smuzhiyun 2964*4882a593Smuzhiyunchoice 2965*4882a593Smuzhiyun prompt "Timer frequency" 2966*4882a593Smuzhiyun default HZ_250 2967*4882a593Smuzhiyun help 2968*4882a593Smuzhiyun Allows the configuration of the timer frequency. 2969*4882a593Smuzhiyun 2970*4882a593Smuzhiyun config HZ_24 2971*4882a593Smuzhiyun bool "24 HZ" if SYS_SUPPORTS_24HZ || SYS_SUPPORTS_ARBIT_HZ 2972*4882a593Smuzhiyun 2973*4882a593Smuzhiyun config HZ_48 2974*4882a593Smuzhiyun bool "48 HZ" if SYS_SUPPORTS_48HZ || SYS_SUPPORTS_ARBIT_HZ 2975*4882a593Smuzhiyun 2976*4882a593Smuzhiyun config HZ_100 2977*4882a593Smuzhiyun bool "100 HZ" if SYS_SUPPORTS_100HZ || SYS_SUPPORTS_ARBIT_HZ 2978*4882a593Smuzhiyun 2979*4882a593Smuzhiyun config HZ_128 2980*4882a593Smuzhiyun bool "128 HZ" if SYS_SUPPORTS_128HZ || SYS_SUPPORTS_ARBIT_HZ 2981*4882a593Smuzhiyun 2982*4882a593Smuzhiyun config HZ_250 2983*4882a593Smuzhiyun bool "250 HZ" if SYS_SUPPORTS_250HZ || SYS_SUPPORTS_ARBIT_HZ 2984*4882a593Smuzhiyun 2985*4882a593Smuzhiyun config HZ_256 2986*4882a593Smuzhiyun bool "256 HZ" if SYS_SUPPORTS_256HZ || SYS_SUPPORTS_ARBIT_HZ 2987*4882a593Smuzhiyun 2988*4882a593Smuzhiyun config HZ_1000 2989*4882a593Smuzhiyun bool "1000 HZ" if SYS_SUPPORTS_1000HZ || SYS_SUPPORTS_ARBIT_HZ 2990*4882a593Smuzhiyun 2991*4882a593Smuzhiyun config HZ_1024 2992*4882a593Smuzhiyun bool "1024 HZ" if SYS_SUPPORTS_1024HZ || SYS_SUPPORTS_ARBIT_HZ 2993*4882a593Smuzhiyun 2994*4882a593Smuzhiyunendchoice 2995*4882a593Smuzhiyun 2996*4882a593Smuzhiyunconfig SYS_SUPPORTS_24HZ 2997*4882a593Smuzhiyun bool 2998*4882a593Smuzhiyun 2999*4882a593Smuzhiyunconfig SYS_SUPPORTS_48HZ 3000*4882a593Smuzhiyun bool 3001*4882a593Smuzhiyun 3002*4882a593Smuzhiyunconfig SYS_SUPPORTS_100HZ 3003*4882a593Smuzhiyun bool 3004*4882a593Smuzhiyun 3005*4882a593Smuzhiyunconfig SYS_SUPPORTS_128HZ 3006*4882a593Smuzhiyun bool 3007*4882a593Smuzhiyun 3008*4882a593Smuzhiyunconfig SYS_SUPPORTS_250HZ 3009*4882a593Smuzhiyun bool 3010*4882a593Smuzhiyun 3011*4882a593Smuzhiyunconfig SYS_SUPPORTS_256HZ 3012*4882a593Smuzhiyun bool 3013*4882a593Smuzhiyun 3014*4882a593Smuzhiyunconfig SYS_SUPPORTS_1000HZ 3015*4882a593Smuzhiyun bool 3016*4882a593Smuzhiyun 3017*4882a593Smuzhiyunconfig SYS_SUPPORTS_1024HZ 3018*4882a593Smuzhiyun bool 3019*4882a593Smuzhiyun 3020*4882a593Smuzhiyunconfig SYS_SUPPORTS_ARBIT_HZ 3021*4882a593Smuzhiyun bool 3022*4882a593Smuzhiyun default y if !SYS_SUPPORTS_24HZ && \ 3023*4882a593Smuzhiyun !SYS_SUPPORTS_48HZ && \ 3024*4882a593Smuzhiyun !SYS_SUPPORTS_100HZ && \ 3025*4882a593Smuzhiyun !SYS_SUPPORTS_128HZ && \ 3026*4882a593Smuzhiyun !SYS_SUPPORTS_250HZ && \ 3027*4882a593Smuzhiyun !SYS_SUPPORTS_256HZ && \ 3028*4882a593Smuzhiyun !SYS_SUPPORTS_1000HZ && \ 3029*4882a593Smuzhiyun !SYS_SUPPORTS_1024HZ 3030*4882a593Smuzhiyun 3031*4882a593Smuzhiyunconfig HZ 3032*4882a593Smuzhiyun int 3033*4882a593Smuzhiyun default 24 if HZ_24 3034*4882a593Smuzhiyun default 48 if HZ_48 3035*4882a593Smuzhiyun default 100 if HZ_100 3036*4882a593Smuzhiyun default 128 if HZ_128 3037*4882a593Smuzhiyun default 250 if HZ_250 3038*4882a593Smuzhiyun default 256 if HZ_256 3039*4882a593Smuzhiyun default 1000 if HZ_1000 3040*4882a593Smuzhiyun default 1024 if HZ_1024 3041*4882a593Smuzhiyun 3042*4882a593Smuzhiyunconfig SCHED_HRTICK 3043*4882a593Smuzhiyun def_bool HIGH_RES_TIMERS 3044*4882a593Smuzhiyun 3045*4882a593Smuzhiyunconfig KEXEC 3046*4882a593Smuzhiyun bool "Kexec system call" 3047*4882a593Smuzhiyun select KEXEC_CORE 3048*4882a593Smuzhiyun help 3049*4882a593Smuzhiyun kexec is a system call that implements the ability to shutdown your 3050*4882a593Smuzhiyun current kernel, and to start another kernel. It is like a reboot 3051*4882a593Smuzhiyun but it is independent of the system firmware. And like a reboot 3052*4882a593Smuzhiyun you can start any kernel with it, not just Linux. 3053*4882a593Smuzhiyun 3054*4882a593Smuzhiyun The name comes from the similarity to the exec system call. 3055*4882a593Smuzhiyun 3056*4882a593Smuzhiyun It is an ongoing process to be certain the hardware in a machine 3057*4882a593Smuzhiyun is properly shutdown, so do not be surprised if this code does not 3058*4882a593Smuzhiyun initially work for you. As of this writing the exact hardware 3059*4882a593Smuzhiyun interface is strongly in flux, so no good recommendation can be 3060*4882a593Smuzhiyun made. 3061*4882a593Smuzhiyun 3062*4882a593Smuzhiyunconfig CRASH_DUMP 3063*4882a593Smuzhiyun bool "Kernel crash dumps" 3064*4882a593Smuzhiyun help 3065*4882a593Smuzhiyun Generate crash dump after being started by kexec. 3066*4882a593Smuzhiyun This should be normally only set in special crash dump kernels 3067*4882a593Smuzhiyun which are loaded in the main kernel with kexec-tools into 3068*4882a593Smuzhiyun a specially reserved region and then later executed after 3069*4882a593Smuzhiyun a crash by kdump/kexec. The crash dump kernel must be compiled 3070*4882a593Smuzhiyun to a memory address not used by the main kernel or firmware using 3071*4882a593Smuzhiyun PHYSICAL_START. 3072*4882a593Smuzhiyun 3073*4882a593Smuzhiyunconfig PHYSICAL_START 3074*4882a593Smuzhiyun hex "Physical address where the kernel is loaded" 3075*4882a593Smuzhiyun default "0xffffffff84000000" 3076*4882a593Smuzhiyun depends on CRASH_DUMP 3077*4882a593Smuzhiyun help 3078*4882a593Smuzhiyun This gives the CKSEG0 or KSEG0 address where the kernel is loaded. 3079*4882a593Smuzhiyun If you plan to use kernel for capturing the crash dump change 3080*4882a593Smuzhiyun this value to start of the reserved region (the "X" value as 3081*4882a593Smuzhiyun specified in the "crashkernel=YM@XM" command line boot parameter 3082*4882a593Smuzhiyun passed to the panic-ed kernel). 3083*4882a593Smuzhiyun 3084*4882a593Smuzhiyunconfig MIPS_O32_FP64_SUPPORT 3085*4882a593Smuzhiyun bool "Support for O32 binaries using 64-bit FP" if !CPU_MIPSR6 3086*4882a593Smuzhiyun depends on 32BIT || MIPS32_O32 3087*4882a593Smuzhiyun help 3088*4882a593Smuzhiyun When this is enabled, the kernel will support use of 64-bit floating 3089*4882a593Smuzhiyun point registers with binaries using the O32 ABI along with the 3090*4882a593Smuzhiyun EF_MIPS_FP64 ELF header flag (typically built with -mfp64). On 3091*4882a593Smuzhiyun 32-bit MIPS systems this support is at the cost of increasing the 3092*4882a593Smuzhiyun size and complexity of the compiled FPU emulator. Thus if you are 3093*4882a593Smuzhiyun running a MIPS32 system and know that none of your userland binaries 3094*4882a593Smuzhiyun will require 64-bit floating point, you may wish to reduce the size 3095*4882a593Smuzhiyun of your kernel & potentially improve FP emulation performance by 3096*4882a593Smuzhiyun saying N here. 3097*4882a593Smuzhiyun 3098*4882a593Smuzhiyun Although binutils currently supports use of this flag the details 3099*4882a593Smuzhiyun concerning its effect upon the O32 ABI in userland are still being 3100*4882a593Smuzhiyun worked on. In order to avoid userland becoming dependant upon current 3101*4882a593Smuzhiyun behaviour before the details have been finalised, this option should 3102*4882a593Smuzhiyun be considered experimental and only enabled by those working upon 3103*4882a593Smuzhiyun said details. 3104*4882a593Smuzhiyun 3105*4882a593Smuzhiyun If unsure, say N. 3106*4882a593Smuzhiyun 3107*4882a593Smuzhiyunconfig USE_OF 3108*4882a593Smuzhiyun bool 3109*4882a593Smuzhiyun select OF 3110*4882a593Smuzhiyun select OF_EARLY_FLATTREE 3111*4882a593Smuzhiyun select IRQ_DOMAIN 3112*4882a593Smuzhiyun 3113*4882a593Smuzhiyunconfig UHI_BOOT 3114*4882a593Smuzhiyun bool 3115*4882a593Smuzhiyun 3116*4882a593Smuzhiyunconfig BUILTIN_DTB 3117*4882a593Smuzhiyun bool 3118*4882a593Smuzhiyun 3119*4882a593Smuzhiyunchoice 3120*4882a593Smuzhiyun prompt "Kernel appended dtb support" if USE_OF 3121*4882a593Smuzhiyun default MIPS_NO_APPENDED_DTB 3122*4882a593Smuzhiyun 3123*4882a593Smuzhiyun config MIPS_NO_APPENDED_DTB 3124*4882a593Smuzhiyun bool "None" 3125*4882a593Smuzhiyun help 3126*4882a593Smuzhiyun Do not enable appended dtb support. 3127*4882a593Smuzhiyun 3128*4882a593Smuzhiyun config MIPS_ELF_APPENDED_DTB 3129*4882a593Smuzhiyun bool "vmlinux" 3130*4882a593Smuzhiyun help 3131*4882a593Smuzhiyun With this option, the boot code will look for a device tree binary 3132*4882a593Smuzhiyun DTB) included in the vmlinux ELF section .appended_dtb. By default 3133*4882a593Smuzhiyun it is empty and the DTB can be appended using binutils command 3134*4882a593Smuzhiyun objcopy: 3135*4882a593Smuzhiyun 3136*4882a593Smuzhiyun objcopy --update-section .appended_dtb=<filename>.dtb vmlinux 3137*4882a593Smuzhiyun 3138*4882a593Smuzhiyun This is meant as a backward compatiblity convenience for those 3139*4882a593Smuzhiyun systems with a bootloader that can't be upgraded to accommodate 3140*4882a593Smuzhiyun the documented boot protocol using a device tree. 3141*4882a593Smuzhiyun 3142*4882a593Smuzhiyun config MIPS_RAW_APPENDED_DTB 3143*4882a593Smuzhiyun bool "vmlinux.bin or vmlinuz.bin" 3144*4882a593Smuzhiyun help 3145*4882a593Smuzhiyun With this option, the boot code will look for a device tree binary 3146*4882a593Smuzhiyun DTB) appended to raw vmlinux.bin or vmlinuz.bin. 3147*4882a593Smuzhiyun (e.g. cat vmlinux.bin <filename>.dtb > vmlinux_w_dtb). 3148*4882a593Smuzhiyun 3149*4882a593Smuzhiyun This is meant as a backward compatibility convenience for those 3150*4882a593Smuzhiyun systems with a bootloader that can't be upgraded to accommodate 3151*4882a593Smuzhiyun the documented boot protocol using a device tree. 3152*4882a593Smuzhiyun 3153*4882a593Smuzhiyun Beware that there is very little in terms of protection against 3154*4882a593Smuzhiyun this option being confused by leftover garbage in memory that might 3155*4882a593Smuzhiyun look like a DTB header after a reboot if no actual DTB is appended 3156*4882a593Smuzhiyun to vmlinux.bin. Do not leave this option active in a production kernel 3157*4882a593Smuzhiyun if you don't intend to always append a DTB. 3158*4882a593Smuzhiyunendchoice 3159*4882a593Smuzhiyun 3160*4882a593Smuzhiyunchoice 3161*4882a593Smuzhiyun prompt "Kernel command line type" if !CMDLINE_OVERRIDE 3162*4882a593Smuzhiyun default MIPS_CMDLINE_FROM_DTB if USE_OF && !ATH79 && !MACH_INGENIC && \ 3163*4882a593Smuzhiyun !MACH_LOONGSON64 && !MIPS_MALTA && \ 3164*4882a593Smuzhiyun !CAVIUM_OCTEON_SOC 3165*4882a593Smuzhiyun default MIPS_CMDLINE_FROM_BOOTLOADER 3166*4882a593Smuzhiyun 3167*4882a593Smuzhiyun config MIPS_CMDLINE_FROM_DTB 3168*4882a593Smuzhiyun depends on USE_OF 3169*4882a593Smuzhiyun bool "Dtb kernel arguments if available" 3170*4882a593Smuzhiyun 3171*4882a593Smuzhiyun config MIPS_CMDLINE_DTB_EXTEND 3172*4882a593Smuzhiyun depends on USE_OF 3173*4882a593Smuzhiyun bool "Extend dtb kernel arguments with bootloader arguments" 3174*4882a593Smuzhiyun 3175*4882a593Smuzhiyun config MIPS_CMDLINE_FROM_BOOTLOADER 3176*4882a593Smuzhiyun bool "Bootloader kernel arguments if available" 3177*4882a593Smuzhiyun 3178*4882a593Smuzhiyun config MIPS_CMDLINE_BUILTIN_EXTEND 3179*4882a593Smuzhiyun depends on CMDLINE_BOOL 3180*4882a593Smuzhiyun bool "Extend builtin kernel arguments with bootloader arguments" 3181*4882a593Smuzhiyunendchoice 3182*4882a593Smuzhiyun 3183*4882a593Smuzhiyunendmenu 3184*4882a593Smuzhiyun 3185*4882a593Smuzhiyunconfig LOCKDEP_SUPPORT 3186*4882a593Smuzhiyun bool 3187*4882a593Smuzhiyun default y 3188*4882a593Smuzhiyun 3189*4882a593Smuzhiyunconfig STACKTRACE_SUPPORT 3190*4882a593Smuzhiyun bool 3191*4882a593Smuzhiyun default y 3192*4882a593Smuzhiyun 3193*4882a593Smuzhiyunconfig PGTABLE_LEVELS 3194*4882a593Smuzhiyun int 3195*4882a593Smuzhiyun default 4 if PAGE_SIZE_4KB && MIPS_VA_BITS_48 3196*4882a593Smuzhiyun default 3 if 64BIT && (!PAGE_SIZE_64KB || MIPS_VA_BITS_48) 3197*4882a593Smuzhiyun default 2 3198*4882a593Smuzhiyun 3199*4882a593Smuzhiyunconfig MIPS_AUTO_PFN_OFFSET 3200*4882a593Smuzhiyun bool 3201*4882a593Smuzhiyun 3202*4882a593Smuzhiyunmenu "Bus options (PCI, PCMCIA, EISA, ISA, TC)" 3203*4882a593Smuzhiyun 3204*4882a593Smuzhiyunconfig PCI_DRIVERS_GENERIC 3205*4882a593Smuzhiyun select PCI_DOMAINS_GENERIC if PCI 3206*4882a593Smuzhiyun bool 3207*4882a593Smuzhiyun 3208*4882a593Smuzhiyunconfig PCI_DRIVERS_LEGACY 3209*4882a593Smuzhiyun def_bool !PCI_DRIVERS_GENERIC 3210*4882a593Smuzhiyun select NO_GENERIC_PCI_IOPORT_MAP 3211*4882a593Smuzhiyun select PCI_DOMAINS if PCI 3212*4882a593Smuzhiyun 3213*4882a593Smuzhiyun# 3214*4882a593Smuzhiyun# ISA support is now enabled via select. Too many systems still have the one 3215*4882a593Smuzhiyun# or other ISA chip on the board that users don't know about so don't expect 3216*4882a593Smuzhiyun# users to choose the right thing ... 3217*4882a593Smuzhiyun# 3218*4882a593Smuzhiyunconfig ISA 3219*4882a593Smuzhiyun bool 3220*4882a593Smuzhiyun 3221*4882a593Smuzhiyunconfig TC 3222*4882a593Smuzhiyun bool "TURBOchannel support" 3223*4882a593Smuzhiyun depends on MACH_DECSTATION 3224*4882a593Smuzhiyun help 3225*4882a593Smuzhiyun TURBOchannel is a DEC (now Compaq (now HP)) bus for Alpha and MIPS 3226*4882a593Smuzhiyun processors. TURBOchannel programming specifications are available 3227*4882a593Smuzhiyun at: 3228*4882a593Smuzhiyun <ftp://ftp.hp.com/pub/alphaserver/archive/triadd/> 3229*4882a593Smuzhiyun and: 3230*4882a593Smuzhiyun <http://www.computer-refuge.org/classiccmp/ftp.digital.com/pub/DEC/TriAdd/> 3231*4882a593Smuzhiyun Linux driver support status is documented at: 3232*4882a593Smuzhiyun <http://www.linux-mips.org/wiki/DECstation> 3233*4882a593Smuzhiyun 3234*4882a593Smuzhiyunconfig MMU 3235*4882a593Smuzhiyun bool 3236*4882a593Smuzhiyun default y 3237*4882a593Smuzhiyun 3238*4882a593Smuzhiyunconfig ARCH_MMAP_RND_BITS_MIN 3239*4882a593Smuzhiyun default 12 if 64BIT 3240*4882a593Smuzhiyun default 8 3241*4882a593Smuzhiyun 3242*4882a593Smuzhiyunconfig ARCH_MMAP_RND_BITS_MAX 3243*4882a593Smuzhiyun default 18 if 64BIT 3244*4882a593Smuzhiyun default 15 3245*4882a593Smuzhiyun 3246*4882a593Smuzhiyunconfig ARCH_MMAP_RND_COMPAT_BITS_MIN 3247*4882a593Smuzhiyun default 8 3248*4882a593Smuzhiyun 3249*4882a593Smuzhiyunconfig ARCH_MMAP_RND_COMPAT_BITS_MAX 3250*4882a593Smuzhiyun default 15 3251*4882a593Smuzhiyun 3252*4882a593Smuzhiyunconfig I8253 3253*4882a593Smuzhiyun bool 3254*4882a593Smuzhiyun select CLKSRC_I8253 3255*4882a593Smuzhiyun select CLKEVT_I8253 3256*4882a593Smuzhiyun select MIPS_EXTERNAL_TIMER 3257*4882a593Smuzhiyun 3258*4882a593Smuzhiyunconfig ZONE_DMA 3259*4882a593Smuzhiyun bool 3260*4882a593Smuzhiyun 3261*4882a593Smuzhiyunconfig ZONE_DMA32 3262*4882a593Smuzhiyun bool 3263*4882a593Smuzhiyun 3264*4882a593Smuzhiyunendmenu 3265*4882a593Smuzhiyun 3266*4882a593Smuzhiyunconfig TRAD_SIGNALS 3267*4882a593Smuzhiyun bool 3268*4882a593Smuzhiyun 3269*4882a593Smuzhiyunconfig MIPS32_COMPAT 3270*4882a593Smuzhiyun bool 3271*4882a593Smuzhiyun 3272*4882a593Smuzhiyunconfig COMPAT 3273*4882a593Smuzhiyun bool 3274*4882a593Smuzhiyun 3275*4882a593Smuzhiyunconfig SYSVIPC_COMPAT 3276*4882a593Smuzhiyun bool 3277*4882a593Smuzhiyun 3278*4882a593Smuzhiyunconfig MIPS32_O32 3279*4882a593Smuzhiyun bool "Kernel support for o32 binaries" 3280*4882a593Smuzhiyun depends on 64BIT 3281*4882a593Smuzhiyun select ARCH_WANT_OLD_COMPAT_IPC 3282*4882a593Smuzhiyun select COMPAT 3283*4882a593Smuzhiyun select MIPS32_COMPAT 3284*4882a593Smuzhiyun select SYSVIPC_COMPAT if SYSVIPC 3285*4882a593Smuzhiyun help 3286*4882a593Smuzhiyun Select this option if you want to run o32 binaries. These are pure 3287*4882a593Smuzhiyun 32-bit binaries as used by the 32-bit Linux/MIPS port. Most of 3288*4882a593Smuzhiyun existing binaries are in this format. 3289*4882a593Smuzhiyun 3290*4882a593Smuzhiyun If unsure, say Y. 3291*4882a593Smuzhiyun 3292*4882a593Smuzhiyunconfig MIPS32_N32 3293*4882a593Smuzhiyun bool "Kernel support for n32 binaries" 3294*4882a593Smuzhiyun depends on 64BIT 3295*4882a593Smuzhiyun select ARCH_WANT_COMPAT_IPC_PARSE_VERSION 3296*4882a593Smuzhiyun select COMPAT 3297*4882a593Smuzhiyun select MIPS32_COMPAT 3298*4882a593Smuzhiyun select SYSVIPC_COMPAT if SYSVIPC 3299*4882a593Smuzhiyun help 3300*4882a593Smuzhiyun Select this option if you want to run n32 binaries. These are 3301*4882a593Smuzhiyun 64-bit binaries using 32-bit quantities for addressing and certain 3302*4882a593Smuzhiyun data that would normally be 64-bit. They are used in special 3303*4882a593Smuzhiyun cases. 3304*4882a593Smuzhiyun 3305*4882a593Smuzhiyun If unsure, say N. 3306*4882a593Smuzhiyun 3307*4882a593Smuzhiyunconfig BINFMT_ELF32 3308*4882a593Smuzhiyun bool 3309*4882a593Smuzhiyun default y if MIPS32_O32 || MIPS32_N32 3310*4882a593Smuzhiyun select ELFCORE 3311*4882a593Smuzhiyun 3312*4882a593Smuzhiyunmenu "Power management options" 3313*4882a593Smuzhiyun 3314*4882a593Smuzhiyunconfig ARCH_HIBERNATION_POSSIBLE 3315*4882a593Smuzhiyun def_bool y 3316*4882a593Smuzhiyun depends on SYS_SUPPORTS_HOTPLUG_CPU || !SMP 3317*4882a593Smuzhiyun 3318*4882a593Smuzhiyunconfig ARCH_SUSPEND_POSSIBLE 3319*4882a593Smuzhiyun def_bool y 3320*4882a593Smuzhiyun depends on SYS_SUPPORTS_HOTPLUG_CPU || !SMP 3321*4882a593Smuzhiyun 3322*4882a593Smuzhiyunsource "kernel/power/Kconfig" 3323*4882a593Smuzhiyun 3324*4882a593Smuzhiyunendmenu 3325*4882a593Smuzhiyun 3326*4882a593Smuzhiyunconfig MIPS_EXTERNAL_TIMER 3327*4882a593Smuzhiyun bool 3328*4882a593Smuzhiyun 3329*4882a593Smuzhiyunmenu "CPU Power Management" 3330*4882a593Smuzhiyun 3331*4882a593Smuzhiyunif CPU_SUPPORTS_CPUFREQ && MIPS_EXTERNAL_TIMER 3332*4882a593Smuzhiyunsource "drivers/cpufreq/Kconfig" 3333*4882a593Smuzhiyunendif 3334*4882a593Smuzhiyun 3335*4882a593Smuzhiyunsource "drivers/cpuidle/Kconfig" 3336*4882a593Smuzhiyun 3337*4882a593Smuzhiyunendmenu 3338*4882a593Smuzhiyun 3339*4882a593Smuzhiyunsource "drivers/firmware/Kconfig" 3340*4882a593Smuzhiyun 3341*4882a593Smuzhiyunsource "arch/mips/kvm/Kconfig" 3342*4882a593Smuzhiyun 3343*4882a593Smuzhiyunsource "arch/mips/vdso/Kconfig" 3344