ide: introduce HAVE_IDE
[safe/jmp/linux-2.6] / arch / mips / Kconfig
index 4b07b18..ade230d 100644 (file)
@@ -1,6 +1,8 @@
 config MIPS
        bool
        default y
+       select HAVE_IDE
+       select HAVE_OPROFILE
        # Horrible source of confusion.  Die, die, die ...
        select EMBEDDED
        select RTC_LIB
@@ -22,6 +24,7 @@ config MACH_ALCHEMY
 config BASLER_EXCITE
        bool "Basler eXcite smart camera"
        select CEVT_R4K
+       select CSRC_R4K
        select DMA_COHERENT
        select HW_HAS_PCI
        select IRQ_CPU
@@ -36,19 +39,10 @@ config BASLER_EXCITE
          The eXcite is a smart camera platform manufactured by
          Basler Vision Technologies AG.
 
-config BASLER_EXCITE_PROTOTYPE
-       bool "Support for pre-release units"
-       depends on BASLER_EXCITE
-       default n
-       help
-         Pre-series (prototype) units are different from later ones in
-         some ways. Select this option if you have one of these. Please
-         note that a kernel built with this option selected will not be
-         able to run on normal units.
-
 config BCM47XX
        bool "BCM47XX based boards"
        select CEVT_R4K
+       select CSRC_R4K
        select DMA_NONCOHERENT
        select HW_HAS_PCI
        select IRQ_CPU
@@ -57,6 +51,8 @@ config BCM47XX
        select SYS_SUPPORTS_LITTLE_ENDIAN
        select SSB
        select SSB_DRIVER_MIPS
+       select SSB_DRIVER_EXTIF
+       select SSB_PCICORE_HOSTMODE if PCI
        select GENERIC_GPIO
        select SYS_HAS_EARLY_PRINTK
        select CFE
@@ -66,6 +62,7 @@ config BCM47XX
 config MIPS_COBALT
        bool "Cobalt Server"
        select CEVT_R4K
+       select CSRC_R4K
        select CEVT_GT641XX
        select DMA_NONCOHERENT
        select HW_HAS_PCI
@@ -77,7 +74,7 @@ config MIPS_COBALT
        select SYS_HAS_CPU_NEVADA
        select SYS_HAS_EARLY_PRINTK
        select SYS_SUPPORTS_32BIT_KERNEL
-       select SYS_SUPPORTS_64BIT_KERNEL if EXPERIMENTAL
+       select SYS_SUPPORTS_64BIT_KERNEL
        select SYS_SUPPORTS_LITTLE_ENDIAN
        select GENERIC_HARDIRQS_NO__DO_IRQ
 
@@ -85,6 +82,10 @@ config MACH_DECSTATION
        bool "DECstations"
        select BOOT_ELF32
        select CEVT_R4K
+       select CSRC_R4K
+       select CPU_DADDI_WORKAROUNDS if 64BIT
+       select CPU_R4000_WORKAROUNDS if 64BIT
+       select CPU_R4400_WORKAROUNDS if 64BIT
        select DMA_NONCOHERENT
        select NO_IOPORT
        select IRQ_CPU
@@ -117,12 +118,13 @@ config MACH_JAZZ
        select ARC32
        select ARCH_MAY_HAVE_PC_FDC
        select CEVT_R4K
+       select CSRC_R4K
+       select DEFAULT_SGI_PARTITION if CPU_BIG_ENDIAN
        select GENERIC_ISA_DMA
        select IRQ_CPU
        select I8253
        select I8259
        select ISA
-       select PCSPEAKER
        select SYS_HAS_CPU_R4X00
        select SYS_SUPPORTS_32BIT_KERNEL
        select SYS_SUPPORTS_64BIT_KERNEL if EXPERIMENTAL
@@ -137,6 +139,7 @@ config MACH_JAZZ
 config LASAT
        bool "LASAT Networks platforms"
        select CEVT_R4K
+       select CSRC_R4K
        select DMA_NONCOHERENT
        select SYS_HAS_EARLY_PRINTK
        select HW_HAS_PCI
@@ -154,6 +157,7 @@ config LEMOTE_FULONG
        bool "Lemote Fulong mini-PC"
        select ARCH_SPARSEMEM_ENABLE
        select CEVT_R4K
+       select CSRC_R4K
        select SYS_HAS_CPU_LOONGSON2
        select DMA_NONCOHERENT
        select BOOT_ELF32
@@ -178,7 +182,9 @@ config LEMOTE_FULONG
 config MIPS_ATLAS
        bool "MIPS Atlas board"
        select BOOT_ELF32
+       select BOOT_RAW
        select CEVT_R4K
+       select CSRC_R4K
        select DMA_NONCOHERENT
        select SYS_HAS_EARLY_PRINTK
        select IRQ_CPU
@@ -209,7 +215,9 @@ config MIPS_MALTA
        bool "MIPS Malta board"
        select ARCH_MAY_HAVE_PC_FDC
        select BOOT_ELF32
+       select BOOT_RAW
        select CEVT_R4K
+       select CSRC_R4K
        select DMA_NONCOHERENT
        select GENERIC_ISA_DMA
        select IRQ_CPU
@@ -241,6 +249,7 @@ config MIPS_MALTA
 config MIPS_SEAD
        bool "MIPS SEAD board"
        select CEVT_R4K
+       select CSRC_R4K
        select IRQ_CPU
        select DMA_NONCOHERENT
        select SYS_HAS_EARLY_PRINTK
@@ -260,6 +269,7 @@ config MIPS_SEAD
 config MIPS_SIM
        bool 'MIPS simulator (MIPSsim)'
        select CEVT_R4K
+       select CSRC_R4K
        select DMA_NONCOHERENT
        select SYS_HAS_EARLY_PRINTK
        select IRQ_CPU
@@ -278,6 +288,7 @@ config MIPS_SIM
 config MARKEINS
        bool "NEC EMMA2RH Mark-eins"
        select CEVT_R4K
+       select CSRC_R4K
        select DMA_NONCOHERENT
        select HW_HAS_PCI
        select IRQ_CPU
@@ -293,6 +304,7 @@ config MARKEINS
 config MACH_VR41XX
        bool "NEC VR4100 series based machines"
        select CEVT_R4K
+       select CSRC_R4K
        select SYS_HAS_CPU_VR41XX
        select GENERIC_HARDIRQS_NO__DO_IRQ
 
@@ -330,6 +342,7 @@ config PMC_MSP
 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
@@ -348,46 +361,27 @@ config PMC_YOSEMITE
          Yosemite is an evaluation board for the RM9000x2 processor
          manufactured by PMC-Sierra.
 
-config QEMU
-       bool "Qemu"
-       select CEVT_R4K
-       select DMA_COHERENT
-       select GENERIC_ISA_DMA
-       select HAVE_STD_PC_SERIAL_PORT
-       select I8253
-       select I8259
-       select IRQ_CPU
-       select ISA
-       select PCSPEAKER
-       select SWAP_IO_SPACE
-       select SYS_HAS_CPU_MIPS32_R1
-       select SYS_HAS_EARLY_PRINTK
-       select SYS_SUPPORTS_32BIT_KERNEL
-       select SYS_SUPPORTS_BIG_ENDIAN
-       select SYS_SUPPORTS_LITTLE_ENDIAN
-       select GENERIC_HARDIRQS_NO__DO_IRQ
-       select NR_CPUS_DEFAULT_1
-       select SYS_SUPPORTS_SMP
-       help
-         Qemu is a software emulator which among other architectures also
-         can simulate a MIPS32 4Kc system.  This patch adds support for the
-         system architecture that currently is being simulated by Qemu.  It
-         will eventually be removed again when Qemu has the capability to
-         simulate actual MIPS hardware platforms.  More information on Qemu
-         can be found at http://www.linux-mips.org/wiki/Qemu.
-
 config SGI_IP22
        bool "SGI IP22 (Indy/Indigo2)"
        select ARC
        select ARC32
        select BOOT_ELF32
        select CEVT_R4K
+       select CSRC_R4K
+       select DEFAULT_SGI_PARTITION
        select DMA_NONCOHERENT
        select HW_HAS_EISA
        select I8253
+       select I8259
        select IP22_CPU_SCACHE
        select IRQ_CPU
        select GENERIC_ISA_DMA_SUPPORT_BROKEN
+       select SGI_HAS_DS1286
+       select SGI_HAS_I8042
+       select SGI_HAS_INDYDOG
+       select SGI_HAS_SEEQ
+       select SGI_HAS_WD93
+       select SGI_HAS_ZILOG
        select SWAP_IO_SPACE
        select SYS_HAS_CPU_R4X00
        select SYS_HAS_CPU_R5000
@@ -405,6 +399,7 @@ config SGI_IP27
        select ARC
        select ARC64
        select BOOT_ELF64
+       select DEFAULT_SGI_PARTITION
        select DMA_IP27
        select SYS_HAS_EARLY_PRINTK
        select HW_HAS_PCI
@@ -421,12 +416,43 @@ config SGI_IP27
          workstations.  To compile a Linux kernel that runs on these, say Y
          here.
 
+config SGI_IP28
+       bool "SGI IP28 (Indigo2 R10k) (EXPERIMENTAL)"
+       depends on EXPERIMENTAL
+       select ARC
+       select ARC64
+       select BOOT_ELF64
+       select CEVT_R4K
+       select CSRC_R4K
+       select DEFAULT_SGI_PARTITION
+       select DMA_NONCOHERENT
+       select GENERIC_ISA_DMA_SUPPORT_BROKEN
+       select IRQ_CPU
+       select HW_HAS_EISA
+       select I8253
+       select I8259
+       select SGI_HAS_DS1286
+       select SGI_HAS_I8042
+       select SGI_HAS_INDYDOG
+       select SGI_HAS_SEEQ
+       select SGI_HAS_WD93
+       select SGI_HAS_ZILOG
+       select SWAP_IO_SPACE
+       select SYS_HAS_CPU_R10000
+       select SYS_HAS_EARLY_PRINTK
+       select SYS_SUPPORTS_64BIT_KERNEL
+       select SYS_SUPPORTS_BIG_ENDIAN
+      help
+        This is the SGI Indigo2 with R10000 processor.  To compile a Linux
+        kernel that runs on these, say Y here.
+
 config SGI_IP32
        bool "SGI IP32 (O2)"
        select ARC
        select ARC32
        select BOOT_ELF32
        select CEVT_R4K
+       select CSRC_R4K
        select DMA_NONCOHERENT
        select HW_HAS_PCI
        select IRQ_CPU
@@ -498,6 +524,7 @@ config SIBYTE_SWARM
        select SYS_SUPPORTS_HIGHMEM
        select SYS_SUPPORTS_KGDB
        select SYS_SUPPORTS_LITTLE_ENDIAN
+       select ZONE_DMA32 if 64BIT
 
 config SIBYTE_LITTLESUR
        bool "Sibyte BCM91250C2-LittleSur"
@@ -524,19 +551,6 @@ config SIBYTE_SENTOSA
        select SYS_SUPPORTS_BIG_ENDIAN
        select SYS_SUPPORTS_LITTLE_ENDIAN
 
-config SIBYTE_PTSWARM
-       bool "Sibyte BCM91250PT-PTSWARM"
-       depends on EXPERIMENTAL
-       select BOOT_ELF32
-       select DMA_COHERENT
-       select NR_CPUS_DEFAULT_2
-       select SIBYTE_SB1250
-       select SWAP_IO_SPACE
-       select SYS_HAS_CPU_SB1
-       select SYS_SUPPORTS_BIG_ENDIAN
-       select SYS_SUPPORTS_HIGHMEM
-       select SYS_SUPPORTS_LITTLE_ENDIAN
-
 config SIBYTE_BIGSUR
        bool "Sibyte BCM91480B-BigSur"
        select BOOT_ELF32
@@ -548,14 +562,18 @@ config SIBYTE_BIGSUR
        select SYS_SUPPORTS_BIG_ENDIAN
        select SYS_SUPPORTS_HIGHMEM
        select SYS_SUPPORTS_LITTLE_ENDIAN
+       select ZONE_DMA32 if 64BIT
 
 config SNI_RM
        bool "SNI RM200/300/400"
        select ARC if CPU_LITTLE_ENDIAN
        select ARC32 if CPU_LITTLE_ENDIAN
+       select SNIPROM if CPU_BIG_ENDIAN
        select ARCH_MAY_HAVE_PC_FDC
        select BOOT_ELF32
        select CEVT_R4K
+       select CSRC_R4K
+       select DEFAULT_SGI_PARTITION if CPU_BIG_ENDIAN
        select DMA_NONCOHERENT
        select GENERIC_ISA_DMA
        select HW_HAS_EISA
@@ -564,7 +582,6 @@ config SNI_RM
        select I8253
        select I8259
        select ISA
-       select PCSPEAKER
        select SWAP_IO_SPACE if CPU_BIG_ENDIAN
        select SYS_HAS_CPU_R4X00
        select SYS_HAS_CPU_R5000
@@ -599,6 +616,7 @@ config TOSHIBA_JMR3927
 config TOSHIBA_RBTX4927
        bool "Toshiba RBTX49[23]7 board"
        select CEVT_R4K
+       select CSRC_R4K
        select CEVT_TXX9
        select DMA_NONCOHERENT
        select HAS_TXX9_SERIAL
@@ -621,6 +639,7 @@ config TOSHIBA_RBTX4927
 config TOSHIBA_RBTX4938
        bool "Toshiba RBTX4938 board"
        select CEVT_R4K
+       select CSRC_R4K
        select CEVT_TXX9
        select DMA_NONCOHERENT
        select HAS_TXX9_SERIAL
@@ -642,6 +661,7 @@ config TOSHIBA_RBTX4938
 config WR_PPMC
        bool "Wind River PPMC board"
        select CEVT_R4K
+       select CSRC_R4K
        select IRQ_CPU
        select BOOT_ELF32
        select DMA_NONCOHERENT
@@ -664,6 +684,7 @@ config WR_PPMC
 endchoice
 
 source "arch/mips/au1000/Kconfig"
+source "arch/mips/basler/excite/Kconfig"
 source "arch/mips/jazz/Kconfig"
 source "arch/mips/lasat/Kconfig"
 source "arch/mips/pmc-sierra/Kconfig"
@@ -675,6 +696,11 @@ source "arch/mips/vr41xx/Kconfig"
 
 endmenu
 
+config GENERIC_LOCKBREAK
+       bool
+       default y
+       depends on SMP && PREEMPT
+
 config RWSEM_GENERIC_SPINLOCK
        bool
        default y
@@ -690,6 +716,10 @@ config ARCH_HAS_ILOG2_U64
        bool
        default n
 
+config ARCH_SUPPORTS_OPROFILE
+       bool
+       default y if !MIPS_MT_SMTC
+
 config GENERIC_FIND_NEXT_BIT
        bool
        default y
@@ -752,6 +782,9 @@ config CEVT_TXX9
 config CSRC_BCM1480
        bool
 
+config CSRC_R4K
+       bool
+
 config CSRC_SB1250
        bool
 
@@ -764,10 +797,6 @@ config DMA_COHERENT
 config DMA_IP27
        bool
 
-config DMA_IP32
-       bool
-       select DMA_NEED_PCI_MAP_STATE
-
 config DMA_NONCOHERENT
        bool
        select DMA_NEED_PCI_MAP_STATE
@@ -923,16 +952,40 @@ config EMMA2RH
 config SERIAL_RM9000
        bool
 
+config SGI_HAS_DS1286
+       bool
+
+config SGI_HAS_INDYDOG
+       bool
+
+config SGI_HAS_SEEQ
+       bool
+
+config SGI_HAS_WD93
+       bool
+
+config SGI_HAS_ZILOG
+       bool
+
+config SGI_HAS_I8042
+       bool
+
+config DEFAULT_SGI_PARTITION
+       bool
+
 config ARC32
        bool
 
+config SNIPROM
+       bool
+
 config BOOT_ELF32
        bool
 
 config MIPS_L1_CACHE_SHIFT
        int
        default "4" if MACH_DECSTATION
-       default "7" if SGI_IP27 || SNI_RM
+       default "7" if SGI_IP27 || SGI_IP28 || SNI_RM
        default "4" if PMC_MSP4200_EVAL
        default "5"
 
@@ -941,7 +994,7 @@ config HAVE_STD_PC_SERIAL_PORT
 
 config ARC_CONSOLE
        bool "ARC console support"
-       depends on SGI_IP22 || (SNI_RM && CPU_LITTLE_ENDIAN)
+       depends on SGI_IP22 || SGI_IP28 || (SNI_RM && CPU_LITTLE_ENDIAN)
 
 config ARC_MEMORY
        bool
@@ -950,7 +1003,7 @@ config ARC_MEMORY
 
 config ARC_PROMLIB
        bool
-       depends on MACH_JAZZ || SNI_RM || SGI_IP22 || SGI_IP32
+       depends on MACH_JAZZ || SNI_RM || SGI_IP22 || SGI_IP28 || SGI_IP32
        default y
 
 config ARC64
@@ -961,8 +1014,6 @@ config BOOT_ELF64
 
 menu "CPU selection"
 
-source "kernel/time/Kconfig"
-
 choice
        prompt "CPU type"
        default CPU_R4X00
@@ -1409,11 +1460,12 @@ config MIPS_MT_SMP
        depends on SYS_SUPPORTS_MULTITHREADING
        select CPU_MIPSR2_IRQ_VI
        select CPU_MIPSR2_IRQ_EI
-       select CPU_MIPSR2_SRS
        select MIPS_MT
        select NR_CPUS_DEFAULT_2
        select SMP
+       select SYS_SUPPORTS_SCHED_SMT if SMP
        select SYS_SUPPORTS_SMP
+       select SMP_UP
        help
          This is a kernel model which is also known a VSMP or lately
          has been marketesed into SMVP.
@@ -1426,11 +1478,11 @@ config MIPS_MT_SMTC
        select GENERIC_CLOCKEVENTS_BROADCAST
        select CPU_MIPSR2_IRQ_VI
        select CPU_MIPSR2_IRQ_EI
-       select CPU_MIPSR2_SRS
        select MIPS_MT
        select NR_CPUS_DEFAULT_8
        select SMP
        select SYS_SUPPORTS_SMP
+       select SMP_UP
        help
          This is a kernel model which is known a SMTC or lately has been
          marketesed into SMVP.
@@ -1440,6 +1492,19 @@ endchoice
 config MIPS_MT
        bool
 
+config SCHED_SMT
+       bool "SMT (multithreading) scheduler support"
+       depends on SYS_SUPPORTS_SCHED_SMT
+       default n
+       help
+         SMT scheduler support improves the CPU scheduler's decision making
+         when dealing with MIPS MT enabled cores at a cost of slightly
+         increased overhead in some places. If unsure say N here.
+
+config SYS_SUPPORTS_SCHED_SMT
+       bool
+
+
 config SYS_SUPPORTS_MULTITHREADING
        bool
 
@@ -1453,7 +1518,6 @@ config MIPS_VPE_LOADER
        depends on SYS_SUPPORTS_MULTITHREADING
        select CPU_MIPSR2_IRQ_VI
        select CPU_MIPSR2_IRQ_EI
-       select CPU_MIPSR2_SRS
        select MIPS_MT
        help
          Includes a loader for loading an elf relocatable object
@@ -1561,15 +1625,6 @@ config CPU_HAS_SMARTMIPS
 config CPU_HAS_WB
        bool
 
-config 64BIT_CONTEXT
-       bool "Save 64bit integer registers"
-       depends on 32BIT && CPU_LOONGSON2
-       help
-         Loongson2 CPU is 64bit , when used in 32BIT mode, its integer
-         registers can still be accessed as 64bit, mainly for multimedia
-         instructions. We must have all 64bit save/restored to make sure
-         those instructions to get correct result.
-
 #
 # Vectored interrupt mode is an R2 feature
 #
@@ -1582,12 +1637,6 @@ config CPU_MIPSR2_IRQ_VI
 config CPU_MIPSR2_IRQ_EI
        bool
 
-#
-# Shadow registers are an R2 feature
-#
-config CPU_MIPSR2_SRS
-       bool
-
 config CPU_HAS_SYNC
        bool
        depends on !CPU_R3000
@@ -1597,6 +1646,19 @@ config GENERIC_CLOCKEVENTS_BROADCAST
        bool
 
 #
+# CPU non-features
+#
+config CPU_DADDI_WORKAROUNDS
+       bool
+
+config CPU_R4000_WORKAROUNDS
+       bool
+       select CPU_R4400_WORKAROUNDS
+
+config CPU_R4400_WORKAROUNDS
+       bool
+
+#
 # Use the generic interrupt handling code in kernel/irq/:
 #
 config GENERIC_HARDIRQS
@@ -1649,6 +1711,9 @@ config ARCH_DISCONTIGMEM_ENABLE
          or have huge holes in the physical address space for other reasons.
          See <file:Documentation/vm/numa> for more.
 
+config ARCH_POPULATES_NODE_MAP
+       def_bool y
+
 config ARCH_SPARSEMEM_ENABLE
        bool
        select SPARSEMEM_STATIC
@@ -1691,11 +1756,14 @@ config SMP
          People using multiprocessor machines who say Y here should also say
          Y to "Enhanced Real Time Clock Support", below.
 
-         See also the <file:Documentation/smp.txt> and the SMP-HOWTO
-         available at <http://www.tldp.org/docs.html#howto>.
+         See also the SMP-HOWTO available at
+         <http://www.tldp.org/docs.html#howto>.
 
          If you don't know what to do here, say N.
 
+config SMP_UP
+       bool
+
 config SYS_SUPPORTS_SMP
        bool
 
@@ -1743,6 +1811,8 @@ config NR_CPUS
          performance should round up your number of processors to the next
          power of two.
 
+source "kernel/time/Kconfig"
+
 #
 # Timer Interrupt Frequency Configuration
 #
@@ -1893,11 +1963,6 @@ config PCI
          your box. Other bus systems are ISA, EISA, or VESA. If you have PCI,
          say Y, otherwise N.
 
-         The PCI-HOWTO, available from
-         <http://www.tldp.org/docs.html#howto>, contains valuable
-         information about which PCI hardware does work under Linux and which
-         doesn't.
-
 config PCI_DOMAINS
        bool
 
@@ -1951,7 +2016,7 @@ config MMU
 config I8253
        bool
 
-config PCSPEAKER
+config ZONE_DMA32
        bool
 
 source "drivers/pcmcia/Kconfig"
@@ -2018,6 +2083,10 @@ endmenu
 
 menu "Power management options"
 
+config ARCH_SUSPEND_POSSIBLE
+       def_bool y
+       depends on !SMP
+
 source "kernel/power/Kconfig"
 
 endmenu
@@ -2028,8 +2097,6 @@ source "drivers/Kconfig"
 
 source "fs/Kconfig"
 
-source "kernel/Kconfig.instrumentation"
-
 source "arch/mips/Kconfig.debug"
 
 source "security/Kconfig"