[MIPS] Fix shadow register support.
[safe/jmp/linux-2.6] / arch / mips / Kconfig
index cec0d84..2f2ce0c 100644 (file)
@@ -3,6 +3,7 @@ config MIPS
        default y
        # Horrible source of confusion.  Die, die, die ...
        select EMBEDDED
+       select RTC_LIB
 
 mainmenu "Linux/MIPS Kernel Configuration"
 
@@ -20,6 +21,7 @@ config MACH_ALCHEMY
 
 config BASLER_EXCITE
        bool "Basler eXcite smart camera"
+       select CEVT_R4K
        select DMA_COHERENT
        select HW_HAS_PCI
        select IRQ_CPU
@@ -28,7 +30,6 @@ config BASLER_EXCITE
        select MIPS_RM9122
        select SYS_HAS_CPU_RM9000
        select SYS_SUPPORTS_32BIT_KERNEL
-       select SYS_SUPPORTS_64BIT_KERNEL
        select SYS_SUPPORTS_BIG_ENDIAN
        select SYS_SUPPORTS_KGDB
        help
@@ -45,12 +46,33 @@ config BASLER_EXCITE_PROTOTYPE
          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 DMA_NONCOHERENT
+       select HW_HAS_PCI
+       select IRQ_CPU
+       select SYS_HAS_CPU_MIPS32_R1
+       select SYS_SUPPORTS_32BIT_KERNEL
+       select SYS_SUPPORTS_LITTLE_ENDIAN
+       select SSB
+       select SSB_DRIVER_MIPS
+       select GENERIC_GPIO
+       select SYS_HAS_EARLY_PRINTK
+       select CFE
+       help
+        Support for BCM47XX based boards
+
 config MIPS_COBALT
        bool "Cobalt Server"
+       select CEVT_R4K
+       select CEVT_GT641XX
        select DMA_NONCOHERENT
        select HW_HAS_PCI
+       select I8253
        select I8259
        select IRQ_CPU
+       select IRQ_GT641XX
        select PCI_GT64XXX_PCI0
        select SYS_HAS_CPU_NEVADA
        select SYS_HAS_EARLY_PRINTK
@@ -62,6 +84,7 @@ config MIPS_COBALT
 config MACH_DECSTATION
        bool "DECstations"
        select BOOT_ELF32
+       select CEVT_R4K
        select DMA_NONCOHERENT
        select NO_IOPORT
        select IRQ_CPU
@@ -81,10 +104,10 @@ config MACH_DECSTATION
          If you have one of the following DECstation Models you definitely
          want to choose R4xx0 for the CPU Type:
 
-               DECstation 5000/50
-               DECstation 5000/150
-               DECstation 5000/260
-               DECsystem 5900/260
+               DECstation 5000/50
+               DECstation 5000/150
+               DECstation 5000/260
+               DECsystem 5900/260
 
          otherwise choose R3000.
 
@@ -93,7 +116,10 @@ config MACH_JAZZ
        select ARC
        select ARC32
        select ARCH_MAY_HAVE_PC_FDC
+       select CEVT_R4K
        select GENERIC_ISA_DMA
+       select IRQ_CPU
+       select I8253
        select I8259
        select ISA
        select PCSPEAKER
@@ -108,9 +134,26 @@ config MACH_JAZZ
         Members include the Acer PICA, MIPS Magnum 4000, MIPS Millenium and
         Olivetti M700-10 workstations.
 
+config LASAT
+       bool "LASAT Networks platforms"
+       select CEVT_R4K
+       select DMA_NONCOHERENT
+       select SYS_HAS_EARLY_PRINTK
+       select HW_HAS_PCI
+       select IRQ_CPU
+       select PCI_GT64XXX_PCI0
+       select MIPS_NILE4
+       select R5000_CPU_SCACHE
+       select SYS_HAS_CPU_R5000
+       select SYS_SUPPORTS_32BIT_KERNEL
+       select SYS_SUPPORTS_64BIT_KERNEL if BROKEN
+       select SYS_SUPPORTS_LITTLE_ENDIAN
+       select GENERIC_HARDIRQS_NO__DO_IRQ
+
 config LEMOTE_FULONG
        bool "Lemote Fulong mini-PC"
        select ARCH_SPARSEMEM_ENABLE
+       select CEVT_R4K
        select SYS_HAS_CPU_LOONGSON2
        select DMA_NONCOHERENT
        select BOOT_ELF32
@@ -126,6 +169,7 @@ config LEMOTE_FULONG
        select SYS_SUPPORTS_HIGHMEM
        select SYS_HAS_EARLY_PRINTK
        select GENERIC_HARDIRQS_NO__DO_IRQ
+       select GENERIC_ISA_DMA_SUPPORT_BROKEN
        select CPU_HAS_WB
        help
          Lemote Fulong mini-PC board based on the Chinese Loongson-2E CPU and
@@ -134,6 +178,7 @@ config LEMOTE_FULONG
 config MIPS_ATLAS
        bool "MIPS Atlas board"
        select BOOT_ELF32
+       select CEVT_R4K
        select DMA_NONCOHERENT
        select SYS_HAS_EARLY_PRINTK
        select IRQ_CPU
@@ -164,10 +209,12 @@ config MIPS_MALTA
        bool "MIPS Malta board"
        select ARCH_MAY_HAVE_PC_FDC
        select BOOT_ELF32
+       select CEVT_R4K
        select DMA_NONCOHERENT
        select GENERIC_ISA_DMA
        select IRQ_CPU
        select HW_HAS_PCI
+       select I8253
        select I8259
        select MIPS_BOARDS_GEN
        select MIPS_BONITO64
@@ -192,8 +239,8 @@ config MIPS_MALTA
          board.
 
 config MIPS_SEAD
-       bool "MIPS SEAD board (EXPERIMENTAL)"
-       depends on EXPERIMENTAL
+       bool "MIPS SEAD board"
+       select CEVT_R4K
        select IRQ_CPU
        select DMA_NONCOHERENT
        select SYS_HAS_EARLY_PRINTK
@@ -212,6 +259,7 @@ config MIPS_SEAD
 
 config MIPS_SIM
        bool 'MIPS simulator (MIPSsim)'
+       select CEVT_R4K
        select DMA_NONCOHERENT
        select SYS_HAS_EARLY_PRINTK
        select IRQ_CPU
@@ -229,6 +277,7 @@ config MIPS_SIM
 
 config MARKEINS
        bool "NEC EMMA2RH Mark-eins"
+       select CEVT_R4K
        select DMA_NONCOHERENT
        select HW_HAS_PCI
        select IRQ_CPU
@@ -243,6 +292,7 @@ config MARKEINS
 
 config MACH_VR41XX
        bool "NEC VR4100 series based machines"
+       select CEVT_R4K
        select SYS_HAS_CPU_VR41XX
        select GENERIC_HARDIRQS_NO__DO_IRQ
 
@@ -279,6 +329,7 @@ config PMC_MSP
 
 config PMC_YOSEMITE
        bool "PMC-Sierra Yosemite eval board"
+       select CEVT_R4K
        select DMA_COHERENT
        select HW_HAS_PCI
        select IRQ_CPU
@@ -299,18 +350,21 @@ config PMC_YOSEMITE
 
 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 ARCH_SPARSEMEM_ENABLE
        select GENERIC_HARDIRQS_NO__DO_IRQ
        select NR_CPUS_DEFAULT_1
        select SYS_SUPPORTS_SMP
@@ -327,8 +381,10 @@ config SGI_IP22
        select ARC
        select ARC32
        select BOOT_ELF32
+       select CEVT_R4K
        select DMA_NONCOHERENT
        select HW_HAS_EISA
+       select I8253
        select IP22_CPU_SCACHE
        select IRQ_CPU
        select GENERIC_ISA_DMA_SUPPORT_BROKEN
@@ -353,7 +409,6 @@ config SGI_IP27
        select SYS_HAS_EARLY_PRINTK
        select HW_HAS_PCI
        select NR_CPUS_DEFAULT_64
-       select PCI_DOMAINS
        select SYS_HAS_CPU_R10000
        select SYS_SUPPORTS_64BIT_KERNEL
        select SYS_SUPPORTS_BIG_ENDIAN
@@ -371,8 +426,10 @@ config SGI_IP32
        select ARC
        select ARC32
        select BOOT_ELF32
+       select CEVT_R4K
        select DMA_NONCOHERENT
        select HW_HAS_PCI
+       select IRQ_CPU
        select R5000_CPU_SCACHE
        select RM7000_CPU_SCACHE
        select SYS_HAS_CPU_R5000
@@ -485,11 +542,11 @@ config SIBYTE_BIGSUR
        select BOOT_ELF32
        select DMA_COHERENT
        select NR_CPUS_DEFAULT_4
-       select PCI_DOMAINS
        select SIBYTE_BCM1x80
        select SWAP_IO_SPACE
        select SYS_HAS_CPU_SB1
        select SYS_SUPPORTS_BIG_ENDIAN
+       select SYS_SUPPORTS_HIGHMEM
        select SYS_SUPPORTS_LITTLE_ENDIAN
 
 config SNI_RM
@@ -498,11 +555,13 @@ config SNI_RM
        select ARC32 if CPU_LITTLE_ENDIAN
        select ARCH_MAY_HAVE_PC_FDC
        select BOOT_ELF32
+       select CEVT_R4K
        select DMA_NONCOHERENT
        select GENERIC_ISA_DMA
        select HW_HAS_EISA
        select HW_HAS_PCI
        select IRQ_CPU
+       select I8253
        select I8259
        select ISA
        select PCSPEAKER
@@ -525,9 +584,11 @@ config SNI_RM
 
 config TOSHIBA_JMR3927
        bool "Toshiba JMR-TX3927 board"
+       select CEVT_TXX9
        select DMA_NONCOHERENT
        select HW_HAS_PCI
        select MIPS_TX3927
+       select IRQ_TXX9
        select SWAP_IO_SPACE
        select SYS_HAS_CPU_TX39XX
        select SYS_SUPPORTS_32BIT_KERNEL
@@ -537,10 +598,14 @@ config TOSHIBA_JMR3927
 
 config TOSHIBA_RBTX4927
        bool "Toshiba RBTX49[23]7 board"
+       select CEVT_R4K
+       select CEVT_TXX9
        select DMA_NONCOHERENT
        select HAS_TXX9_SERIAL
        select HW_HAS_PCI
-       select I8259
+       select IRQ_CPU
+       select IRQ_TXX9
+       select I8259 if TOSHIBA_FPCIB0
        select SWAP_IO_SPACE
        select SYS_HAS_CPU_TX49XX
        select SYS_SUPPORTS_32BIT_KERNEL
@@ -555,12 +620,13 @@ config TOSHIBA_RBTX4927
 
 config TOSHIBA_RBTX4938
        bool "Toshiba RBTX4938 board"
-       select HAVE_STD_PC_SERIAL_PORT
+       select CEVT_R4K
+       select CEVT_TXX9
        select DMA_NONCOHERENT
-       select GENERIC_ISA_DMA
        select HAS_TXX9_SERIAL
        select HW_HAS_PCI
-       select I8259
+       select IRQ_CPU
+       select IRQ_TXX9
        select SWAP_IO_SPACE
        select SYS_HAS_CPU_TX49XX
        select SYS_SUPPORTS_32BIT_KERNEL
@@ -575,6 +641,7 @@ config TOSHIBA_RBTX4938
 
 config WR_PPMC
        bool "Wind River PPMC board"
+       select CEVT_R4K
        select IRQ_CPU
        select BOOT_ELF32
        select DMA_NONCOHERENT
@@ -598,6 +665,7 @@ endchoice
 
 source "arch/mips/au1000/Kconfig"
 source "arch/mips/jazz/Kconfig"
+source "arch/mips/lasat/Kconfig"
 source "arch/mips/pmc-sierra/Kconfig"
 source "arch/mips/sgi-ip27/Kconfig"
 source "arch/mips/sibyte/Kconfig"
@@ -634,10 +702,18 @@ config GENERIC_CALIBRATE_DELAY
        bool
        default y
 
+config GENERIC_CLOCKEVENTS
+       bool
+       default y
+
 config GENERIC_TIME
        bool
        default y
 
+config GENERIC_CMOS_UPDATE
+       bool
+       default y
+
 config SCHED_NO_NO_OMIT_FRAME_POINTER
        bool
        default y
@@ -658,6 +734,30 @@ config ARCH_MAY_HAVE_PC_FDC
 config BOOT_RAW
        bool
 
+config CEVT_BCM1480
+       bool
+
+config CEVT_GT641XX
+       bool
+
+config CEVT_R4K
+       bool
+
+config CEVT_SB1250
+       bool
+
+config CEVT_TXX9
+       bool
+
+config CSRC_BCM1480
+       bool
+
+config CSRC_SB1250
+       bool
+
+config CFE
+       bool
+
 config DMA_COHERENT
        bool
 
@@ -692,9 +792,9 @@ config EARLY_PRINTK
 config SYS_HAS_EARLY_PRINTK
        bool
 
-config GENERIC_ISA_DMA
+config HOTPLUG_CPU
        bool
-       select ZONE_DMA
+       default n
 
 config I8259
        bool
@@ -705,15 +805,22 @@ config MIPS_BONITO64
 config MIPS_MSC
        bool
 
+config MIPS_NILE4
+       bool
+
 config MIPS_DISABLE_OBSOLETE_IDE
        bool
 
 config NO_IOPORT
        def_bool n
 
+config GENERIC_ISA_DMA
+       bool
+       select ZONE_DMA if GENERIC_ISA_DMA_SUPPORT_BROKEN=n
+
 config GENERIC_ISA_DMA_SUPPORT_BROKEN
        bool
-       select ZONE_DMA
+       select GENERIC_ISA_DMA
 
 config GENERIC_GPIO
        bool
@@ -770,6 +877,9 @@ config IRQ_MSP_CIC
 config IRQ_TXX9
        bool
 
+config IRQ_GT641XX
+       bool
+
 config MIPS_BOARDS_GEN
        bool
 
@@ -813,20 +923,6 @@ config EMMA2RH
 config SERIAL_RM9000
        bool
 
-#
-# Unfortunately not all GT64120 systems run the chip at the same clock.
-# As the user for the clock rate and try to minimize the available options.
-#
-choice
-       prompt "Galileo Chip Clock"
-       depends on MOMENCO_OCELOT
-       default SYSCLK_100 if MOMENCO_OCELOT
-
-config SYSCLK_100
-       bool "100" if MOMENCO_OCELOT
-
-endchoice
-
 config ARC32
        bool
 
@@ -865,6 +961,8 @@ config BOOT_ELF64
 
 menu "CPU selection"
 
+source "kernel/time/Kconfig"
+
 choice
        prompt "CPU type"
        default CPU_R4X00
@@ -1311,7 +1409,6 @@ 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
@@ -1325,9 +1422,9 @@ config MIPS_MT_SMTC
        depends on CPU_MIPS32_R2
        #depends on CPU_MIPS64_R2               # once there is hardware ...
        depends on SYS_SUPPORTS_MULTITHREADING
+       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
@@ -1354,7 +1451,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
@@ -1387,6 +1483,19 @@ config MIPS_MT_SMTC_IM_BACKSTOP
          impact on interrupt service overhead. Disable it only if you know
          what you are doing.
 
+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.  It is recommended that MIPS_MT_SMTC_INSTANT_REPLAY
+         be enabled if MIPS_MT_SMTC_IRQAFF is used. Adds 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
@@ -1470,17 +1579,14 @@ 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
        default y
 
+config GENERIC_CLOCKEVENTS_BROADCAST
+       bool
+
 #
 # Use the generic interrupt handling code in kernel/irq/:
 #
@@ -1720,7 +1826,7 @@ config KEXEC
          but it is independent of the system firmware.   And like a reboot
          you can start any kernel with it, not just Linux.
 
-         The name comes from the similiarity to the exec system call.
+         The name comes from the similarity to the exec system call.
 
          It is an ongoing process to be certain the hardware in a machine
          is properly shutdown, so do not be surprised if this code does not
@@ -1771,6 +1877,7 @@ config HW_HAS_PCI
 config PCI
        bool "Support for PCI controller"
        depends on HW_HAS_PCI
+       select PCI_DOMAINS
        help
          Find out whether you have a PCI motherboard. PCI is the name of a
          bus system, i.e. the way the CPU talks to the other stuff inside
@@ -1784,7 +1891,6 @@ config PCI
 
 config PCI_DOMAINS
        bool
-       depends on PCI
 
 source "drivers/pci/Kconfig"
 
@@ -1833,6 +1939,9 @@ config MMU
        bool
        default y
 
+config I8253
+       bool
+
 config PCSPEAKER
        bool
 
@@ -1849,21 +1958,6 @@ source "fs/Kconfig.binfmt"
 config TRAD_SIGNALS
        bool
 
-config BUILD_ELF64
-       bool "Use 64-bit ELF format for building"
-       depends on 64BIT
-       help
-         A 64-bit kernel is usually built using the 64-bit ELF binary object
-         format as it's one that allows arbitrary 64-bit constructs.  For
-         kernels that are loaded within the KSEG compatibility segments the
-         32-bit ELF format can optionally be used resulting in a somewhat
-         smaller binary, but this option is not explicitly supported by the
-         toolchain and since binutils 2.14 it does not even work at all.
-
-         Say Y to use the 64-bit format or N to use the 32-bit one.
-
-         If unsure say Y.
-
 config BINFMT_IRIX
        bool "Include IRIX binary compatibility"
        depends on CPU_BIG_ENDIAN && 32BIT && BROKEN
@@ -1925,7 +2019,7 @@ source "drivers/Kconfig"
 
 source "fs/Kconfig"
 
-source "arch/mips/oprofile/Kconfig"
+source "kernel/Kconfig.instrumentation"
 
 source "arch/mips/Kconfig.debug"