Commit f8b2dcbd9e6d1479b9b5a9e9e78bbaf783bde819

Authored by Martin Schwidefsky
1 parent e982506730

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>

Showing 4 changed files with 26 additions and 1 deletions Side-by-side Diff

... ... @@ -185,6 +185,10 @@
185 185 def_bool n
186 186 select HAVE_MARCH_Z196_FEATURES
187 187  
  188 +config HAVE_MARCH_Z13_FEATURES
  189 + def_bool n
  190 + select HAVE_MARCH_ZEC12_FEATURES
  191 +
188 192 choice
189 193 prompt "Processor type"
190 194 default MARCH_G5
... ... @@ -244,6 +248,14 @@
244 248 2827 series). The kernel will be slightly faster but will not work on
245 249 older machines.
246 250  
  251 +config MARCH_Z13
  252 + bool "IBM z13"
  253 + select HAVE_MARCH_Z13_FEATURES if 64BIT
  254 + help
  255 + Select this to enable optimizations for IBM z13 (2964 series).
  256 + The kernel will be slightly faster but will not work on older
  257 + machines.
  258 +
247 259 endchoice
248 260  
249 261 config MARCH_G5_TUNE
... ... @@ -267,6 +279,9 @@
267 279 config MARCH_ZEC12_TUNE
268 280 def_bool TUNE_ZEC12 || MARCH_ZEC12 && TUNE_DEFAULT
269 281  
  282 +config MARCH_Z13_TUNE
  283 + def_bool TUNE_Z13 || MARCH_Z13 && TUNE_DEFAULT
  284 +
270 285 choice
271 286 prompt "Tune code generation"
272 287 default TUNE_DEFAULT
... ... @@ -304,6 +319,9 @@
304 319  
305 320 config TUNE_ZEC12
306 321 bool "IBM zBC12 and zEC12"
  322 +
  323 +config TUNE_Z13
  324 + bool "IBM z13"
307 325  
308 326 endchoice
309 327  
... ... @@ -42,6 +42,7 @@
42 42 mflags-$(CONFIG_MARCH_Z10) := -march=z10
43 43 mflags-$(CONFIG_MARCH_Z196) := -march=z196
44 44 mflags-$(CONFIG_MARCH_ZEC12) := -march=zEC12
  45 +mflags-$(CONFIG_MARCH_Z13) := -march=z13
45 46  
46 47 aflags-y += $(mflags-y)
47 48 cflags-y += $(mflags-y)
... ... @@ -53,6 +54,7 @@
53 54 cflags-$(CONFIG_MARCH_Z10_TUNE) += -mtune=z10
54 55 cflags-$(CONFIG_MARCH_Z196_TUNE) += -mtune=z196
55 56 cflags-$(CONFIG_MARCH_ZEC12_TUNE) += -mtune=zEC12
  57 +cflags-$(CONFIG_MARCH_Z13_TUNE) += -mtune=z13
56 58  
57 59 #KBUILD_IMAGE is necessary for make rpm
58 60 KBUILD_IMAGE :=arch/s390/boot/image
arch/s390/kernel/head.S
... ... @@ -436,7 +436,9 @@
436 436 # followed by the facility words.
437 437  
438 438 #if defined(CONFIG_64BIT)
439   -#if defined(CONFIG_MARCH_ZEC12)
  439 +#if defined(CONFIG_MARCH_Z13)
  440 + .long 3, 0xc100eff2, 0xf46ce800, 0x00400000
  441 +#elif defined(CONFIG_MARCH_ZEC12)
440 442 .long 3, 0xc100eff2, 0xf46ce800, 0x00400000
441 443 #elif defined(CONFIG_MARCH_Z196)
442 444 .long 2, 0xc100eff2, 0xf46c0000
arch/s390/kernel/setup.c
... ... @@ -810,6 +810,9 @@
810 810 case 0x2828:
811 811 strcpy(elf_platform, "zEC12");
812 812 break;
  813 + case 0x2964:
  814 + strcpy(elf_platform, "z13");
  815 + break;
813 816 }
814 817 }
815 818