s390/setup: get rid of MACHINE_HAS_MVCOS machine flag
authorHeiko Carstens <heiko.carstens@de.ibm.com>
Fri, 24 Jan 2014 12:03:42 +0000 (13:03 +0100)
committerMartin Schwidefsky <schwidefsky@de.ibm.com>
Fri, 21 Feb 2014 07:50:15 +0000 (08:50 +0100)
MACHINE_HAS_MVCOS is used exactly once when the machine is brought up.
There is no need to cache the flag in the machine_flags.

Signed-off-by: Heiko Carstens <heiko.carstens@de.ibm.com>
Signed-off-by: Martin Schwidefsky <schwidefsky@de.ibm.com>
arch/s390/include/asm/setup.h
arch/s390/kernel/early.c
arch/s390/lib/uaccess_mvcos.c

index 94cfbe442f124cc720f2436c7e3c34d485cf0139..406f3a1e63efcce54ccbe6c409d6246bbdb7a887 100644 (file)
@@ -59,7 +59,6 @@ void create_mem_hole(struct mem_chunk mem_chunk[], unsigned long addr,
 #define MACHINE_FLAG_DIAG44    (1UL << 4)
 #define MACHINE_FLAG_IDTE      (1UL << 5)
 #define MACHINE_FLAG_DIAG9C    (1UL << 6)
-#define MACHINE_FLAG_MVCOS     (1UL << 7)
 #define MACHINE_FLAG_KVM       (1UL << 8)
 #define MACHINE_FLAG_ESOP      (1UL << 9)
 #define MACHINE_FLAG_EDAT1     (1UL << 10)
@@ -85,7 +84,6 @@ void create_mem_hole(struct mem_chunk mem_chunk[], unsigned long addr,
 #define MACHINE_HAS_IDTE       (0)
 #define MACHINE_HAS_DIAG44     (1)
 #define MACHINE_HAS_MVPG       (S390_lowcore.machine_flags & MACHINE_FLAG_MVPG)
-#define MACHINE_HAS_MVCOS      (0)
 #define MACHINE_HAS_EDAT1      (0)
 #define MACHINE_HAS_EDAT2      (0)
 #define MACHINE_HAS_LPP                (0)
@@ -98,7 +96,6 @@ void create_mem_hole(struct mem_chunk mem_chunk[], unsigned long addr,
 #define MACHINE_HAS_IDTE       (S390_lowcore.machine_flags & MACHINE_FLAG_IDTE)
 #define MACHINE_HAS_DIAG44     (S390_lowcore.machine_flags & MACHINE_FLAG_DIAG44)
 #define MACHINE_HAS_MVPG       (1)
-#define MACHINE_HAS_MVCOS      (S390_lowcore.machine_flags & MACHINE_FLAG_MVCOS)
 #define MACHINE_HAS_EDAT1      (S390_lowcore.machine_flags & MACHINE_FLAG_EDAT1)
 #define MACHINE_HAS_EDAT2      (S390_lowcore.machine_flags & MACHINE_FLAG_EDAT2)
 #define MACHINE_HAS_LPP                (S390_lowcore.machine_flags & MACHINE_FLAG_LPP)
index fca20b5fe79e085e4795861edf7f4bb5736c67cb..6b594439cca5a68fa3fd8ece0484cc0f8b9d11bd 100644 (file)
@@ -380,8 +380,6 @@ static __init void detect_machine_facilities(void)
                S390_lowcore.machine_flags |= MACHINE_FLAG_EDAT2;
        if (test_facility(3))
                S390_lowcore.machine_flags |= MACHINE_FLAG_IDTE;
-       if (test_facility(27))
-               S390_lowcore.machine_flags |= MACHINE_FLAG_MVCOS;
        if (test_facility(40))
                S390_lowcore.machine_flags |= MACHINE_FLAG_LPP;
        if (test_facility(50) && test_facility(73))
index 8c01f3aaf95c6ec479e41c38dded301467e66d46..e2685ff2ec4b2c1a9801b5c3d131f46fac0d11ee 100644 (file)
@@ -10,6 +10,7 @@
 #include <linux/errno.h>
 #include <linux/init.h>
 #include <linux/mm.h>
+#include <asm/facility.h>
 #include <asm/uaccess.h>
 #include <asm/futex.h>
 #include "uaccess.h"
@@ -242,7 +243,7 @@ EXPORT_SYMBOL(__strncpy_from_user);
 
 static int __init uaccess_init(void)
 {
-       if (!MACHINE_HAS_MVCOS)
+       if (IS_ENABLED(CONFIG_32BIT) || !test_facility(27))
                static_key_slow_dec(&have_mvcos);
        return 0;
 }