Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit f8b2dcbd authored by Martin Schwidefsky's avatar Martin Schwidefsky
Browse files

s390: add z13 code generation support



Allow to generate code that only runs on z13 machines.

Signed-off-by: default avatarMartin Schwidefsky <schwidefsky@de.ibm.com>
parent e9825067
Loading
Loading
Loading
Loading
+18 −0
Original line number Original line Diff line number Diff line
@@ -185,6 +185,10 @@ config HAVE_MARCH_ZEC12_FEATURES
	def_bool n
	def_bool n
	select HAVE_MARCH_Z196_FEATURES
	select HAVE_MARCH_Z196_FEATURES


config HAVE_MARCH_Z13_FEATURES
	def_bool n
	select HAVE_MARCH_ZEC12_FEATURES

choice
choice
	prompt "Processor type"
	prompt "Processor type"
	default MARCH_G5
	default MARCH_G5
@@ -244,6 +248,14 @@ config MARCH_ZEC12
	  2827 series). The kernel will be slightly faster but will not work on
	  2827 series). The kernel will be slightly faster but will not work on
	  older machines.
	  older machines.


config MARCH_Z13
	bool "IBM z13"
	select HAVE_MARCH_Z13_FEATURES if 64BIT
	help
	  Select this to enable optimizations for IBM z13 (2964 series).
	  The kernel will be slightly faster but will not work on older
	  machines.

endchoice
endchoice


config MARCH_G5_TUNE
config MARCH_G5_TUNE
@@ -267,6 +279,9 @@ config MARCH_Z196_TUNE
config MARCH_ZEC12_TUNE
config MARCH_ZEC12_TUNE
	def_bool TUNE_ZEC12 || MARCH_ZEC12 && TUNE_DEFAULT
	def_bool TUNE_ZEC12 || MARCH_ZEC12 && TUNE_DEFAULT


config MARCH_Z13_TUNE
	def_bool TUNE_Z13 || MARCH_Z13 && TUNE_DEFAULT

choice
choice
	prompt "Tune code generation"
	prompt "Tune code generation"
	default TUNE_DEFAULT
	default TUNE_DEFAULT
@@ -305,6 +320,9 @@ config TUNE_Z196
config TUNE_ZEC12
config TUNE_ZEC12
	bool "IBM zBC12 and zEC12"
	bool "IBM zBC12 and zEC12"


config TUNE_Z13
	bool "IBM z13"

endchoice
endchoice


config 64BIT
config 64BIT
+2 −0
Original line number Original line Diff line number Diff line
@@ -42,6 +42,7 @@ mflags-$(CONFIG_MARCH_Z9_109) := -march=z9-109
mflags-$(CONFIG_MARCH_Z10)    := -march=z10
mflags-$(CONFIG_MARCH_Z10)    := -march=z10
mflags-$(CONFIG_MARCH_Z196)   := -march=z196
mflags-$(CONFIG_MARCH_Z196)   := -march=z196
mflags-$(CONFIG_MARCH_ZEC12)  := -march=zEC12
mflags-$(CONFIG_MARCH_ZEC12)  := -march=zEC12
mflags-$(CONFIG_MARCH_Z13)   := -march=z13


aflags-y += $(mflags-y)
aflags-y += $(mflags-y)
cflags-y += $(mflags-y)
cflags-y += $(mflags-y)
@@ -53,6 +54,7 @@ cflags-$(CONFIG_MARCH_Z9_109_TUNE) += -mtune=z9-109
cflags-$(CONFIG_MARCH_Z10_TUNE)		+= -mtune=z10
cflags-$(CONFIG_MARCH_Z10_TUNE)		+= -mtune=z10
cflags-$(CONFIG_MARCH_Z196_TUNE)	+= -mtune=z196
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


#KBUILD_IMAGE is necessary for make rpm
#KBUILD_IMAGE is necessary for make rpm
KBUILD_IMAGE	:=arch/s390/boot/image
KBUILD_IMAGE	:=arch/s390/boot/image
+3 −1
Original line number Original line Diff line number Diff line
@@ -436,7 +436,9 @@ ENTRY(startup_kdump)
# followed by the facility words.
# followed by the facility words.


#if defined(CONFIG_64BIT)
#if defined(CONFIG_64BIT)
#if defined(CONFIG_MARCH_ZEC12)
#if defined(CONFIG_MARCH_Z13)
	.long 3, 0xc100eff2, 0xf46ce800, 0x00400000
#elif defined(CONFIG_MARCH_ZEC12)
	.long 3, 0xc100eff2, 0xf46ce800, 0x00400000
	.long 3, 0xc100eff2, 0xf46ce800, 0x00400000
#elif defined(CONFIG_MARCH_Z196)
#elif defined(CONFIG_MARCH_Z196)
	.long 2, 0xc100eff2, 0xf46c0000
	.long 2, 0xc100eff2, 0xf46c0000
+3 −0
Original line number Original line Diff line number Diff line
@@ -810,6 +810,9 @@ static void __init setup_hwcaps(void)
	case 0x2828:
	case 0x2828:
		strcpy(elf_platform, "zEC12");
		strcpy(elf_platform, "zEC12");
		break;
		break;
	case 0x2964:
		strcpy(elf_platform, "z13");
		break;
	}
	}
}
}