]> nv-tegra.nvidia Code Review - linux-2.6.git/commitdiff
Merge master.kernel.org:/home/rmk/linux-2.6-arm
authorLinus Torvalds <torvalds@g5.osdl.org>
Sun, 15 Jan 2006 03:43:21 +0000 (19:43 -0800)
committerLinus Torvalds <torvalds@g5.osdl.org>
Sun, 15 Jan 2006 03:43:21 +0000 (19:43 -0800)
1  2 
arch/arm/Kconfig

diff --combined arch/arm/Kconfig
index 3cfd82a05b20b1fb2cd2efbe6fd3c7520c6573dd,006f09218ae7418a870aa1370f78bc15678f218b..5959e36c3b4c52ba2eaeaedf8afe9ecced20c3f2
@@@ -180,6 -180,7 +180,7 @@@ config ARCH_OMA
  config ARCH_VERSATILE
        bool "Versatile"
        select ARM_AMBA
+       select ARM_VIC
        select ICST307
        help
          This enables support for ARM Ltd Versatile board.
@@@ -400,6 -401,38 +401,38 @@@ config NO_IDLE_H
          Currently at least OMAP, PXA2xx and SA11x0 platforms are known
          to have accurate timekeeping with dynamic tick.
  
+ config AEABI
+       bool "Use the ARM EABI to compile the kernel"
+       help
+         This option allows for the kernel to be compiled using the latest
+         ARM ABI (aka EABI).  This is only useful if you are using a user
+         space environment that is also compiled with EABI.
+         Since there are major incompatibilities between the legacy ABI and
+         EABI, especially with regard to structure member alignment, this
+         option also changes the kernel syscall calling convention to
+         disambiguate both ABIs and allow for backward compatibility support
+         (selected with CONFIG_OABI_COMPAT).
+         To use this you need GCC version 4.0.0 or later.
+ config OABI_COMPAT
+       bool "Allow old ABI binaries to run with this kernel"
+       depends on AEABI
+       default y
+       help
+         This option preserves the old syscall interface along with the
+         new (ARM EABI) one. It also provides a compatibility layer to
+         intercept syscalls that have structure arguments which layout
+         in memory differs between the legacy ABI and the new ARM EABI
+         (only for non "thumb" binaries). This option adds a tiny
+         overhead to all syscalls and produces a slightly larger kernel.
+         If you know you'll be using only pure EABI user space then you
+         can say N here. If this option is not selected and you attempt
+         to execute a legacy ABI binary then the result will be
+         UNPREDICTABLE (in fact it can be predicted that it won't work
+         at all). If in doubt say Y.
  config ARCH_DISCONTIGMEM_ENABLE
        bool
        default (ARCH_LH7A40X && !LH7A40X_CONTIGMEM)
@@@ -586,6 -619,7 +619,7 @@@ comment "At least one emulation must b
  
  config FPE_NWFPE
        bool "NWFPE math emulation"
+       depends on !AEABI || OABI_COMPAT
        ---help---
          Say Y to include the NWFPE floating point emulator in the kernel.
          This is necessary to run most binaries. Linux does not currently
@@@ -609,7 -643,7 +643,7 @@@ config FPE_NWFPE_X
  
  config FPE_FASTFPE
        bool "FastFPE math emulation (EXPERIMENTAL)"
-       depends on !CPU_32v3 && EXPERIMENTAL
+       depends on (!AEABI || OABI_COMPAT) && !CPU_32v3 && EXPERIMENTAL
        ---help---
          Say Y here to include the FAST floating point emulator in the kernel.
          This is an experimental much faster emulator which now also has full
@@@ -641,6 -675,7 +675,7 @@@ source "fs/Kconfig.binfmt
  
  config ARTHUR
        tristate "RISC OS personality"
+       depends on !AEABI
        help
          Say Y here to include the kernel code necessary if you want to run
          Acorn RISC OS/Arthur binaries under Linux. This code is still very
@@@ -729,8 -764,6 +764,8 @@@ source "drivers/char/Kconfig
  
  source "drivers/i2c/Kconfig"
  
 +source "drivers/spi/Kconfig"
 +
  source "drivers/hwmon/Kconfig"
  
  #source "drivers/l3/Kconfig"