Commit f8b2dcbd9e6d1479b9b5a9e9e78bbaf783bde819
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
arch/s390/Kconfig
... | ... | @@ -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 |
arch/s390/Makefile
... | ... | @@ -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 |