[MIPS] Compile __do_IRQ() when really needed
[safe/jmp/linux-2.6] / arch / mips / Kconfig
index 9fe9050..d8af858 100644 (file)
@@ -16,6 +16,7 @@ config MIPS_MTX1
        bool "4G Systems MTX-1 board"
        select DMA_NONCOHERENT
        select HW_HAS_PCI
+       select RESOURCES_64BIT if PCI
        select SOC_AU1500
        select SYS_HAS_CPU_MIPS32_R1
        select SYS_SUPPORTS_LITTLE_ENDIAN
@@ -32,6 +33,7 @@ config MIPS_PB1000
        select SOC_AU1000
        select DMA_NONCOHERENT
        select HW_HAS_PCI
+       select RESOURCES_64BIT if PCI
        select SWAP_IO_SPACE
        select SYS_HAS_CPU_MIPS32_R1
        select SYS_SUPPORTS_LITTLE_ENDIAN
@@ -41,6 +43,7 @@ config MIPS_PB1100
        select SOC_AU1100
        select DMA_NONCOHERENT
        select HW_HAS_PCI
+       select RESOURCES_64BIT if PCI
        select SWAP_IO_SPACE
        select SYS_HAS_CPU_MIPS32_R1
        select SYS_SUPPORTS_LITTLE_ENDIAN
@@ -50,6 +53,7 @@ config MIPS_PB1500
        select SOC_AU1500
        select DMA_NONCOHERENT
        select HW_HAS_PCI
+       select RESOURCES_64BIT if PCI
        select SYS_HAS_CPU_MIPS32_R1
        select SYS_SUPPORTS_LITTLE_ENDIAN
 
@@ -59,6 +63,7 @@ config MIPS_PB1550
        select DMA_NONCOHERENT
        select HW_HAS_PCI
        select MIPS_DISABLE_OBSOLETE_IDE
+       select RESOURCES_64BIT if PCI
        select SYS_HAS_CPU_MIPS32_R1
        select SYS_SUPPORTS_LITTLE_ENDIAN
 
@@ -67,6 +72,7 @@ config MIPS_PB1200
        select SOC_AU1200
        select DMA_NONCOHERENT
        select MIPS_DISABLE_OBSOLETE_IDE
+       select RESOURCES_64BIT if PCI
        select SYS_HAS_CPU_MIPS32_R1
        select SYS_SUPPORTS_LITTLE_ENDIAN
 
@@ -75,6 +81,7 @@ config MIPS_DB1000
        select SOC_AU1000
        select DMA_NONCOHERENT
        select HW_HAS_PCI
+       select RESOURCES_64BIT if PCI
        select SYS_HAS_CPU_MIPS32_R1
        select SYS_SUPPORTS_LITTLE_ENDIAN
 
@@ -91,6 +98,7 @@ config MIPS_DB1500
        select DMA_NONCOHERENT
        select HW_HAS_PCI
        select MIPS_DISABLE_OBSOLETE_IDE
+       select RESOURCES_64BIT if PCI
        select SYS_HAS_CPU_MIPS32_R1
        select SYS_SUPPORTS_BIG_ENDIAN
        select SYS_SUPPORTS_LITTLE_ENDIAN
@@ -101,6 +109,7 @@ config MIPS_DB1550
        select HW_HAS_PCI
        select DMA_NONCOHERENT
        select MIPS_DISABLE_OBSOLETE_IDE
+       select RESOURCES_64BIT if PCI
        select SYS_HAS_CPU_MIPS32_R1
        select SYS_SUPPORTS_LITTLE_ENDIAN
 
@@ -233,6 +242,7 @@ config LASAT
        select SYS_SUPPORTS_32BIT_KERNEL
        select SYS_SUPPORTS_64BIT_KERNEL if EXPERIMENTAL
        select SYS_SUPPORTS_LITTLE_ENDIAN
+       select GENERIC_HARDIRQS_NO__DO_IRQ
 
 config MIPS_ATLAS
        bool "MIPS Atlas board"
@@ -256,6 +266,7 @@ config MIPS_ATLAS
        select SYS_SUPPORTS_BIG_ENDIAN
        select SYS_SUPPORTS_LITTLE_ENDIAN
        select SYS_SUPPORTS_MULTITHREADING if EXPERIMENTAL
+       select GENERIC_HARDIRQS_NO__DO_IRQ
        help
          This enables support for the MIPS Technologies Atlas evaluation
          board.
@@ -266,8 +277,8 @@ config MIPS_MALTA
        select BOOT_ELF32
        select HAVE_STD_PC_SERIAL_PORT
        select DMA_NONCOHERENT
-       select IRQ_CPU
        select GENERIC_ISA_DMA
+       select IRQ_CPU
        select HW_HAS_PCI
        select I8259
        select MIPS_BOARDS_GEN
@@ -410,6 +421,7 @@ config MOMENCO_OCELOT_C
        select SYS_SUPPORTS_32BIT_KERNEL
        select SYS_SUPPORTS_64BIT_KERNEL
        select SYS_SUPPORTS_BIG_ENDIAN
+       select GENERIC_HARDIRQS_NO__DO_IRQ
        help
          The Ocelot is a MIPS-based Single Board Computer (SBC) made by
          Momentum Computer <http://www.momenco.com/>.
@@ -425,9 +437,8 @@ config MOMENCO_OCELOT_G
        select SWAP_IO_SPACE
        select SYS_HAS_CPU_RM7000
        select SYS_SUPPORTS_32BIT_KERNEL
-       select SYS_SUPPORTS_64BIT_KERNEL
+       select SYS_SUPPORTS_64BIT_KERNEL if BROKEN
        select SYS_SUPPORTS_BIG_ENDIAN
-       select ARCH_SPARSEMEM_ENABLE
        help
          The Ocelot is a MIPS-based Single Board Computer (SBC) made by
          Momentum Computer <http://www.momenco.com/>.
@@ -440,13 +451,11 @@ config MIPS_XXS1500
 
 config PNX8550_V2PCI
        bool "Philips PNX8550 based Viper2-PCI board"
-       depends on BROKEN
        select PNX8550
        select SYS_SUPPORTS_LITTLE_ENDIAN
 
 config PNX8550_JBS
        bool "Philips PNX8550 based JBS board"
-       depends on BROKEN
        select PNX8550
        select SYS_SUPPORTS_LITTLE_ENDIAN
 
@@ -537,7 +546,7 @@ config SGI_IP22
        select HW_HAS_EISA
        select IP22_CPU_SCACHE
        select IRQ_CPU
-       select NO_ISA if ISA
+       select GENERIC_ISA_DMA_SUPPORT_BROKEN
        select SWAP_IO_SPACE
        select SYS_HAS_CPU_R4X00
        select SYS_HAS_CPU_R5000
@@ -562,6 +571,8 @@ config SGI_IP27
        select SYS_SUPPORTS_64BIT_KERNEL
        select SYS_SUPPORTS_BIG_ENDIAN
        select SYS_SUPPORTS_NUMA
+       select SYS_SUPPORTS_SMP
+       select GENERIC_HARDIRQS_NO__DO_IRQ
        help
          This are the SGI Origin 200, Origin 2000 and Onyx 2 Graphics
          workstations.  To compile a Linux kernel that runs on these, say Y
@@ -768,6 +779,23 @@ config TOSHIBA_RBTX4938
 
 endchoice
 
+config KEXEC
+       bool "Kexec system call (EXPERIMENTAL)"
+       depends on EXPERIMENTAL
+       help
+         kexec is a system call that implements the ability to shutdown your
+         current kernel, and to start another kernel.  It is like a reboot
+         but it is indepedent 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.
+
+         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
+         initially work for you.  It may help to enable device hotplugging
+         support.  As of this writing the exact hardware interface is
+         strongly in flux, so no good recommendation can be made.
+
 source "arch/mips/ddb5xxx/Kconfig"
 source "arch/mips/gt64120/ev64120/Kconfig"
 source "arch/mips/jazz/Kconfig"
@@ -803,10 +831,18 @@ config GENERIC_CALIBRATE_DELAY
        bool
        default y
 
+config GENERIC_TIME
+       bool
+       default y
+
 config SCHED_NO_NO_OMIT_FRAME_POINTER
        bool
        default y
 
+config GENERIC_HARDIRQS_NO__DO_IRQ
+       bool
+       default n
+
 #
 # Select some configuration options automatically based on user selections.
 #
@@ -862,8 +898,11 @@ config MIPS_NILE4
 config MIPS_DISABLE_OBSOLETE_IDE
        bool
 
+config GENERIC_ISA_DMA_SUPPORT_BROKEN
+       bool
+
 #
-# Endianess selection.  Suffiently obscure so many users don't know what to
+# Endianess 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.
 #
@@ -872,7 +911,7 @@ choice
        help
          Some MIPS machines can be configured for either little or big endian
          byte order. These modes require different kernels and a different
-         Linux distribution.  In general there is one prefered byteorder for a
+         Linux distribution.  In general there is one preferred byteorder for a
          particular system but some systems are just as commonly used in the
          one or the other endianess.
 
@@ -965,6 +1004,7 @@ config SOC_PNX8550
        select HW_HAS_PCI
        select SYS_HAS_CPU_MIPS32_R1
        select SYS_SUPPORTS_32BIT_KERNEL
+       select GENERIC_HARDIRQS_NO__DO_IRQ
 
 config SWAP_IO_SPACE
        bool
@@ -1008,11 +1048,6 @@ endchoice
 config ARC32
        bool
 
-config AU1X00_USB_DEVICE
-       bool
-       depends on MIPS_PB1500 || MIPS_PB1100 || MIPS_PB1000
-       default n
-
 config BOOT_ELF32
        bool
 
@@ -1251,6 +1286,7 @@ config CPU_RM9000
        select CPU_SUPPORTS_32BIT_KERNEL
        select CPU_SUPPORTS_64BIT_KERNEL
        select CPU_SUPPORTS_HIGHMEM
+       select WEAK_ORDERING
 
 config CPU_SB1
        bool "SB1"
@@ -1259,6 +1295,7 @@ config CPU_SB1
        select CPU_SUPPORTS_32BIT_KERNEL
        select CPU_SUPPORTS_64BIT_KERNEL
        select CPU_SUPPORTS_HIGHMEM
+       select WEAK_ORDERING
 
 endchoice
 
@@ -1319,6 +1356,8 @@ config SYS_HAS_CPU_RM9000
 config SYS_HAS_CPU_SB1
        bool
 
+config WEAK_ORDERING
+       bool
 endmenu
 
 #
@@ -1463,10 +1502,8 @@ config MIPS_MT_DISABLED
          the option of an MT-enabled processor this option will be the only
          option in this menu.
 
-config MIPS_MT_SMTC
-       bool "SMTC: Use all TCs on all VPEs for SMP"
-       depends on CPU_MIPS32_R2
-       #depends on CPU_MIPS64_R2               # once there is hardware ...
+config MIPS_MT_SMP
+       bool "Use 1 TC on each available VPE for SMP"
        depends on SYS_SUPPORTS_MULTITHREADING
        select CPU_MIPSR2_IRQ_VI
        select CPU_MIPSR2_SRS
@@ -1474,11 +1511,13 @@ config MIPS_MT_SMTC
        select SMP
        select SYS_SUPPORTS_SMP
        help
-         This is a kernel model which is known a SMTC or lately has been
-         marketesed into SMVP.
+         This is a kernel model which is also known a VSMP or lately
+         has been marketesed into SMVP.
 
-config MIPS_MT_SMP
-       bool "Use 1 TC on each available VPE for SMP"
+config MIPS_MT_SMTC
+       bool "SMTC: Use all TCs on all VPEs for SMP"
+       depends on CPU_MIPS32_R2
+       #depends on CPU_MIPS64_R2               # once there is hardware ...
        depends on SYS_SUPPORTS_MULTITHREADING
        select CPU_MIPSR2_IRQ_VI
        select CPU_MIPSR2_SRS
@@ -1486,8 +1525,8 @@ config MIPS_MT_SMP
        select SMP
        select SYS_SUPPORTS_SMP
        help
-         This is a kernel model which is also known a VSMP or lately
-         has been marketesed into SMVP.
+         This is a kernel model which is known a SMTC or lately has been
+         marketesed into SMVP.
 
 config MIPS_VPE_LOADER
        bool "VPE loader support."
@@ -1636,9 +1675,6 @@ config ARCH_DISCONTIGMEM_ENABLE
 
 config ARCH_SPARSEMEM_ENABLE
        bool
-
-config ARCH_SPARSEMEM_ENABLE
-       bool
        select SPARSEMEM_STATIC
 
 config NUMA
@@ -1693,6 +1729,7 @@ config NR_CPUS
        depends on SMP
        default "64" if SGI_IP27
        default "2"
+       default "8" if MIPS_MT_SMTC
        help
          This allows you to specify the maximum number of CPUs which this
          kernel will support.  The maximum supported value is 32 for 32-bit
@@ -1840,13 +1877,11 @@ source "drivers/pci/Kconfig"
 config ISA
        bool
 
-config NO_ISA
-       bool
-
 config EISA
        bool "EISA support"
        depends on HW_HAS_EISA
        select ISA
+       select GENERIC_ISA_DMA
        ---help---
          The Extended Industry Standard Architecture (EISA) bus was
          developed as an open alternative to the IBM MicroChannel bus.
@@ -1927,6 +1962,11 @@ config COMPAT
        depends on MIPS32_COMPAT
        default y
 
+config SYSVIPC_COMPAT
+       bool
+       depends on COMPAT && SYSVIPC
+       default y
+
 config MIPS32_O32
        bool "Kernel support for o32 binaries"
        depends on MIPS32_COMPAT