mirror of
https://github.com/torvalds/linux.git
synced 2024-11-23 04:31:50 +00:00
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:
parent
e982506730
commit
f8b2dcbd9e
@ -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
|
||||||
|
@ -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
|
||||||
|
@ -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
|
||||||
|
@ -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;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
Loading…
Reference in New Issue
Block a user