]> git.karo-electronics.de Git - karo-tx-linux.git/blobdiff - arch/s390/Kconfig
s390: allow to set gcc -mtune flag
[karo-tx-linux.git] / arch / s390 / Kconfig
index dcc6ac2d802637ab6e5fb9c004eaa69ba5e01479..f75d7e517927694c3782036c64de5842a4852d9d 100644 (file)
@@ -93,16 +93,17 @@ config S390
        select ARCH_INLINE_WRITE_UNLOCK_IRQ
        select ARCH_INLINE_WRITE_UNLOCK_IRQRESTORE
        select ARCH_SAVE_PAGE_KEYS if HIBERNATION
+       select ARCH_USE_CMPXCHG_LOCKREF
        select ARCH_WANT_IPC_PARSE_VERSION
        select BUILDTIME_EXTABLE_SORT
        select CLONE_BACKWARDS2
        select GENERIC_CLOCKEVENTS
        select GENERIC_CPU_DEVICES if !SMP
+       select GENERIC_FIND_FIRST_BIT
        select GENERIC_SMP_IDLE_THREAD
        select GENERIC_TIME_VSYSCALL_OLD
        select HAVE_ALIGNED_STRUCT_PAGE if SLUB
        select HAVE_ARCH_JUMP_LABEL if !MARCH_G5
-       select HAVE_ARCH_MUTEX_CPU_RELAX
        select HAVE_ARCH_SECCOMP_FILTER
        select HAVE_ARCH_TRACEHOOK
        select HAVE_ARCH_TRANSPARENT_HUGEPAGE if 64BIT
@@ -237,6 +238,67 @@ config MARCH_ZEC12
 
 endchoice
 
+config MARCH_G5_TUNE
+       def_bool TUNE_G5 || MARCH_G5 && TUNE_DEFAULT
+
+config MARCH_Z900_TUNE
+       def_bool TUNE_Z900 || MARCH_Z900 && TUNE_DEFAULT
+
+config MARCH_Z990_TUNE
+       def_bool TUNE_Z990 || MARCH_Z990 && TUNE_DEFAULT
+
+config MARCH_Z9_109_TUNE
+       def_bool TUNE_Z9_109 || MARCH_Z9_109 && TUNE_DEFAULT
+
+config MARCH_Z10_TUNE
+       def_bool TUNE_Z10 || MARCH_Z10 && TUNE_DEFAULT
+
+config MARCH_Z196_TUNE
+       def_bool TUNE_Z196 || MARCH_Z196 && TUNE_DEFAULT
+
+config MARCH_ZEC12_TUNE
+       def_bool TUNE_ZEC12 || MARCH_ZEC12 && TUNE_DEFAULT
+
+choice
+       prompt "Tune code generation"
+       default TUNE_DEFAULT
+       help
+         Cause the compiler to tune (-mtune) the generated code for a machine.
+         This will make the code run faster on the selected machine but
+         somewhat slower on other machines.
+         This option only changes how the compiler emits instructions, not the
+         selection of instructions itself, so the resulting kernel will run on
+         all other machines.
+
+config TUNE_DEFAULT
+       bool "Default"
+       help
+         Tune the generated code for the target processor for which the kernel
+         will be compiled.
+
+config TUNE_G5
+       bool "System/390 model G5 and G6"
+
+config TUNE_Z900
+       bool "IBM zSeries model z800 and z900"
+
+config TUNE_Z990
+       bool "IBM zSeries model z890 and z990"
+
+config TUNE_Z9_109
+       bool "IBM System z9"
+
+config TUNE_Z10
+       bool "IBM System z10"
+
+config TUNE_Z196
+       bool "IBM zEnterprise 114 and 196"
+
+config TUNE_ZEC12
+       bool "IBM zBC12 and zEC12"
+
+endchoice
+
 config 64BIT
        def_bool y
        prompt "64 bit kernel"