]> git.proxmox.com Git - mirror_ubuntu-bionic-kernel.git/blobdiff - arch/s390/kernel/setup.c
s390/mm: change default addressing mode
[mirror_ubuntu-bionic-kernel.git] / arch / s390 / kernel / setup.c
index f86c81e13c374be484f591faead417a7fb3ee572..39d609b582ca131e0fd81d88bedc940cfce2349d 100644 (file)
@@ -302,7 +302,7 @@ static int __init parse_vmalloc(char *arg)
 }
 early_param("vmalloc", parse_vmalloc);
 
-unsigned int addressing_mode = HOME_SPACE_MODE;
+unsigned int addressing_mode = PRIMARY_SPACE_MODE;
 EXPORT_SYMBOL_GPL(addressing_mode);
 
 static int set_amode_primary(void)
@@ -323,16 +323,6 @@ static int set_amode_primary(void)
        }
 }
 
-/*
- * Switch kernel/user addressing modes?
- */
-static int __init early_parse_switch_amode(char *p)
-{
-       addressing_mode = PRIMARY_SPACE_MODE;
-       return 0;
-}
-early_param("switch_amode", early_parse_switch_amode);
-
 static int __init early_parse_user_mode(char *p)
 {
        if (p && strcmp(p, "primary") == 0)
@@ -974,12 +964,20 @@ static void __init setup_hwcaps(void)
        if (MACHINE_HAS_HPAGE)
                elf_hwcap |= HWCAP_S390_HPAGE;
 
+#if defined(CONFIG_64BIT)
        /*
         * 64-bit register support for 31-bit processes
         * HWCAP_S390_HIGH_GPRS is bit 9.
         */
        elf_hwcap |= HWCAP_S390_HIGH_GPRS;
 
+       /*
+        * Transactional execution support HWCAP_S390_TE is bit 10.
+        */
+       if (test_facility(50) && test_facility(73))
+               elf_hwcap |= HWCAP_S390_TE;
+#endif
+
        get_cpu_id(&cpu_id);
        switch (cpu_id.machine) {
        case 0x9672: