ACK/Cmnt: [SRU][B][D][E][Patch 1/1] s390: add support for IBM z15 machines
Stefan Bader
stefan.bader at canonical.com
Wed Sep 25 09:55:07 UTC 2019
On 23.09.19 14:14, frank.heimes at canonical.com wrote:
> From: Martin Schwidefsky <schwidefsky at 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 at de.ibm.com>
> Signed-off-by: Martin Schwidefsky <schwidefsky at de.ibm.com>
> Signed-off-by: Heiko Carstens <heiko.carstens at de.ibm.com>
> (cherry picked from commit a0e2251132995b962281aa80ab54a9288f9e0b6b)
> Signed-off-by: Frank Heimes <frank.heimes at canonical.com>
Acked-by: Stefan Bader <stefan.bader at 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 */
> }
> },
>
-------------- next part --------------
A non-text attachment was scrubbed...
Name: signature.asc
Type: application/pgp-signature
Size: 833 bytes
Desc: OpenPGP digital signature
URL: <https://lists.ubuntu.com/archives/kernel-team/attachments/20190925/8b838f27/attachment-0001.sig>
More information about the kernel-team
mailing list