[PATCH] Mark VMSPLIT EMBEDDED
[powerpc.git] / arch / mips / Kconfig
index e380a83..ee5fbb0 100644 (file)
@@ -6,8 +6,6 @@ config MIPS
 
 mainmenu "Linux/MIPS Kernel Configuration"
 
 
 mainmenu "Linux/MIPS Kernel Configuration"
 
-source "init/Kconfig"
-
 menu "Machine selection"
 
 choice
 menu "Machine selection"
 
 choice
@@ -235,6 +233,7 @@ config MACH_JAZZ
        select ARC32
        select ARCH_MAY_HAVE_PC_FDC
        select GENERIC_ISA_DMA
        select ARC32
        select ARCH_MAY_HAVE_PC_FDC
        select GENERIC_ISA_DMA
+       select I8253
        select I8259
        select ISA
        select SYS_HAS_CPU_R4X00
        select I8259
        select ISA
        select SYS_HAS_CPU_R4X00
@@ -532,6 +531,7 @@ config QEMU
        select DMA_COHERENT
        select GENERIC_ISA_DMA
        select HAVE_STD_PC_SERIAL_PORT
        select DMA_COHERENT
        select GENERIC_ISA_DMA
        select HAVE_STD_PC_SERIAL_PORT
+       select I8253
        select I8259
        select ISA
        select SWAP_IO_SPACE
        select I8259
        select ISA
        select SWAP_IO_SPACE
@@ -597,13 +597,14 @@ config SGI_IP32
        select SYS_HAS_CPU_R5000
        select SYS_HAS_CPU_R10000 if BROKEN
        select SYS_HAS_CPU_RM7000
        select SYS_HAS_CPU_R5000
        select SYS_HAS_CPU_R10000 if BROKEN
        select SYS_HAS_CPU_RM7000
+       select SYS_HAS_CPU_NEVADA
        select SYS_SUPPORTS_64BIT_KERNEL
        select SYS_SUPPORTS_BIG_ENDIAN
        help
          If you want this kernel to run on SGI O2 workstation, say Y here.
 
 config SIBYTE_BIGSUR
        select SYS_SUPPORTS_64BIT_KERNEL
        select SYS_SUPPORTS_BIG_ENDIAN
        help
          If you want this kernel to run on SGI O2 workstation, say Y here.
 
 config SIBYTE_BIGSUR
-       bool "Support for Sibyte BigSur"
+       bool "Support for Sibyte BCM91480B-BigSur"
        select BOOT_ELF32
        select DMA_COHERENT
        select PCI_DOMAINS
        select BOOT_ELF32
        select DMA_COHERENT
        select PCI_DOMAINS
@@ -715,6 +716,7 @@ config SNI_RM200_PCI
        select HAVE_STD_PC_SERIAL_PORT
        select HW_HAS_EISA
        select HW_HAS_PCI
        select HAVE_STD_PC_SERIAL_PORT
        select HW_HAS_EISA
        select HW_HAS_PCI
+       select I8253
        select I8259
        select ISA
        select SYS_HAS_CPU_R4X00
        select I8259
        select ISA
        select SYS_HAS_CPU_R4X00
@@ -791,6 +793,7 @@ source "arch/mips/tx4927/Kconfig"
 source "arch/mips/tx4938/Kconfig"
 source "arch/mips/vr41xx/Kconfig"
 source "arch/mips/philips/pnx8550/common/Kconfig"
 source "arch/mips/tx4938/Kconfig"
 source "arch/mips/vr41xx/Kconfig"
 source "arch/mips/philips/pnx8550/common/Kconfig"
+source "arch/mips/cobalt/Kconfig"
 
 endmenu
 
 
 endmenu
 
@@ -801,10 +804,22 @@ config RWSEM_GENERIC_SPINLOCK
 config RWSEM_XCHGADD_ALGORITHM
        bool
 
 config RWSEM_XCHGADD_ALGORITHM
        bool
 
+config GENERIC_FIND_NEXT_BIT
+       bool
+       default y
+
+config GENERIC_HWEIGHT
+       bool
+       default y
+
 config GENERIC_CALIBRATE_DELAY
        bool
        default y
 
 config GENERIC_CALIBRATE_DELAY
        bool
        default y
 
+config SCHED_NO_NO_OMIT_FRAME_POINTER
+       bool
+       default y
+
 #
 # Select some configuration options automatically based on user selections.
 #
 #
 # Select some configuration options automatically based on user selections.
 #
@@ -1052,8 +1067,10 @@ choice
 config CPU_MIPS32_R1
        bool "MIPS32 Release 1"
        depends on SYS_HAS_CPU_MIPS32_R1
 config CPU_MIPS32_R1
        bool "MIPS32 Release 1"
        depends on SYS_HAS_CPU_MIPS32_R1
+       select CPU_HAS_LLSC
        select CPU_HAS_PREFETCH
        select CPU_SUPPORTS_32BIT_KERNEL
        select CPU_HAS_PREFETCH
        select CPU_SUPPORTS_32BIT_KERNEL
+       select CPU_SUPPORTS_HIGHMEM
        help
          Choose this option to build a kernel for release 1 or later of the
          MIPS32 architecture.  Most modern embedded systems with a 32-bit
        help
          Choose this option to build a kernel for release 1 or later of the
          MIPS32 architecture.  Most modern embedded systems with a 32-bit
@@ -1068,8 +1085,10 @@ config CPU_MIPS32_R1
 config CPU_MIPS32_R2
        bool "MIPS32 Release 2"
        depends on SYS_HAS_CPU_MIPS32_R2
 config CPU_MIPS32_R2
        bool "MIPS32 Release 2"
        depends on SYS_HAS_CPU_MIPS32_R2
+       select CPU_HAS_LLSC
        select CPU_HAS_PREFETCH
        select CPU_SUPPORTS_32BIT_KERNEL
        select CPU_HAS_PREFETCH
        select CPU_SUPPORTS_32BIT_KERNEL
+       select CPU_SUPPORTS_HIGHMEM
        help
          Choose this option to build a kernel for release 2 or later of the
          MIPS32 architecture.  Most modern embedded systems with a 32-bit
        help
          Choose this option to build a kernel for release 2 or later of the
          MIPS32 architecture.  Most modern embedded systems with a 32-bit
@@ -1080,9 +1099,11 @@ config CPU_MIPS32_R2
 config CPU_MIPS64_R1
        bool "MIPS64 Release 1"
        depends on SYS_HAS_CPU_MIPS64_R1
 config CPU_MIPS64_R1
        bool "MIPS64 Release 1"
        depends on SYS_HAS_CPU_MIPS64_R1
+       select CPU_HAS_LLSC
        select CPU_HAS_PREFETCH
        select CPU_SUPPORTS_32BIT_KERNEL
        select CPU_SUPPORTS_64BIT_KERNEL
        select CPU_HAS_PREFETCH
        select CPU_SUPPORTS_32BIT_KERNEL
        select CPU_SUPPORTS_64BIT_KERNEL
+       select CPU_SUPPORTS_HIGHMEM
        help
          Choose this option to build a kernel for release 1 or later of the
          MIPS64 architecture.  Many modern embedded systems with a 64-bit
        help
          Choose this option to build a kernel for release 1 or later of the
          MIPS64 architecture.  Many modern embedded systems with a 64-bit
@@ -1097,9 +1118,11 @@ config CPU_MIPS64_R1
 config CPU_MIPS64_R2
        bool "MIPS64 Release 2"
        depends on SYS_HAS_CPU_MIPS64_R2
 config CPU_MIPS64_R2
        bool "MIPS64 Release 2"
        depends on SYS_HAS_CPU_MIPS64_R2
+       select CPU_HAS_LLSC
        select CPU_HAS_PREFETCH
        select CPU_SUPPORTS_32BIT_KERNEL
        select CPU_SUPPORTS_64BIT_KERNEL
        select CPU_HAS_PREFETCH
        select CPU_SUPPORTS_32BIT_KERNEL
        select CPU_SUPPORTS_64BIT_KERNEL
+       select CPU_SUPPORTS_HIGHMEM
        help
          Choose this option to build a kernel for release 2 or later of the
          MIPS64 architecture.  Many modern embedded systems with a 64-bit
        help
          Choose this option to build a kernel for release 2 or later of the
          MIPS64 architecture.  Many modern embedded systems with a 64-bit
@@ -1110,6 +1133,7 @@ config CPU_MIPS64_R2
 config CPU_R3000
        bool "R3000"
        depends on SYS_HAS_CPU_R3000
 config CPU_R3000
        bool "R3000"
        depends on SYS_HAS_CPU_R3000
+       select CPU_HAS_WB
        select CPU_SUPPORTS_32BIT_KERNEL
        select CPU_SUPPORTS_HIGHMEM
        help
        select CPU_SUPPORTS_32BIT_KERNEL
        select CPU_SUPPORTS_HIGHMEM
        help
@@ -1139,6 +1163,7 @@ config CPU_VR41XX
 config CPU_R4300
        bool "R4300"
        depends on SYS_HAS_CPU_R4300
 config CPU_R4300
        bool "R4300"
        depends on SYS_HAS_CPU_R4300
+       select CPU_HAS_LLSC
        select CPU_SUPPORTS_32BIT_KERNEL
        select CPU_SUPPORTS_64BIT_KERNEL
        help
        select CPU_SUPPORTS_32BIT_KERNEL
        select CPU_SUPPORTS_64BIT_KERNEL
        help
@@ -1147,6 +1172,7 @@ config CPU_R4300
 config CPU_R4X00
        bool "R4x00"
        depends on SYS_HAS_CPU_R4X00
 config CPU_R4X00
        bool "R4x00"
        depends on SYS_HAS_CPU_R4X00
+       select CPU_HAS_LLSC
        select CPU_SUPPORTS_32BIT_KERNEL
        select CPU_SUPPORTS_64BIT_KERNEL
        help
        select CPU_SUPPORTS_32BIT_KERNEL
        select CPU_SUPPORTS_64BIT_KERNEL
        help
@@ -1156,12 +1182,15 @@ config CPU_R4X00
 config CPU_TX49XX
        bool "R49XX"
        depends on SYS_HAS_CPU_TX49XX
 config CPU_TX49XX
        bool "R49XX"
        depends on SYS_HAS_CPU_TX49XX
+       select CPU_HAS_LLSC
+       select CPU_HAS_PREFETCH
        select CPU_SUPPORTS_32BIT_KERNEL
        select CPU_SUPPORTS_64BIT_KERNEL
 
 config CPU_R5000
        bool "R5000"
        depends on SYS_HAS_CPU_R5000
        select CPU_SUPPORTS_32BIT_KERNEL
        select CPU_SUPPORTS_64BIT_KERNEL
 
 config CPU_R5000
        bool "R5000"
        depends on SYS_HAS_CPU_R5000
+       select CPU_HAS_LLSC
        select CPU_SUPPORTS_32BIT_KERNEL
        select CPU_SUPPORTS_64BIT_KERNEL
        help
        select CPU_SUPPORTS_32BIT_KERNEL
        select CPU_SUPPORTS_64BIT_KERNEL
        help
@@ -1170,12 +1199,14 @@ config CPU_R5000
 config CPU_R5432
        bool "R5432"
        depends on SYS_HAS_CPU_R5432
 config CPU_R5432
        bool "R5432"
        depends on SYS_HAS_CPU_R5432
+       select CPU_HAS_LLSC
        select CPU_SUPPORTS_32BIT_KERNEL
        select CPU_SUPPORTS_64BIT_KERNEL
 
 config CPU_R6000
        bool "R6000"
        depends on EXPERIMENTAL
        select CPU_SUPPORTS_32BIT_KERNEL
        select CPU_SUPPORTS_64BIT_KERNEL
 
 config CPU_R6000
        bool "R6000"
        depends on EXPERIMENTAL
+       select CPU_HAS_LLSC
        depends on SYS_HAS_CPU_R6000
        select CPU_SUPPORTS_32BIT_KERNEL
        help
        depends on SYS_HAS_CPU_R6000
        select CPU_SUPPORTS_32BIT_KERNEL
        help
@@ -1185,6 +1216,7 @@ config CPU_R6000
 config CPU_NEVADA
        bool "RM52xx"
        depends on SYS_HAS_CPU_NEVADA
 config CPU_NEVADA
        bool "RM52xx"
        depends on SYS_HAS_CPU_NEVADA
+       select CPU_HAS_LLSC
        select CPU_SUPPORTS_32BIT_KERNEL
        select CPU_SUPPORTS_64BIT_KERNEL
        help
        select CPU_SUPPORTS_32BIT_KERNEL
        select CPU_SUPPORTS_64BIT_KERNEL
        help
@@ -1194,6 +1226,7 @@ config CPU_R8000
        bool "R8000"
        depends on EXPERIMENTAL
        depends on SYS_HAS_CPU_R8000
        bool "R8000"
        depends on EXPERIMENTAL
        depends on SYS_HAS_CPU_R8000
+       select CPU_HAS_LLSC
        select CPU_HAS_PREFETCH
        select CPU_SUPPORTS_64BIT_KERNEL
        help
        select CPU_HAS_PREFETCH
        select CPU_SUPPORTS_64BIT_KERNEL
        help
@@ -1203,6 +1236,7 @@ config CPU_R8000
 config CPU_R10000
        bool "R10000"
        depends on SYS_HAS_CPU_R10000
 config CPU_R10000
        bool "R10000"
        depends on SYS_HAS_CPU_R10000
+       select CPU_HAS_LLSC
        select CPU_HAS_PREFETCH
        select CPU_SUPPORTS_32BIT_KERNEL
        select CPU_SUPPORTS_64BIT_KERNEL
        select CPU_HAS_PREFETCH
        select CPU_SUPPORTS_32BIT_KERNEL
        select CPU_SUPPORTS_64BIT_KERNEL
@@ -1213,6 +1247,7 @@ config CPU_R10000
 config CPU_RM7000
        bool "RM7000"
        depends on SYS_HAS_CPU_RM7000
 config CPU_RM7000
        bool "RM7000"
        depends on SYS_HAS_CPU_RM7000
+       select CPU_HAS_LLSC
        select CPU_HAS_PREFETCH
        select CPU_SUPPORTS_32BIT_KERNEL
        select CPU_SUPPORTS_64BIT_KERNEL
        select CPU_HAS_PREFETCH
        select CPU_SUPPORTS_32BIT_KERNEL
        select CPU_SUPPORTS_64BIT_KERNEL
@@ -1221,6 +1256,7 @@ config CPU_RM7000
 config CPU_RM9000
        bool "RM9000"
        depends on SYS_HAS_CPU_RM9000
 config CPU_RM9000
        bool "RM9000"
        depends on SYS_HAS_CPU_RM9000
+       select CPU_HAS_LLSC
        select CPU_HAS_PREFETCH
        select CPU_SUPPORTS_32BIT_KERNEL
        select CPU_SUPPORTS_64BIT_KERNEL
        select CPU_HAS_PREFETCH
        select CPU_SUPPORTS_32BIT_KERNEL
        select CPU_SUPPORTS_64BIT_KERNEL
@@ -1229,6 +1265,7 @@ config CPU_RM9000
 config CPU_SB1
        bool "SB1"
        depends on SYS_HAS_CPU_SB1
 config CPU_SB1
        bool "SB1"
        depends on SYS_HAS_CPU_SB1
+       select CPU_HAS_LLSC
        select CPU_SUPPORTS_32BIT_KERNEL
        select CPU_SUPPORTS_64BIT_KERNEL
        select CPU_SUPPORTS_HIGHMEM
        select CPU_SUPPORTS_32BIT_KERNEL
        select CPU_SUPPORTS_64BIT_KERNEL
        select CPU_SUPPORTS_HIGHMEM
@@ -1427,6 +1464,12 @@ choice
        prompt "MIPS MT options"
        depends on MIPS_MT
 
        prompt "MIPS MT options"
        depends on MIPS_MT
 
+config MIPS_MT_SMTC
+       bool "SMTC: Use all TCs on all VPEs for SMP"
+       select CPU_MIPSR2_IRQ_VI
+       select CPU_MIPSR2_SRS
+       select SMP
+
 config MIPS_MT_SMP
        bool "Use 1 TC on each available VPE for SMP"
        select SMP
 config MIPS_MT_SMP
        bool "Use 1 TC on each available VPE for SMP"
        select SMP
@@ -1440,6 +1483,11 @@ config MIPS_VPE_LOADER
 
 endchoice
 
 
 endchoice
 
+config MIPS_MT_FPAFF
+       bool "Dynamic FPU affinity for FP-intensive threads"
+       depends on MIPS_MT
+       default y
+
 config MIPS_VPE_LOADER_TOM
        bool "Load VPE program into memory hidden from linux"
        depends on MIPS_VPE_LOADER
 config MIPS_VPE_LOADER_TOM
        bool "Load VPE program into memory hidden from linux"
        depends on MIPS_VPE_LOADER
@@ -1456,6 +1504,16 @@ config MIPS_VPE_APSP_API
        depends on MIPS_VPE_LOADER
        help
 
        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 SB1_PASS_1_WORKAROUNDS
        bool
        depends on CPU_SB1_PASS_1
 config SB1_PASS_1_WORKAROUNDS
        bool
        depends on CPU_SB1_PASS_1
@@ -1473,48 +1531,17 @@ config SB1_PASS_2_1_WORKAROUNDS
 
 config 64BIT_PHYS_ADDR
        bool "Support for 64-bit physical address space"
 
 config 64BIT_PHYS_ADDR
        bool "Support for 64-bit physical address space"
-       depends on (CPU_R4X00 || CPU_R5000 || CPU_RM7000 || CPU_RM9000 || CPU_R10000 || CPU_SB1 || CPU_MIPS32_R1 || CPU_MIPS64_R1) && 32BIT
-
-config CPU_ADVANCED
-       bool "Override CPU Options"
-       depends on 32BIT
-       help
-         Saying yes here allows you to select support for various features
-         your CPU may or may not have.  Most people should say N here.
+       depends on (CPU_R4X00 || CPU_R5000 || CPU_RM7000 || CPU_RM9000 || CPU_R10000 || CPU_SB1 || CPU_MIPS32 || CPU_MIPS64) && 32BIT
 
 config CPU_HAS_LLSC
 
 config CPU_HAS_LLSC
-       bool "ll/sc Instructions available" if CPU_ADVANCED
-       default y if !CPU_ADVANCED && !CPU_R3000 && !CPU_VR41XX && !CPU_TX39XX
-       help
-         MIPS R4000 series and later provide the Load Linked (ll)
-         and Store Conditional (sc) instructions. More information is
-         available at <http://www.go-ecs.com/mips/miptek1.htm>.
-
-         Say Y here if your CPU has the ll and sc instructions.  Say Y here
-         for better performance, N if you don't know.  You must say Y here
-         for multiprocessor machines.
-
-config CPU_HAS_LLDSCD
-       bool "lld/scd Instructions available" if CPU_ADVANCED
-       default y if !CPU_ADVANCED && !CPU_R3000 && !CPU_VR41XX && !CPU_TX39XX && !CPU_MIPS32_R1
-       help
-         Say Y here if your CPU has the lld and scd instructions, the 64-bit
-         equivalents of ll and sc.  Say Y here for better performance, N if
-         you don't know.  You must say Y here for multiprocessor machines.
+       bool
 
 config CPU_HAS_WB
 
 config CPU_HAS_WB
-       bool "Writeback Buffer available" if CPU_ADVANCED
-       default y if !CPU_ADVANCED && CPU_R3000 && MACH_DECSTATION
-       help
-         Say N here for slightly better performance.  You must say Y here for
-         machines which require flushing of write buffers in software.  Saying
-         Y is the safe option; N may result in kernel malfunction and crashes.
-
-menu "MIPSR2 Interrupt handling"
-       depends on CPU_MIPSR2 && CPU_ADVANCED
+       bool
 
 config CPU_MIPSR2_IRQ_VI
        bool "Vectored interrupt mode"
 
 config CPU_MIPSR2_IRQ_VI
        bool "Vectored interrupt mode"
+       depends on CPU_MIPSR2
        help
           Vectored interrupt mode allowing faster dispatching of interrupts.
           The board support code needs to be written to take advantage of this
        help
           Vectored interrupt mode allowing faster dispatching of interrupts.
           The board support code needs to be written to take advantage of this
@@ -1524,6 +1551,7 @@ config CPU_MIPSR2_IRQ_VI
 
 config CPU_MIPSR2_IRQ_EI
        bool "External interrupt controller mode"
 
 config CPU_MIPSR2_IRQ_EI
        bool "External interrupt controller mode"
+       depends on CPU_MIPSR2
        help
           Extended interrupt mode takes advantage of an external interrupt
           controller to allow fast dispatching from many possible interrupt
        help
           Extended interrupt mode takes advantage of an external interrupt
           controller to allow fast dispatching from many possible interrupt
@@ -1537,7 +1565,6 @@ config CPU_MIPSR2_SRS
           Allow the kernel to use shadow register sets for fast interrupts.
           Interrupt handlers must be specially written to use shadow sets.
           Say N unless you know that shadow register set upport is needed.
           Allow the kernel to use shadow register sets for fast interrupts.
           Interrupt handlers must be specially written to use shadow sets.
           Say N unless you know that shadow register set upport is needed.
-endmenu
 
 config CPU_HAS_SYNC
        bool
 
 config CPU_HAS_SYNC
        bool
@@ -1582,11 +1609,16 @@ config ARCH_FLATMEM_ENABLE
        def_bool y
        depends on !NUMA
 
        def_bool y
        depends on !NUMA
 
+config NODES_SHIFT
+       int
+       default "6"
+       depends on NEED_MULTIPLE_NODES
+
 source "mm/Kconfig"
 
 config SMP
        bool "Multi-Processing support"
 source "mm/Kconfig"
 
 config SMP
        bool "Multi-Processing support"
-       depends on CPU_RM9000 || ((SIBYTE_BCM1x80 || SIBYTE_BCM1x55 || SIBYTE_SB1250) && !SIBYTE_STANDALONE) || SGI_IP27 || MIPS_MT_SMP
+       depends on CPU_RM9000 || ((SIBYTE_BCM1x80 || SIBYTE_BCM1x55 || SIBYTE_SB1250 || QEMU) && !SIBYTE_STANDALONE) || SGI_IP27 || MIPS_MT_SMP || MIPS_MT_SMTC
        ---help---
          This enables support for systems with more than one CPU. If you have
          a system with only one CPU, like most personal computers, say N. If
        ---help---
          This enables support for systems with more than one CPU. If you have
          a system with only one CPU, like most personal computers, say N. If
@@ -1643,6 +1675,8 @@ config RWSEM_GENERIC_SPINLOCK
        bool
        default y
 
        bool
        default y
 
+source "init/Kconfig"
+
 menu "Bus options (PCI, PCMCIA, EISA, ISA, TC)"
 
 config HW_HAS_EISA
 menu "Bus options (PCI, PCMCIA, EISA, ISA, TC)"
 
 config HW_HAS_EISA
@@ -1714,6 +1748,9 @@ config MMU
        bool
        default y
 
        bool
        default y
 
+config I8253
+       bool
+
 source "drivers/pcmcia/Kconfig"
 
 source "drivers/pci/hotplug/Kconfig"
 source "drivers/pcmcia/Kconfig"
 
 source "drivers/pci/hotplug/Kconfig"