Merge branch 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/viro/signal
[linux-3.10.git] / arch / mips / Kconfig
index d6c7890..b7dc39c 100644 (file)
@@ -8,6 +8,7 @@ config MIPS
        select HAVE_PERF_EVENTS
        select PERF_USE_VMALLOC
        select HAVE_ARCH_KGDB
+       select ARCH_HAVE_CUSTOM_GPIO_H
        select HAVE_FUNCTION_TRACER
        select HAVE_FUNCTION_TRACE_MCOUNT_TEST
        select HAVE_DYNAMIC_FTRACE
@@ -16,21 +17,30 @@ config MIPS
        select HAVE_FUNCTION_GRAPH_TRACER
        select HAVE_KPROBES
        select HAVE_KRETPROBES
+       select HAVE_DEBUG_KMEMLEAK
        select ARCH_BINFMT_ELF_RANDOMIZE_PIE
+       select HAVE_ARCH_TRANSPARENT_HUGEPAGE
        select RTC_LIB if !MACH_LOONGSON
        select GENERIC_ATOMIC64 if !64BIT
+       select ARCH_HAS_ATOMIC64_DEC_IF_POSITIVE
        select HAVE_DMA_ATTRS
        select HAVE_DMA_API_DEBUG
        select HAVE_GENERIC_HARDIRQS
        select GENERIC_IRQ_PROBE
        select GENERIC_IRQ_SHOW
        select HAVE_ARCH_JUMP_LABEL
+       select ARCH_WANT_IPC_PARSE_VERSION
        select IRQ_FORCED_THREADING
        select HAVE_MEMBLOCK
        select HAVE_MEMBLOCK_NODE_MAP
        select ARCH_DISCARD_MEMBLOCK
        select GENERIC_SMP_IDLE_THREAD
-       select HAVE_GENERIC_INIT_TASK
+       select BUILDTIME_EXTABLE_SORT
+       select GENERIC_CLOCKEVENTS
+       select GENERIC_CMOS_UPDATE
+       select HAVE_MOD_ARCH_SPECIFIC
+       select MODULES_USE_ELF_REL
+       select MODULES_USE_ELF_RELA if 64BIT
 
 menu "Machine selection"
 
@@ -44,8 +54,8 @@ choice
 config MIPS_ALCHEMY
        bool "Alchemy processor based machines"
        select 64BIT_PHYS_ADDR
-       select CEVT_R4K_LIB
-       select CSRC_R4K_LIB
+       select CEVT_R4K
+       select CSRC_R4K
        select IRQ_CPU
        select SYS_HAS_CPU_MIPS32_R1
        select SYS_SUPPORTS_32BIT_KERNEL
@@ -72,6 +82,7 @@ config AR7
        select SYS_SUPPORTS_ZBOOT_UART16550
        select ARCH_REQUIRE_GPIOLIB
        select VLYNQ
+       select HAVE_CLK
        help
          Support for the Texas Instruments AR7 System-on-a-Chip
          family: TNETD7100, 7200 and 7300.
@@ -83,6 +94,7 @@ config ATH79
        select CEVT_R4K
        select CSRC_R4K
        select DMA_NONCOHERENT
+       select HAVE_CLK
        select IRQ_CPU
        select MIPS_MACHINE
        select SYS_HAS_CPU_MIPS32_R2
@@ -94,16 +106,16 @@ config ATH79
 
 config BCM47XX
        bool "Broadcom BCM47XX based boards"
+       select ARCH_WANT_OPTIONAL_GPIOLIB
        select CEVT_R4K
        select CSRC_R4K
        select DMA_NONCOHERENT
+       select FW_CFE
        select HW_HAS_PCI
        select IRQ_CPU
        select SYS_SUPPORTS_32BIT_KERNEL
        select SYS_SUPPORTS_LITTLE_ENDIAN
-       select GENERIC_GPIO
        select SYS_HAS_EARLY_PRINTK
-       select CFE
        help
         Support for BCM47XX based boards
 
@@ -119,6 +131,7 @@ config BCM63XX
        select SYS_HAS_EARLY_PRINTK
        select SWAP_IO_SPACE
        select ARCH_REQUIRE_GPIOLIB
+       select HAVE_CLK
        help
         Support for BCM63XX based boards
 
@@ -179,8 +192,8 @@ config MACH_DECSTATION
 
 config MACH_JAZZ
        bool "Jazz family of machines"
-       select ARC
-       select ARC32
+       select FW_ARC
+       select FW_ARC32
        select ARCH_MAY_HAVE_PC_FDC
        select CEVT_R4K
        select CSRC_R4K
@@ -206,6 +219,7 @@ config MACH_JZ4740
        select SYS_HAS_CPU_MIPS32_R1
        select SYS_SUPPORTS_32BIT_KERNEL
        select SYS_SUPPORTS_LITTLE_ENDIAN
+       select SYS_SUPPORTS_ZBOOT_UART16550
        select DMA_NONCOHERENT
        select IRQ_CPU
        select GENERIC_GPIO
@@ -230,8 +244,11 @@ config LANTIQ
        select ARCH_REQUIRE_GPIOLIB
        select SWAP_IO_SPACE
        select BOOT_RAW
-       select HAVE_CLK
-       select MIPS_MACHINE
+       select HAVE_MACH_CLKDEV
+       select CLKDEV_LOOKUP
+       select USE_OF
+       select PINCTRL
+       select PINCTRL_LANTIQ
 
 config LASAT
        bool "LASAT Networks platforms"
@@ -260,6 +277,16 @@ config MACH_LOONGSON
          Chinese Academy of Sciences (CAS) in the People's Republic
          of China. The chief architect is Professor Weiwu Hu.
 
+config MACH_LOONGSON1
+       bool "Loongson 1 family of machines"
+       select SYS_SUPPORTS_ZBOOT
+       help
+         This enables support for the Loongson 1 based machines.
+
+         Loongson 1 is a family of 32-bit MIPS-compatible SoCs developed by
+         the ICT (Institute of Computing Technology) and the Chinese Academy
+         of Sciences.
+
 config MIPS_MALTA
        bool "MIPS Malta board"
        select ARCH_MAY_HAVE_PC_FDC
@@ -284,6 +311,7 @@ config MIPS_MALTA
        select SYS_HAS_CPU_MIPS32_R1
        select SYS_HAS_CPU_MIPS32_R2
        select SYS_HAS_CPU_MIPS64_R1
+       select SYS_HAS_CPU_MIPS64_R2
        select SYS_HAS_CPU_NEVADA
        select SYS_HAS_CPU_RM7000
        select SYS_HAS_EARLY_PRINTK
@@ -299,24 +327,35 @@ config MIPS_MALTA
          This enables support for the MIPS Technologies Malta evaluation
          board.
 
-config MIPS_SIM
-       bool 'MIPS simulator (MIPSsim)'
+config MIPS_SEAD3
+       bool "MIPS SEAD3 board"
+       select BOOT_ELF32
+       select BOOT_RAW
        select CEVT_R4K
        select CSRC_R4K
+       select CPU_MIPSR2_IRQ_VI
+       select CPU_MIPSR2_IRQ_EI
        select DMA_NONCOHERENT
-       select SYS_HAS_EARLY_PRINTK
        select IRQ_CPU
-       select BOOT_RAW
+       select IRQ_GIC
+       select MIPS_BOARDS_GEN
+       select MIPS_CPU_SCACHE
+       select MIPS_MSC
        select SYS_HAS_CPU_MIPS32_R1
        select SYS_HAS_CPU_MIPS32_R2
+       select SYS_HAS_CPU_MIPS64_R1
        select SYS_HAS_EARLY_PRINTK
        select SYS_SUPPORTS_32BIT_KERNEL
+       select SYS_SUPPORTS_64BIT_KERNEL
        select SYS_SUPPORTS_BIG_ENDIAN
-       select SYS_SUPPORTS_MULTITHREADING
        select SYS_SUPPORTS_LITTLE_ENDIAN
+       select SYS_SUPPORTS_SMARTMIPS
+       select USB_ARCH_HAS_EHCI
+       select USB_EHCI_BIG_ENDIAN_DESC
+       select USB_EHCI_BIG_ENDIAN_MMIO
        help
-         This option enables support for MIPS Technologies MIPSsim software
-         emulator.
+         This enables support for the MIPS Technologies SEAD3 evaluation
+         board.
 
 config NEC_MARKEINS
        bool "NEC EMMA2RH Mark-eins board"
@@ -377,27 +416,6 @@ config PMC_MSP
          of integrated peripherals, interfaces and DSPs in addition to
          a variety of MIPS cores.
 
-config PMC_YOSEMITE
-       bool "PMC-Sierra Yosemite eval board"
-       select CEVT_R4K
-       select CSRC_R4K
-       select DMA_COHERENT
-       select HW_HAS_PCI
-       select IRQ_CPU
-       select IRQ_CPU_RM7K
-       select IRQ_CPU_RM9K
-       select SWAP_IO_SPACE
-       select SYS_HAS_CPU_RM9000
-       select SYS_HAS_EARLY_PRINTK
-       select SYS_SUPPORTS_32BIT_KERNEL
-       select SYS_SUPPORTS_64BIT_KERNEL
-       select SYS_SUPPORTS_BIG_ENDIAN
-       select SYS_SUPPORTS_HIGHMEM
-       select SYS_SUPPORTS_SMP
-       help
-         Yosemite is an evaluation board for the RM9000x2 processor
-         manufactured by PMC-Sierra.
-
 config POWERTV
        bool "Cisco PowerTV"
        select BOOT_ELF32
@@ -418,8 +436,8 @@ config POWERTV
 
 config SGI_IP22
        bool "SGI IP22 (Indy/Indigo2)"
-       select ARC
-       select ARC32
+       select FW_ARC
+       select FW_ARC32
        select BOOT_ELF32
        select CEVT_R4K
        select CSRC_R4K
@@ -458,8 +476,8 @@ config SGI_IP22
 
 config SGI_IP27
        bool "SGI IP27 (Origin200/2000)"
-       select ARC
-       select ARC64
+       select FW_ARC
+       select FW_ARC64
        select BOOT_ELF64
        select DEFAULT_SGI_PARTITION
        select DMA_COHERENT
@@ -479,8 +497,8 @@ config SGI_IP27
 config SGI_IP28
        bool "SGI IP28 (Indigo2 R10k) (EXPERIMENTAL)"
        depends on EXPERIMENTAL
-       select ARC
-       select ARC64
+       select FW_ARC
+       select FW_ARC64
        select BOOT_ELF64
        select CEVT_R4K
        select CSRC_R4K
@@ -515,8 +533,8 @@ config SGI_IP28
 
 config SGI_IP32
        bool "SGI IP32 (O2)"
-       select ARC
-       select ARC32
+       select FW_ARC
+       select FW_ARC32
        select BOOT_ELF32
        select CEVT_R4K
        select CSRC_R4K
@@ -634,8 +652,8 @@ config SIBYTE_BIGSUR
 
 config SNI_RM
        bool "SNI RM200/300/400"
-       select ARC if CPU_LITTLE_ENDIAN
-       select ARC32 if CPU_LITTLE_ENDIAN
+       select FW_ARC if CPU_LITTLE_ENDIAN
+       select FW_ARC32 if CPU_LITTLE_ENDIAN
        select SNIPROM if CPU_BIG_ENDIAN
        select ARCH_MAY_HAVE_PC_FDC
        select BOOT_ELF32
@@ -736,6 +754,7 @@ config CAVIUM_OCTEON_REFERENCE_BOARD
        select DMA_COHERENT
        select SYS_SUPPORTS_64BIT_KERNEL
        select SYS_SUPPORTS_BIG_ENDIAN
+       select EDAC_SUPPORT
        select SYS_SUPPORTS_HOTPLUG_CPU
        select SYS_HAS_EARLY_PRINTK
        select SYS_HAS_CPU_CAVIUM_OCTEON
@@ -779,9 +798,11 @@ config NLM_XLR_BOARD
        select CSRC_R4K
        select IRQ_CPU
        select ARCH_SUPPORTS_MSI
-       select ZONE_DMA if 64BIT
+       select ZONE_DMA32 if 64BIT
        select SYNC_R4K
        select SYS_HAS_EARLY_PRINTK
+       select USB_ARCH_HAS_OHCI if USB_SUPPORT
+       select USB_ARCH_HAS_EHCI if USB_SUPPORT
        help
          Support for systems based on Netlogic XLR and XLS processors.
          Say Y here if you have a XLR or XLS based board.
@@ -794,7 +815,6 @@ config NLM_XLP_BOARD
        select SYS_HAS_CPU_XLP
        select SYS_SUPPORTS_SMP
        select HW_HAS_PCI
-       select SWAP_IO_SPACE
        select SYS_SUPPORTS_32BIT_KERNEL
        select SYS_SUPPORTS_64BIT_KERNEL
        select 64BIT_PHYS_ADDR
@@ -806,9 +826,10 @@ config NLM_XLP_BOARD
        select CEVT_R4K
        select CSRC_R4K
        select IRQ_CPU
-       select ZONE_DMA if 64BIT
+       select ZONE_DMA32 if 64BIT
        select SYNC_R4K
        select SYS_HAS_EARLY_PRINTK
+       select USE_OF
        help
          This board is based on Netlogic XLP Processor.
          Say Y here if you have a XLP based board.
@@ -831,6 +852,7 @@ source "arch/mips/txx9/Kconfig"
 source "arch/mips/vr41xx/Kconfig"
 source "arch/mips/cavium-octeon/Kconfig"
 source "arch/mips/loongson/Kconfig"
+source "arch/mips/loongson1/Kconfig"
 source "arch/mips/netlogic/Kconfig"
 
 endmenu
@@ -858,14 +880,6 @@ config GENERIC_CALIBRATE_DELAY
        bool
        default y
 
-config GENERIC_CLOCKEVENTS
-       bool
-       default y
-
-config GENERIC_CMOS_UPDATE
-       bool
-       default y
-
 config SCHED_OMIT_FRAME_POINTER
        bool
        default y
@@ -873,7 +887,7 @@ config SCHED_OMIT_FRAME_POINTER
 #
 # Select some configuration options automatically based on user selections.
 #
-config ARC
+config FW_ARC
        bool
 
 config ARCH_MAY_HAVE_PC_FDC
@@ -891,11 +905,7 @@ config CEVT_DS1287
 config CEVT_GT641XX
        bool
 
-config CEVT_R4K_LIB
-       bool
-
 config CEVT_R4K
-       select CEVT_R4K_LIB
        bool
 
 config CEVT_SB1250
@@ -913,11 +923,7 @@ config CSRC_IOASIC
 config CSRC_POWERTV
        bool
 
-config CSRC_R4K_LIB
-       bool
-
 config CSRC_R4K
-       select CSRC_R4K_LIB
        bool
 
 config CSRC_SB1250
@@ -928,7 +934,7 @@ config GPIO_TXX9
        select ARCH_REQUIRE_GPIOLIB
        bool
 
-config CFE
+config FW_CFE
        bool
 
 config ARCH_DMA_ADDR_T_64BIT
@@ -1003,12 +1009,12 @@ config HOLES_IN_ZONE
        bool
 
 #
-# Endianess selection.  Sufficiently obscure so many users don't know what to
+# Endianness selection.  Sufficiently obscure so many users don't know what to
 # answer,so we try hard to limit the available choices.  Also the use of a
 # choice statement should be more obvious to the user.
 #
 choice
-       prompt "Endianess selection"
+       prompt "Endianness selection"
        help
          Some MIPS machines can be configured for either little or big endian
          byte order. These modes require different kernels and a different
@@ -1044,15 +1050,15 @@ config SYS_SUPPORTS_HUGETLBFS
        depends on CPU_SUPPORTS_HUGEPAGES && 64BIT
        default y
 
+config MIPS_HUGE_TLB_SUPPORT
+       def_bool HUGETLB_PAGE || TRANSPARENT_HUGEPAGE
+
 config IRQ_CPU
        bool
 
 config IRQ_CPU_RM7K
        bool
 
-config IRQ_CPU_RM9K
-       bool
-
 config IRQ_MSP_SLP
        bool
 
@@ -1077,10 +1083,6 @@ config PCI_GT64XXX_PCI0
 config NO_EXCEPT_FILL
        bool
 
-config MIPS_RM9122
-       bool
-       select SERIAL_RM9000
-
 config SOC_EMMA2RH
        bool
        select CEVT_R4K
@@ -1126,9 +1128,6 @@ config SOC_PNX8550
 config SWAP_IO_SPACE
        bool
 
-config SERIAL_RM9000
-       bool
-
 config SGI_HAS_INDYDOG
        bool
 
@@ -1150,7 +1149,7 @@ config SGI_HAS_I8042
 config DEFAULT_SGI_PARTITION
        bool
 
-config ARC32
+config FW_ARC32
        bool
 
 config SNIPROM
@@ -1183,7 +1182,7 @@ config ARC_PROMLIB
        depends on MACH_JAZZ || SNI_RM || SGI_IP22 || SGI_IP28 || SGI_IP32
        default y
 
-config ARC64
+config FW_ARC64
        bool
 
 config BOOT_ELF64
@@ -1220,6 +1219,14 @@ config CPU_LOONGSON2F
          have a similar programming interface with FPGA northbridge used in
          Loongson2E.
 
+config CPU_LOONGSON1B
+       bool "Loongson 1B"
+       depends on SYS_HAS_CPU_LOONGSON1B
+       select CPU_LOONGSON1
+       help
+         The Loongson 1B is a 32-bit SoC, which implements the MIPS32
+         release 2 instruction set.
+
 config CPU_MIPS32_R1
        bool "MIPS32 Release 1"
        depends on SYS_HAS_CPU_MIPS32_R1
@@ -1327,6 +1334,7 @@ config CPU_R4X00
        depends on SYS_HAS_CPU_R4X00
        select CPU_SUPPORTS_32BIT_KERNEL
        select CPU_SUPPORTS_64BIT_KERNEL
+       select CPU_SUPPORTS_HUGEPAGES
        help
          MIPS Technologies R4000-series processors other than 4300, including
          the R4000, R4400, R4600, and 4700.
@@ -1337,12 +1345,14 @@ config CPU_TX49XX
        select CPU_HAS_PREFETCH
        select CPU_SUPPORTS_32BIT_KERNEL
        select CPU_SUPPORTS_64BIT_KERNEL
+       select CPU_SUPPORTS_HUGEPAGES
 
 config CPU_R5000
        bool "R5000"
        depends on SYS_HAS_CPU_R5000
        select CPU_SUPPORTS_32BIT_KERNEL
        select CPU_SUPPORTS_64BIT_KERNEL
+       select CPU_SUPPORTS_HUGEPAGES
        help
          MIPS Technologies R5000-series processors other than the Nevada.
 
@@ -1351,6 +1361,7 @@ config CPU_R5432
        depends on SYS_HAS_CPU_R5432
        select CPU_SUPPORTS_32BIT_KERNEL
        select CPU_SUPPORTS_64BIT_KERNEL
+       select CPU_SUPPORTS_HUGEPAGES
 
 config CPU_R5500
        bool "R5500"
@@ -1376,6 +1387,7 @@ config CPU_NEVADA
        depends on SYS_HAS_CPU_NEVADA
        select CPU_SUPPORTS_32BIT_KERNEL
        select CPU_SUPPORTS_64BIT_KERNEL
+       select CPU_SUPPORTS_HUGEPAGES
        help
          QED / PMC-Sierra RM52xx-series ("Nevada") processors.
 
@@ -1396,6 +1408,7 @@ config CPU_R10000
        select CPU_SUPPORTS_32BIT_KERNEL
        select CPU_SUPPORTS_64BIT_KERNEL
        select CPU_SUPPORTS_HIGHMEM
+       select CPU_SUPPORTS_HUGEPAGES
        help
          MIPS Technologies R10000-series processors.
 
@@ -1406,15 +1419,7 @@ config CPU_RM7000
        select CPU_SUPPORTS_32BIT_KERNEL
        select CPU_SUPPORTS_64BIT_KERNEL
        select CPU_SUPPORTS_HIGHMEM
-
-config CPU_RM9000
-       bool "RM9000"
-       depends on SYS_HAS_CPU_RM9000
-       select CPU_HAS_PREFETCH
-       select CPU_SUPPORTS_32BIT_KERNEL
-       select CPU_SUPPORTS_64BIT_KERNEL
-       select CPU_SUPPORTS_HIGHMEM
-       select WEAK_ORDERING
+       select CPU_SUPPORTS_HUGEPAGES
 
 config CPU_SB1
        bool "SB1"
@@ -1422,11 +1427,13 @@ config CPU_SB1
        select CPU_SUPPORTS_32BIT_KERNEL
        select CPU_SUPPORTS_64BIT_KERNEL
        select CPU_SUPPORTS_HIGHMEM
+       select CPU_SUPPORTS_HUGEPAGES
        select WEAK_ORDERING
 
 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
@@ -1434,6 +1441,8 @@ config CPU_CAVIUM_OCTEON
        select WEAK_ORDERING
        select CPU_SUPPORTS_HIGHMEM
        select CPU_SUPPORTS_HUGEPAGES
+       select LIBFDT
+       select USE_OF
        help
          The Cavium Octeon processor is a highly integrated chip containing
          many ethernet hardware widgets for networking tasks. The processor
@@ -1482,9 +1491,9 @@ config CPU_XLR
        select CPU_SUPPORTS_32BIT_KERNEL
        select CPU_SUPPORTS_64BIT_KERNEL
        select CPU_SUPPORTS_HIGHMEM
+       select CPU_SUPPORTS_HUGEPAGES
        select WEAK_ORDERING
        select WEAK_REORDERING_BEYOND_LLSC
-       select CPU_SUPPORTS_HUGEPAGES
        help
          Netlogic Microsystems XLR/XLS processors.
 
@@ -1498,6 +1507,7 @@ config CPU_XLP
        select WEAK_ORDERING
        select WEAK_REORDERING_BEYOND_LLSC
        select CPU_HAS_PREFETCH
+       select CPU_MIPSR2
        help
          Netlogic Microsystems XLP processors.
 endchoice
@@ -1545,6 +1555,15 @@ config CPU_LOONGSON2
        select CPU_SUPPORTS_32BIT_KERNEL
        select CPU_SUPPORTS_64BIT_KERNEL
        select CPU_SUPPORTS_HIGHMEM
+       select CPU_SUPPORTS_HUGEPAGES
+
+config CPU_LOONGSON1
+       bool
+       select CPU_MIPS32
+       select CPU_MIPSR2
+       select CPU_HAS_PREFETCH
+       select CPU_SUPPORTS_32BIT_KERNEL
+       select CPU_SUPPORTS_HIGHMEM
 
 config CPU_BMIPS
        bool
@@ -1564,6 +1583,9 @@ config SYS_HAS_CPU_LOONGSON2F
        select CPU_SUPPORTS_ADDRWINCFG if 64BIT
        select CPU_SUPPORTS_UNCACHED_ACCELERATED
 
+config SYS_HAS_CPU_LOONGSON1B
+       bool
+
 config SYS_HAS_CPU_MIPS32_R1
        bool
 
@@ -1618,9 +1640,6 @@ config SYS_HAS_CPU_R10000
 config SYS_HAS_CPU_RM7000
        bool
 
-config SYS_HAS_CPU_RM9000
-       bool
-
 config SYS_HAS_CPU_SB1
        bool
 
@@ -1700,7 +1719,7 @@ config CPU_SUPPORTS_UNCACHED_ACCELERATED
        bool
 config MIPS_PGD_C0_CONTEXT
        bool
-       default y if 64BIT && CPU_MIPSR2
+       default y if 64BIT && CPU_MIPSR2 && !CPU_XLP
 
 #
 # Set to y for ptrace access to watch registers.
@@ -1712,7 +1731,6 @@ config HARDWARE_WATCHPOINTS
 menu "Kernel type"
 
 choice
-
        prompt "Kernel code model"
        help
          You should only select this option if you have a workload that
@@ -1788,10 +1806,12 @@ endchoice
 
 config FORCE_MAX_ZONEORDER
        int "Maximum zone order"
-       range 13 64 if SYS_SUPPORTS_HUGETLBFS && PAGE_SIZE_32KB
-       default "13" if SYS_SUPPORTS_HUGETLBFS && PAGE_SIZE_32KB
-       range 12 64 if SYS_SUPPORTS_HUGETLBFS && PAGE_SIZE_16KB
-       default "12" if SYS_SUPPORTS_HUGETLBFS && PAGE_SIZE_16KB
+       range 14 64 if HUGETLB_PAGE && PAGE_SIZE_64KB
+       default "14" if HUGETLB_PAGE && PAGE_SIZE_64KB
+       range 13 64 if HUGETLB_PAGE && PAGE_SIZE_32KB
+       default "13" if HUGETLB_PAGE && PAGE_SIZE_32KB
+       range 12 64 if HUGETLB_PAGE && PAGE_SIZE_16KB
+       default "12" if HUGETLB_PAGE && PAGE_SIZE_16KB
        range 11 64
        default "11"
        help
@@ -1841,6 +1861,18 @@ config SIBYTE_DMA_PAGEOPS
 config CPU_HAS_PREFETCH
        bool
 
+config CPU_GENERIC_DUMP_TLB
+       bool
+       default y if !(CPU_R3000 || CPU_R6000 || CPU_R8000 || CPU_TX39XX)
+
+config CPU_R4K_FPU
+       bool
+       default y if !(CPU_R3000 || CPU_R6000 || CPU_TX39XX || CPU_CAVIUM_OCTEON)
+
+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"
 
@@ -1863,6 +1895,7 @@ config MIPS_MT_SMP
        select SYS_SUPPORTS_SCHED_SMT if SMP
        select SYS_SUPPORTS_SMP
        select SMP_UP
+       select MIPS_PERF_SHARED_TC_COUNTERS
        help
          This is a kernel model which is known a VSMP but lately has been
          marketesed into SMVP.
@@ -1916,7 +1949,6 @@ config SCHED_SMT
 config SYS_SUPPORTS_SCHED_SMT
        bool
 
-
 config SYS_SUPPORTS_MULTITHREADING
        bool
 
@@ -1974,16 +2006,6 @@ config MIPS_VPE_APSP_API
        depends on MIPS_VPE_LOADER
        help
 
-config MIPS_APSP_KSPD
-       bool "Enable KSPD"
-       depends on MIPS_VPE_APSP_API
-       default y
-       help
-         KSPD is a kernel daemon that accepts syscall requests from the SP
-         side, actions them and returns the results. It also handles the
-         "exit" syscall notifying other kernel modules the SP program is
-         exiting.  You probably want to say yes here.
-
 config MIPS_CMP
        bool "MIPS CMP framework support"
        depends on SYS_SUPPORTS_MIPS_CMP
@@ -2052,9 +2074,6 @@ config CPU_HAS_SYNC
        depends on !CPU_R3000
        default y
 
-config GENERIC_CLOCKEVENTS_BROADCAST
-       bool
-
 #
 # CPU non-features
 #
@@ -2131,7 +2150,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)
+       depends on PERF_EVENTS && !MIPS_MT_SMTC && 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
@@ -2216,7 +2235,8 @@ config NR_CPUS
          performance should round up your number of processors to the next
          power of two.
 
-source "kernel/time/Kconfig"
+config MIPS_PERF_SHARED_TC_COUNTERS
+       bool
 
 #
 # Timer Interrupt Frequency Configuration
@@ -2308,6 +2328,29 @@ config KEXEC
          support.  As of this writing the exact hardware interface is
          strongly in flux, so no good recommendation can be made.
 
+config CRASH_DUMP
+         bool "Kernel crash dumps"
+         help
+         Generate crash dump after being started by kexec.
+         This should be normally only set in special crash dump kernels
+         which are loaded in the main kernel with kexec-tools into
+         a specially reserved region and then later executed after
+         a crash by kdump/kexec. The crash dump kernel must be compiled
+         to a memory address not used by the main kernel or firmware using
+         PHYSICAL_START.
+
+config PHYSICAL_START
+         hex "Physical address where the kernel is loaded"
+         default "0xffffffff84000000" if 64BIT
+         default "0x84000000" if 32BIT
+         depends on CRASH_DUMP
+         help
+         This gives the CKSEG0 or KSEG0 address where the kernel is loaded.
+         If you plan to use kernel for capturing the crash dump change
+         this value to start of the reserved region (the "X" value as
+         specified in the "crashkernel=YM@XM" command line boot parameter
+         passed to the panic-ed kernel).
+
 config SECCOMP
        bool "Enable seccomp to safely compute untrusted bytecode"
        depends on PROC_FS
@@ -2326,12 +2369,10 @@ config SECCOMP
          If unsure, say Y. Only embedded should say N here.
 
 config USE_OF
-       bool "Flattened Device Tree support"
+       bool
        select OF
        select OF_EARLY_FLATTREE
        select IRQ_DOMAIN
-       help
-         Include support for flattened device tree machine descriptions.
 
 endmenu
 
@@ -2371,6 +2412,8 @@ config PCI_DOMAINS
 
 source "drivers/pci/Kconfig"
 
+source "drivers/pci/pcie/Kconfig"
+
 #
 # ISA support is now enabled via select.  Too many systems still have the one
 # or other ISA chip on the board that users don't know about so don't expect
@@ -2514,6 +2557,8 @@ source "net/Kconfig"
 
 source "drivers/Kconfig"
 
+source "drivers/firmware/Kconfig"
+
 source "fs/Kconfig"
 
 source "arch/mips/Kconfig.debug"