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