s390: add z13 code generation support

Allow to generate code that only runs on z13 machines.

Signed-off-by: Martin Schwidefsky <schwidefsky@de.ibm.com>
This commit is contained in:
Martin Schwidefsky 2015-01-14 17:50:19 +01:00
parent e982506730
commit f8b2dcbd9e
4 changed files with 26 additions and 1 deletions

View File

@ -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

View File

@ -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

View File

@ -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

View File

@ -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;
} }
} }