]> git.karo-electronics.de Git - karo-tx-linux.git/blobdiff - arch/mips/Kconfig
Merge tag 'mfd-for-linus-3.16-1' of git://git.kernel.org/pub/scm/linux/kernel/git...
[karo-tx-linux.git] / arch / mips / Kconfig
index 860a1e9e8d925929897ebf05714c2768e5ab6ac0..7a469acee33c67f369b630d1da993e947fa6c393 100644 (file)
@@ -12,6 +12,7 @@ config MIPS
        select HAVE_ARCH_KGDB
        select HAVE_ARCH_SECCOMP_FILTER
        select HAVE_ARCH_TRACEHOOK
+       select HAVE_BPF_JIT if !CPU_MICROMIPS
        select ARCH_HAVE_CUSTOM_GPIO_H
        select HAVE_FUNCTION_TRACER
        select HAVE_FUNCTION_TRACE_MCOUNT_TEST
@@ -85,6 +86,7 @@ config AR7
        select SYS_HAS_EARLY_PRINTK
        select SYS_SUPPORTS_32BIT_KERNEL
        select SYS_SUPPORTS_LITTLE_ENDIAN
+       select SYS_SUPPORTS_MIPS16
        select SYS_SUPPORTS_ZBOOT_UART16550
        select ARCH_REQUIRE_GPIOLIB
        select VLYNQ
@@ -108,6 +110,7 @@ config ATH79
        select SYS_HAS_EARLY_PRINTK
        select SYS_SUPPORTS_32BIT_KERNEL
        select SYS_SUPPORTS_BIG_ENDIAN
+       select SYS_SUPPORTS_MIPS16
        help
          Support for the Atheros AR71XX/AR724X/AR913X SoCs.
 
@@ -124,6 +127,7 @@ config BCM47XX
        select NO_EXCEPT_FILL
        select SYS_SUPPORTS_32BIT_KERNEL
        select SYS_SUPPORTS_LITTLE_ENDIAN
+       select SYS_SUPPORTS_MIPS16
        select SYS_HAS_EARLY_PRINTK
        select USE_GENERIC_EARLY_PRINTK_8250
        help
@@ -170,9 +174,9 @@ config MACH_DECSTATION
        bool "DECstations"
        select BOOT_ELF32
        select CEVT_DS1287
-       select CEVT_R4K
+       select CEVT_R4K if CPU_R4X00
        select CSRC_IOASIC
-       select CSRC_R4K
+       select CSRC_R4K if CPU_R4X00
        select CPU_DADDI_WORKAROUNDS if 64BIT
        select CPU_R4000_WORKAROUNDS if 64BIT
        select CPU_R4400_WORKAROUNDS if 64BIT
@@ -250,6 +254,7 @@ config LANTIQ
        select SYS_HAS_CPU_MIPS32_R2
        select SYS_SUPPORTS_BIG_ENDIAN
        select SYS_SUPPORTS_32BIT_KERNEL
+       select SYS_SUPPORTS_MIPS16
        select SYS_SUPPORTS_MULTITHREADING
        select SYS_HAS_EARLY_PRINTK
        select ARCH_REQUIRE_GPIOLIB
@@ -332,6 +337,7 @@ config MIPS_MALTA
        select SYS_SUPPORTS_LITTLE_ENDIAN
        select SYS_SUPPORTS_MIPS_CMP
        select SYS_SUPPORTS_MIPS_CPS
+       select SYS_SUPPORTS_MIPS16
        select SYS_SUPPORTS_MULTITHREADING
        select SYS_SUPPORTS_SMARTMIPS
        select SYS_SUPPORTS_ZBOOT
@@ -363,6 +369,7 @@ config MIPS_SEAD3
        select SYS_SUPPORTS_LITTLE_ENDIAN
        select SYS_SUPPORTS_SMARTMIPS
        select SYS_SUPPORTS_MICROMIPS
+       select SYS_SUPPORTS_MIPS16
        select USB_EHCI_BIG_ENDIAN_DESC
        select USB_EHCI_BIG_ENDIAN_MMIO
        select USE_OF
@@ -382,6 +389,7 @@ config MACH_VR41XX
        select CEVT_R4K
        select CSRC_R4K
        select SYS_HAS_CPU_VR41XX
+       select SYS_SUPPORTS_MIPS16
        select ARCH_REQUIRE_GPIOLIB
 
 config NXP_STB220
@@ -409,6 +417,7 @@ config PMC_MSP
        select SYS_HAS_CPU_MIPS32_R2
        select SYS_SUPPORTS_32BIT_KERNEL
        select SYS_SUPPORTS_BIG_ENDIAN
+       select SYS_SUPPORTS_MIPS16
        select IRQ_CPU
        select SERIAL_8250
        select SERIAL_8250_CONSOLE
@@ -432,6 +441,7 @@ config RALINK
        select SYS_HAS_CPU_MIPS32_R2
        select SYS_SUPPORTS_32BIT_KERNEL
        select SYS_SUPPORTS_LITTLE_ENDIAN
+       select SYS_SUPPORTS_MIPS16
        select SYS_HAS_EARLY_PRINTK
        select HAVE_MACH_CLKDEV
        select CLKDEV_LOOKUP
@@ -676,7 +686,6 @@ config SNI_RM
        select SYS_SUPPORTS_BIG_ENDIAN
        select SYS_SUPPORTS_HIGHMEM
        select SYS_SUPPORTS_LITTLE_ENDIAN
-       select USE_GENERIC_EARLY_PRINTK_8250
        help
          The SNI RM200/300/400 are MIPS-based machines manufactured by
          Siemens Nixdorf Informationssysteme (SNI), parent company of Pyramid
@@ -723,6 +732,11 @@ config CAVIUM_OCTEON_SOC
        select ZONE_DMA32
        select HOLES_IN_ZONE
        select ARCH_REQUIRE_GPIOLIB
+       select LIBFDT
+       select USE_OF
+       select ARCH_SPARSEMEM_ENABLE
+       select SYS_SUPPORTS_SMP
+       select NR_CPUS_DEFAULT_16
        help
          This option supports all of the Octeon reference boards from Cavium
          Networks. It builds a kernel that dynamically determines the Octeon
@@ -791,6 +805,25 @@ config NLM_XLP_BOARD
          This board is based on Netlogic XLP Processor.
          Say Y here if you have a XLP based board.
 
+config MIPS_PARAVIRT
+       bool "Para-Virtualized guest system"
+       select CEVT_R4K
+       select CSRC_R4K
+       select DMA_COHERENT
+       select SYS_SUPPORTS_64BIT_KERNEL
+       select SYS_SUPPORTS_32BIT_KERNEL
+       select SYS_SUPPORTS_BIG_ENDIAN
+       select SYS_SUPPORTS_SMP
+       select NR_CPUS_DEFAULT_4
+       select SYS_HAS_EARLY_PRINTK
+       select SYS_HAS_CPU_MIPS32_R2
+       select SYS_HAS_CPU_MIPS64_R2
+       select SYS_HAS_CPU_CAVIUM_OCTEON
+       select HW_HAS_PCI
+       select SWAP_IO_SPACE
+       help
+         This option supports guest running under ????
+
 endchoice
 
 source "arch/mips/alchemy/Kconfig"
@@ -811,6 +844,7 @@ source "arch/mips/cavium-octeon/Kconfig"
 source "arch/mips/loongson/Kconfig"
 source "arch/mips/loongson1/Kconfig"
 source "arch/mips/netlogic/Kconfig"
+source "arch/mips/paravirt/Kconfig"
 
 endmenu
 
@@ -1061,6 +1095,7 @@ config SOC_PNX833X
        select SYS_SUPPORTS_32BIT_KERNEL
        select SYS_SUPPORTS_LITTLE_ENDIAN
        select SYS_SUPPORTS_BIG_ENDIAN
+       select SYS_SUPPORTS_MIPS16
        select CPU_MIPSR2_IRQ_VI
 
 config SOC_PNX8335
@@ -1400,16 +1435,11 @@ config CPU_SB1
 config CPU_CAVIUM_OCTEON
        bool "Cavium Octeon processor"
        depends on SYS_HAS_CPU_CAVIUM_OCTEON
-       select ARCH_SPARSEMEM_ENABLE
        select CPU_HAS_PREFETCH
        select CPU_SUPPORTS_64BIT_KERNEL
-       select SYS_SUPPORTS_SMP
-       select NR_CPUS_DEFAULT_16
        select WEAK_ORDERING
        select CPU_SUPPORTS_HIGHMEM
        select CPU_SUPPORTS_HUGEPAGES
-       select LIBFDT
-       select USE_OF
        select USB_EHCI_BIG_ENDIAN_MMIO
        select MIPS_L1_CACHE_SHIFT_7
        help
@@ -1661,6 +1691,12 @@ config SYS_HAS_CPU_XLR
 config SYS_HAS_CPU_XLP
        bool
 
+config MIPS_MALTA_PM
+       depends on MIPS_MALTA
+       depends on PCI
+       bool
+       default y
+
 #
 # CPU may reorder R->R, R->W, W->R, W->W
 # Reordering beyond LL and SC is handled in WEAK_REORDERING_BEYOND_LLSC
@@ -1758,14 +1794,14 @@ config KVM_GUEST
        help
          Select this option if building a guest kernel for KVM (Trap & Emulate) mode
 
-config KVM_HOST_FREQ
-       int "KVM Host Processor Frequency (MHz)"
+config KVM_GUEST_TIMER_FREQ
+       int "Count/Compare Timer Frequency (MHz)"
        depends on KVM_GUEST
-       default 500
+       default 100
        help
-         Select this option if building a guest kernel for KVM to skip
-         RTC emulation when determining guest CPU Frequency.  Instead, the guest
-         processor frequency is automatically derived from the host frequency.
+         Set this to non-zero if building a guest kernel for KVM to skip RTC
+         emulation when determining guest CPU Frequency. Instead, the guest's
+         timer frequency is specified directly.
 
 choice
        prompt "Kernel page size"
@@ -1844,7 +1880,7 @@ config FORCE_MAX_ZONEORDER
 
 config CEVT_GIC
        bool "Use GIC global counter for clock events"
-       depends on IRQ_GIC && !(MIPS_SEAD3 || MIPS_MT_SMTC)
+       depends on IRQ_GIC && !MIPS_SEAD3
        help
          Use the GIC global counter for the clock events. The R4K clock
          event driver is always present, so if the platform ends up not
@@ -1897,19 +1933,8 @@ config CPU_R4K_CACHE_TLB
        bool
        default y if !(CPU_R3000 || CPU_R8000 || CPU_SB1 || CPU_TX39XX || CPU_CAVIUM_OCTEON)
 
-choice
-       prompt "MIPS MT options"
-
-config MIPS_MT_DISABLED
-       bool "Disable multithreading support"
-       help
-         Use this option if your platform does not support the MT ASE
-         which is hardware multithreading support. On systems without
-         an MT-enabled processor, this will be the only option that is
-         available in this menu.
-
 config MIPS_MT_SMP
-       bool "Use 1 TC on each available VPE for SMP"
+       bool "MIPS MT SMP support (1 TC on each available VPE)"
        depends on SYS_SUPPORTS_MULTITHREADING
        select CPU_MIPSR2_IRQ_VI
        select CPU_MIPSR2_IRQ_EI
@@ -1928,26 +1953,6 @@ config MIPS_MT_SMP
          Intel Hyperthreading feature. For further information go to
          <http://www.imgtec.com/mips/mips-multithreading.asp>.
 
-config MIPS_MT_SMTC
-       bool "Use all TCs on all VPEs for SMP (DEPRECATED)"
-       depends on CPU_MIPS32_R2
-       depends on SYS_SUPPORTS_MULTITHREADING
-       depends on !MIPS_CPS
-       select CPU_MIPSR2_IRQ_VI
-       select CPU_MIPSR2_IRQ_EI
-       select MIPS_MT
-       select SMP
-       select SMP_UP
-       select SYS_SUPPORTS_SMP
-       select NR_CPUS_DEFAULT_8
-       help
-         This is a kernel model which is known as SMTC. This is
-         supported on cores with the MT ASE and presents all TCs
-         available on all VPEs to support SMP. For further
-         information see <http://www.linux-mips.org/wiki/34K#SMTC>.
-
-endchoice
-
 config MIPS_MT
        bool
 
@@ -1969,7 +1974,7 @@ config SYS_SUPPORTS_MULTITHREADING
 config MIPS_MT_FPAFF
        bool "Dynamic FPU affinity for FP-intensive threads"
        default y
-       depends on MIPS_MT_SMP || MIPS_MT_SMTC
+       depends on MIPS_MT_SMP
 
 config MIPS_VPE_LOADER
        bool "VPE loader support."
@@ -1991,29 +1996,6 @@ config MIPS_VPE_LOADER_MT
        default "y"
        depends on MIPS_VPE_LOADER && !MIPS_CMP
 
-config MIPS_MT_SMTC_IM_BACKSTOP
-       bool "Use per-TC register bits as backstop for inhibited IM bits"
-       depends on MIPS_MT_SMTC
-       default n
-       help
-         To support multiple TC microthreads acting as "CPUs" within
-         a VPE, VPE-wide interrupt mask bits must be specially manipulated
-         during interrupt handling. To support legacy drivers and interrupt
-         controller management code, SMTC has a "backstop" to track and
-         if necessary restore the interrupt mask. This has some performance
-         impact on interrupt service overhead.
-
-config MIPS_MT_SMTC_IRQAFF
-       bool "Support IRQ affinity API"
-       depends on MIPS_MT_SMTC
-       default n
-       help
-         Enables SMP IRQ affinity API (/proc/irq/*/smp_affinity, etc.)
-         for SMTC Linux kernel. Requires platform support, of which
-         an example can be found in the MIPS kernel i8259 and Malta
-         platform code.  Adds some overhead to interrupt dispatch, and
-         should be used only if you know what you are doing.
-
 config MIPS_VPE_LOADER_TOM
        bool "Load VPE program into memory hidden from linux"
        depends on MIPS_VPE_LOADER
@@ -2041,7 +2023,7 @@ config MIPS_VPE_APSP_API_MT
 
 config MIPS_CMP
        bool "MIPS CMP framework support (DEPRECATED)"
-       depends on SYS_SUPPORTS_MIPS_CMP && !MIPS_MT_SMTC
+       depends on SYS_SUPPORTS_MIPS_CMP
        select MIPS_GIC_IPI
        select SYNC_R4K
        select WEAK_ORDERING
@@ -2206,6 +2188,13 @@ config SYS_SUPPORTS_SMARTMIPS
 config SYS_SUPPORTS_MICROMIPS
        bool
 
+config SYS_SUPPORTS_MIPS16
+       bool
+       help
+         This option must be set if a kernel might be executed on a MIPS16-
+         enabled CPU even if MIPS16 is not actually being used.  In other
+         words, it makes the kernel MIPS16-tolerant.
+
 config CPU_SUPPORTS_MSA
        bool
 
@@ -2246,7 +2235,7 @@ config NODES_SHIFT
 
 config HW_PERF_EVENTS
        bool "Enable hardware performance counter support for perf events"
-       depends on PERF_EVENTS && !MIPS_MT_SMTC && OPROFILE=n && (CPU_MIPS32 || CPU_MIPS64 || CPU_R10000 || CPU_SB1 || CPU_CAVIUM_OCTEON || CPU_XLP)
+       depends on PERF_EVENTS && OPROFILE=n && (CPU_MIPS32 || CPU_MIPS64 || CPU_R10000 || CPU_SB1 || CPU_CAVIUM_OCTEON || CPU_XLP)
        default y
        help
          Enable hardware performance counter support for perf events. If
@@ -2304,8 +2293,8 @@ config NR_CPUS_DEFAULT_64
        bool
 
 config NR_CPUS
-       int "Maximum number of CPUs (2-64)"
-       range 2 64
+       int "Maximum number of CPUs (2-256)"
+       range 2 256
        depends on SMP
        default "4" if NR_CPUS_DEFAULT_4
        default "8" if NR_CPUS_DEFAULT_8
@@ -2678,12 +2667,16 @@ endmenu
 config MIPS_EXTERNAL_TIMER
        bool
 
-if CPU_SUPPORTS_CPUFREQ && MIPS_EXTERNAL_TIMER
 menu "CPU Power Management"
+
+if CPU_SUPPORTS_CPUFREQ && MIPS_EXTERNAL_TIMER
 source "drivers/cpufreq/Kconfig"
-endmenu
 endif
 
+source "drivers/cpuidle/Kconfig"
+
+endmenu
+
 source "net/Kconfig"
 
 source "drivers/Kconfig"