Commit a0e22511 authored by Martin Schwidefsky's avatar Martin Schwidefsky Committed by Heiko Carstens

s390: add support for IBM z15 machines

Add detection for machine types 0x8562 and 8x8561 and set the ELF platform
name to z15. Add the miscellaneous-instruction-extension 3 facility to
the list of facilities for z15.

And allow to generate code that only runs on a z15 machine.
Reviewed-by: default avatarChristian Borntraeger <borntraeger@de.ibm.com>
Signed-off-by: default avatarMartin Schwidefsky <schwidefsky@de.ibm.com>
Signed-off-by: default avatarHeiko Carstens <heiko.carstens@de.ibm.com>
parent 3c2eb6b7
...@@ -237,6 +237,10 @@ config HAVE_MARCH_Z14_FEATURES ...@@ -237,6 +237,10 @@ config HAVE_MARCH_Z14_FEATURES
def_bool n def_bool n
select HAVE_MARCH_Z13_FEATURES select HAVE_MARCH_Z13_FEATURES
config HAVE_MARCH_Z15_FEATURES
def_bool n
select HAVE_MARCH_Z14_FEATURES
choice choice
prompt "Processor type" prompt "Processor type"
default MARCH_Z196 default MARCH_Z196
...@@ -308,6 +312,14 @@ config MARCH_Z14 ...@@ -308,6 +312,14 @@ config MARCH_Z14
and 3906 series). The kernel will be slightly faster but will not and 3906 series). The kernel will be slightly faster but will not
work on older machines. work on older machines.
config MARCH_Z15
bool "IBM z15"
select HAVE_MARCH_Z15_FEATURES
help
Select this to enable optimizations for IBM z15 (8562
and 8561 series). The kernel will be slightly faster but will not
work on older machines.
endchoice endchoice
config MARCH_Z900_TUNE config MARCH_Z900_TUNE
...@@ -334,6 +346,9 @@ config MARCH_Z13_TUNE ...@@ -334,6 +346,9 @@ config MARCH_Z13_TUNE
config MARCH_Z14_TUNE config MARCH_Z14_TUNE
def_bool TUNE_Z14 || MARCH_Z14 && TUNE_DEFAULT def_bool TUNE_Z14 || MARCH_Z14 && TUNE_DEFAULT
config MARCH_Z15_TUNE
def_bool TUNE_Z15 || MARCH_Z15 && TUNE_DEFAULT
choice choice
prompt "Tune code generation" prompt "Tune code generation"
default TUNE_DEFAULT default TUNE_DEFAULT
...@@ -378,6 +393,9 @@ config TUNE_Z13 ...@@ -378,6 +393,9 @@ config TUNE_Z13
config TUNE_Z14 config TUNE_Z14
bool "IBM z14" bool "IBM z14"
config TUNE_Z15
bool "IBM z15"
endchoice endchoice
config 64BIT config 64BIT
......
...@@ -45,6 +45,7 @@ mflags-$(CONFIG_MARCH_Z196) := -march=z196 ...@@ -45,6 +45,7 @@ mflags-$(CONFIG_MARCH_Z196) := -march=z196
mflags-$(CONFIG_MARCH_ZEC12) := -march=zEC12 mflags-$(CONFIG_MARCH_ZEC12) := -march=zEC12
mflags-$(CONFIG_MARCH_Z13) := -march=z13 mflags-$(CONFIG_MARCH_Z13) := -march=z13
mflags-$(CONFIG_MARCH_Z14) := -march=z14 mflags-$(CONFIG_MARCH_Z14) := -march=z14
mflags-$(CONFIG_MARCH_Z15) := -march=z15
export CC_FLAGS_MARCH := $(mflags-y) export CC_FLAGS_MARCH := $(mflags-y)
...@@ -59,6 +60,7 @@ cflags-$(CONFIG_MARCH_Z196_TUNE) += -mtune=z196 ...@@ -59,6 +60,7 @@ cflags-$(CONFIG_MARCH_Z196_TUNE) += -mtune=z196
cflags-$(CONFIG_MARCH_ZEC12_TUNE) += -mtune=zEC12 cflags-$(CONFIG_MARCH_ZEC12_TUNE) += -mtune=zEC12
cflags-$(CONFIG_MARCH_Z13_TUNE) += -mtune=z13 cflags-$(CONFIG_MARCH_Z13_TUNE) += -mtune=z13
cflags-$(CONFIG_MARCH_Z14_TUNE) += -mtune=z14 cflags-$(CONFIG_MARCH_Z14_TUNE) += -mtune=z14
cflags-$(CONFIG_MARCH_Z15_TUNE) += -mtune=z15
cflags-y += -Wa,-I$(srctree)/arch/$(ARCH)/include cflags-y += -Wa,-I$(srctree)/arch/$(ARCH)/include
......
...@@ -981,6 +981,10 @@ static int __init setup_hwcaps(void) ...@@ -981,6 +981,10 @@ static int __init setup_hwcaps(void)
case 0x3907: case 0x3907:
strcpy(elf_platform, "z14"); strcpy(elf_platform, "z14");
break; break;
case 0x8561:
case 0x8562:
strcpy(elf_platform, "z15");
break;
} }
/* /*
......
...@@ -57,6 +57,9 @@ static struct facility_def facility_defs[] = { ...@@ -57,6 +57,9 @@ static struct facility_def facility_defs[] = {
#endif #endif
#ifdef CONFIG_HAVE_MARCH_Z14_FEATURES #ifdef CONFIG_HAVE_MARCH_Z14_FEATURES
58, /* miscellaneous-instruction-extension 2 */ 58, /* miscellaneous-instruction-extension 2 */
#endif
#ifdef CONFIG_HAVE_MARCH_Z15_FEATURES
61, /* miscellaneous-instruction-extension 3 */
#endif #endif
-1 /* END */ -1 /* END */
} }
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment