diff options
-rw-r--r-- | arch/s390/Kconfig | 8 | ||||
-rw-r--r-- | arch/s390/Makefile | 1 | ||||
-rw-r--r-- | arch/s390/kernel/head.S | 8 |
3 files changed, 15 insertions, 2 deletions
diff --git a/arch/s390/Kconfig b/arch/s390/Kconfig index 7afc17340500..21a7030abbb4 100644 --- a/arch/s390/Kconfig +++ b/arch/s390/Kconfig | |||
@@ -287,6 +287,14 @@ config MARCH_Z10 | |||
287 | machines such as the z990, z890, z900, z800, z9-109, z9-ec | 287 | machines such as the z990, z890, z900, z800, z9-109, z9-ec |
288 | and z9-bc. | 288 | and z9-bc. |
289 | 289 | ||
290 | config MARCH_Z196 | ||
291 | bool "IBM zEnterprise 196" | ||
292 | help | ||
293 | Select this to enable optimizations for IBM zEnterprise 196. | ||
294 | The kernel will be slightly faster but will not work on older | ||
295 | machines such as the z990, z890, z900, z800, z9-109, z9-ec, | ||
296 | z9-bc, z10-ec and z10-bc. | ||
297 | |||
290 | endchoice | 298 | endchoice |
291 | 299 | ||
292 | config PACK_STACK | 300 | config PACK_STACK |
diff --git a/arch/s390/Makefile b/arch/s390/Makefile index 9d318476f81f..d5b8a6ade525 100644 --- a/arch/s390/Makefile +++ b/arch/s390/Makefile | |||
@@ -40,6 +40,7 @@ cflags-$(CONFIG_MARCH_Z900) += $(call cc-option,-march=z900) | |||
40 | cflags-$(CONFIG_MARCH_Z990) += $(call cc-option,-march=z990) | 40 | cflags-$(CONFIG_MARCH_Z990) += $(call cc-option,-march=z990) |
41 | cflags-$(CONFIG_MARCH_Z9_109) += $(call cc-option,-march=z9-109) | 41 | cflags-$(CONFIG_MARCH_Z9_109) += $(call cc-option,-march=z9-109) |
42 | cflags-$(CONFIG_MARCH_Z10) += $(call cc-option,-march=z10) | 42 | cflags-$(CONFIG_MARCH_Z10) += $(call cc-option,-march=z10) |
43 | cflags-$(CONFIG_MARCH_Z196) += $(call cc-option,-march=z196) | ||
43 | 44 | ||
44 | #KBUILD_IMAGE is necessary for make rpm | 45 | #KBUILD_IMAGE is necessary for make rpm |
45 | KBUILD_IMAGE :=arch/s390/boot/image | 46 | KBUILD_IMAGE :=arch/s390/boot/image |
diff --git a/arch/s390/kernel/head.S b/arch/s390/kernel/head.S index db1696e210af..7061398341d5 100644 --- a/arch/s390/kernel/head.S +++ b/arch/s390/kernel/head.S | |||
@@ -488,7 +488,9 @@ startup: | |||
488 | .align 16 | 488 | .align 16 |
489 | 2: .long 0x000a0000,0x8badcccc | 489 | 2: .long 0x000a0000,0x8badcccc |
490 | #if defined(CONFIG_64BIT) | 490 | #if defined(CONFIG_64BIT) |
491 | #if defined(CONFIG_MARCH_Z10) | 491 | #if defined(CONFIG_MARCH_Z196) |
492 | .long 0xc100efe3, 0xf46c0000 | ||
493 | #elif defined(CONFIG_MARCH_Z10) | ||
492 | .long 0xc100efe3, 0xf0680000 | 494 | .long 0xc100efe3, 0xf0680000 |
493 | #elif defined(CONFIG_MARCH_Z9_109) | 495 | #elif defined(CONFIG_MARCH_Z9_109) |
494 | .long 0xc100efc3, 0x00000000 | 496 | .long 0xc100efc3, 0x00000000 |
@@ -498,7 +500,9 @@ startup: | |||
498 | .long 0xc0000000, 0x00000000 | 500 | .long 0xc0000000, 0x00000000 |
499 | #endif | 501 | #endif |
500 | #else | 502 | #else |
501 | #if defined(CONFIG_MARCH_Z10) | 503 | #if defined(CONFIG_MARCH_Z196) |
504 | .long 0x8100c880, 0x00000000 | ||
505 | #elif defined(CONFIG_MARCH_Z10) | ||
502 | .long 0x8100c880, 0x00000000 | 506 | .long 0x8100c880, 0x00000000 |
503 | #elif defined(CONFIG_MARCH_Z9_109) | 507 | #elif defined(CONFIG_MARCH_Z9_109) |
504 | .long 0x8100c880, 0x00000000 | 508 | .long 0x8100c880, 0x00000000 |