Message ID | 1569240879-9834-2-git-send-email-frank.heimes@canonical.com |
---|---|
State | New |
Headers | show |
Series | Enhanced Hardware Support - Finalize Naming (LP: 1842774) | expand |
On 23.09.19 14:14, frank.heimes@canonical.com wrote: > From: Martin Schwidefsky <schwidefsky@de.ibm.com> > > BugLink: https://bugs.launchpad.net/bugs/1842774 > > 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: Christian Borntraeger <borntraeger@de.ibm.com> > Signed-off-by: Martin Schwidefsky <schwidefsky@de.ibm.com> > Signed-off-by: Heiko Carstens <heiko.carstens@de.ibm.com> > (cherry picked from commit a0e2251132995b962281aa80ab54a9288f9e0b6b) > Signed-off-by: Frank Heimes <frank.heimes@canonical.com> Acked-by: Stefan Bader <stefan.bader@canonical.com> > --- A very weak ack. The only change I really would like to see in B/D is the hunk with the two additional case statements in setup.c. The rest adds a config option and related code which never will be allowed to be turned on in the older releases as it reads like breaking the kernel for users with old hardware. -Stefan > arch/s390/Kconfig | 18 ++++++++++++++++++ > arch/s390/Makefile | 2 ++ > arch/s390/kernel/setup.c | 4 ++++ > arch/s390/tools/gen_facilities.c | 3 +++ > 4 files changed, 27 insertions(+) > > diff --git a/arch/s390/Kconfig b/arch/s390/Kconfig > index c27cac3..0f08abc 100644 > --- a/arch/s390/Kconfig > +++ b/arch/s390/Kconfig > @@ -231,6 +231,10 @@ config HAVE_MARCH_Z14_FEATURES > def_bool n > select HAVE_MARCH_Z13_FEATURES > > +config HAVE_MARCH_Z15_FEATURES > + def_bool n > + select HAVE_MARCH_Z14_FEATURES > + > choice > prompt "Processor type" > default MARCH_Z196 > @@ -299,6 +303,14 @@ config MARCH_Z14 > and 3906 series). The kernel will be slightly faster but will not > 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 > > config MARCH_Z900_TUNE > @@ -325,6 +337,9 @@ config MARCH_Z13_TUNE > config MARCH_Z14_TUNE > def_bool TUNE_Z14 || MARCH_Z14 && TUNE_DEFAULT > > +config MARCH_Z15_TUNE > + def_bool TUNE_Z15 || MARCH_Z15 && TUNE_DEFAULT > + > choice > prompt "Tune code generation" > default TUNE_DEFAULT > @@ -366,6 +381,9 @@ config TUNE_Z13 > config TUNE_Z14 > bool "IBM z14" > > +config TUNE_Z15 > + bool "IBM z15" > + > endchoice > > config 64BIT > diff --git a/arch/s390/Makefile b/arch/s390/Makefile > index b34bf2d..83ea3ef 100644 > --- a/arch/s390/Makefile > +++ b/arch/s390/Makefile > @@ -30,6 +30,7 @@ mflags-$(CONFIG_MARCH_Z196) := -march=z196 > mflags-$(CONFIG_MARCH_ZEC12) := -march=zEC12 > mflags-$(CONFIG_MARCH_Z13) := -march=z13 > mflags-$(CONFIG_MARCH_Z14) := -march=z14 > +mflags-$(CONFIG_MARCH_Z15) := -march=z15 > > export CC_FLAGS_MARCH := $(mflags-y) > > @@ -44,6 +45,7 @@ cflags-$(CONFIG_MARCH_Z196_TUNE) += -mtune=z196 > cflags-$(CONFIG_MARCH_ZEC12_TUNE) += -mtune=zEC12 > cflags-$(CONFIG_MARCH_Z13_TUNE) += -mtune=z13 > cflags-$(CONFIG_MARCH_Z14_TUNE) += -mtune=z14 > +cflags-$(CONFIG_MARCH_Z15_TUNE) += -mtune=z15 > > cflags-y += -Wa,-I$(srctree)/arch/$(ARCH)/include > > diff --git a/arch/s390/kernel/setup.c b/arch/s390/kernel/setup.c > index 077d160..23315cb 100644 > --- a/arch/s390/kernel/setup.c > +++ b/arch/s390/kernel/setup.c > @@ -837,6 +837,10 @@ static int __init setup_hwcaps(void) > case 0x3907: > strcpy(elf_platform, "z14"); > break; > + case 0x8561: > + case 0x8562: > + strcpy(elf_platform, "z15"); > + break; > } > > /* > diff --git a/arch/s390/tools/gen_facilities.c b/arch/s390/tools/gen_facilities.c > index d7c8c10..9a42fd5 100644 > --- a/arch/s390/tools/gen_facilities.c > +++ b/arch/s390/tools/gen_facilities.c > @@ -58,6 +58,9 @@ static struct facility_def facility_defs[] = { > #ifdef CONFIG_HAVE_MARCH_Z14_FEATURES > 58, /* miscellaneous-instruction-extension 2 */ > #endif > +#ifdef CONFIG_HAVE_MARCH_Z15_FEATURES > + 61, /* miscellaneous-instruction-extension 3 */ > +#endif > -1 /* END */ > } > }, >
On Mon, Sep 23, 2019 at 02:14:39PM +0200, frank.heimes@canonical.com wrote: > From: Martin Schwidefsky <schwidefsky@de.ibm.com> > > BugLink: https://bugs.launchpad.net/bugs/1842774 > > 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: Christian Borntraeger <borntraeger@de.ibm.com> > Signed-off-by: Martin Schwidefsky <schwidefsky@de.ibm.com> > Signed-off-by: Heiko Carstens <heiko.carstens@de.ibm.com> > (cherry picked from commit a0e2251132995b962281aa80ab54a9288f9e0b6b) > Signed-off-by: Frank Heimes <frank.heimes@canonical.com> > --- > arch/s390/Kconfig | 18 ++++++++++++++++++ > arch/s390/Makefile | 2 ++ > arch/s390/kernel/setup.c | 4 ++++ > arch/s390/tools/gen_facilities.c | 3 +++ > 4 files changed, 27 insertions(+) > > diff --git a/arch/s390/Kconfig b/arch/s390/Kconfig > index c27cac3..0f08abc 100644 > --- a/arch/s390/Kconfig > +++ b/arch/s390/Kconfig > @@ -231,6 +231,10 @@ config HAVE_MARCH_Z14_FEATURES > def_bool n > select HAVE_MARCH_Z13_FEATURES > > +config HAVE_MARCH_Z15_FEATURES > + def_bool n > + select HAVE_MARCH_Z14_FEATURES > + > choice > prompt "Processor type" > default MARCH_Z196 > @@ -299,6 +303,14 @@ config MARCH_Z14 > and 3906 series). The kernel will be slightly faster but will not > 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 > > config MARCH_Z900_TUNE > @@ -325,6 +337,9 @@ config MARCH_Z13_TUNE > config MARCH_Z14_TUNE > def_bool TUNE_Z14 || MARCH_Z14 && TUNE_DEFAULT > > +config MARCH_Z15_TUNE > + def_bool TUNE_Z15 || MARCH_Z15 && TUNE_DEFAULT > + > choice > prompt "Tune code generation" > default TUNE_DEFAULT > @@ -366,6 +381,9 @@ config TUNE_Z13 > config TUNE_Z14 > bool "IBM z14" > > +config TUNE_Z15 > + bool "IBM z15" > + > endchoice > > config 64BIT > diff --git a/arch/s390/Makefile b/arch/s390/Makefile > index b34bf2d..83ea3ef 100644 > --- a/arch/s390/Makefile > +++ b/arch/s390/Makefile > @@ -30,6 +30,7 @@ mflags-$(CONFIG_MARCH_Z196) := -march=z196 > mflags-$(CONFIG_MARCH_ZEC12) := -march=zEC12 > mflags-$(CONFIG_MARCH_Z13) := -march=z13 > mflags-$(CONFIG_MARCH_Z14) := -march=z14 > +mflags-$(CONFIG_MARCH_Z15) := -march=z15 > > export CC_FLAGS_MARCH := $(mflags-y) > > @@ -44,6 +45,7 @@ cflags-$(CONFIG_MARCH_Z196_TUNE) += -mtune=z196 > cflags-$(CONFIG_MARCH_ZEC12_TUNE) += -mtune=zEC12 > cflags-$(CONFIG_MARCH_Z13_TUNE) += -mtune=z13 > cflags-$(CONFIG_MARCH_Z14_TUNE) += -mtune=z14 > +cflags-$(CONFIG_MARCH_Z15_TUNE) += -mtune=z15 > > cflags-y += -Wa,-I$(srctree)/arch/$(ARCH)/include > > diff --git a/arch/s390/kernel/setup.c b/arch/s390/kernel/setup.c > index 077d160..23315cb 100644 > --- a/arch/s390/kernel/setup.c > +++ b/arch/s390/kernel/setup.c > @@ -837,6 +837,10 @@ static int __init setup_hwcaps(void) > case 0x3907: > strcpy(elf_platform, "z14"); > break; > + case 0x8561: > + case 0x8562: > + strcpy(elf_platform, "z15"); > + break; > } > > /* > diff --git a/arch/s390/tools/gen_facilities.c b/arch/s390/tools/gen_facilities.c > index d7c8c10..9a42fd5 100644 > --- a/arch/s390/tools/gen_facilities.c > +++ b/arch/s390/tools/gen_facilities.c > @@ -58,6 +58,9 @@ static struct facility_def facility_defs[] = { > #ifdef CONFIG_HAVE_MARCH_Z14_FEATURES > 58, /* miscellaneous-instruction-extension 2 */ > #endif > +#ifdef CONFIG_HAVE_MARCH_Z15_FEATURES > + 61, /* miscellaneous-instruction-extension 3 */ > +#endif > -1 /* END */ > } > }, > -- > 2.7.4 > > > -- > kernel-team mailing list > kernel-team@lists.ubuntu.com > https://lists.ubuntu.com/mailman/listinfo/kernel-team Acked-by: Sultan Alsawaf <sultan.alsawaf@canonical.com>
diff --git a/arch/s390/Kconfig b/arch/s390/Kconfig index c27cac3..0f08abc 100644 --- a/arch/s390/Kconfig +++ b/arch/s390/Kconfig @@ -231,6 +231,10 @@ config HAVE_MARCH_Z14_FEATURES def_bool n select HAVE_MARCH_Z13_FEATURES +config HAVE_MARCH_Z15_FEATURES + def_bool n + select HAVE_MARCH_Z14_FEATURES + choice prompt "Processor type" default MARCH_Z196 @@ -299,6 +303,14 @@ config MARCH_Z14 and 3906 series). The kernel will be slightly faster but will not 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 config MARCH_Z900_TUNE @@ -325,6 +337,9 @@ config MARCH_Z13_TUNE config MARCH_Z14_TUNE def_bool TUNE_Z14 || MARCH_Z14 && TUNE_DEFAULT +config MARCH_Z15_TUNE + def_bool TUNE_Z15 || MARCH_Z15 && TUNE_DEFAULT + choice prompt "Tune code generation" default TUNE_DEFAULT @@ -366,6 +381,9 @@ config TUNE_Z13 config TUNE_Z14 bool "IBM z14" +config TUNE_Z15 + bool "IBM z15" + endchoice config 64BIT diff --git a/arch/s390/Makefile b/arch/s390/Makefile index b34bf2d..83ea3ef 100644 --- a/arch/s390/Makefile +++ b/arch/s390/Makefile @@ -30,6 +30,7 @@ mflags-$(CONFIG_MARCH_Z196) := -march=z196 mflags-$(CONFIG_MARCH_ZEC12) := -march=zEC12 mflags-$(CONFIG_MARCH_Z13) := -march=z13 mflags-$(CONFIG_MARCH_Z14) := -march=z14 +mflags-$(CONFIG_MARCH_Z15) := -march=z15 export CC_FLAGS_MARCH := $(mflags-y) @@ -44,6 +45,7 @@ cflags-$(CONFIG_MARCH_Z196_TUNE) += -mtune=z196 cflags-$(CONFIG_MARCH_ZEC12_TUNE) += -mtune=zEC12 cflags-$(CONFIG_MARCH_Z13_TUNE) += -mtune=z13 cflags-$(CONFIG_MARCH_Z14_TUNE) += -mtune=z14 +cflags-$(CONFIG_MARCH_Z15_TUNE) += -mtune=z15 cflags-y += -Wa,-I$(srctree)/arch/$(ARCH)/include diff --git a/arch/s390/kernel/setup.c b/arch/s390/kernel/setup.c index 077d160..23315cb 100644 --- a/arch/s390/kernel/setup.c +++ b/arch/s390/kernel/setup.c @@ -837,6 +837,10 @@ static int __init setup_hwcaps(void) case 0x3907: strcpy(elf_platform, "z14"); break; + case 0x8561: + case 0x8562: + strcpy(elf_platform, "z15"); + break; } /* diff --git a/arch/s390/tools/gen_facilities.c b/arch/s390/tools/gen_facilities.c index d7c8c10..9a42fd5 100644 --- a/arch/s390/tools/gen_facilities.c +++ b/arch/s390/tools/gen_facilities.c @@ -58,6 +58,9 @@ static struct facility_def facility_defs[] = { #ifdef CONFIG_HAVE_MARCH_Z14_FEATURES 58, /* miscellaneous-instruction-extension 2 */ #endif +#ifdef CONFIG_HAVE_MARCH_Z15_FEATURES + 61, /* miscellaneous-instruction-extension 3 */ +#endif -1 /* END */ } },