machines such as the z990, z890, z900, z800, z9-109, z9-ec
          and z9-bc.
 
+config MARCH_Z196
+       bool "IBM zEnterprise 196"
+       help
+         Select this to enable optimizations for IBM zEnterprise 196.
+         The kernel will be slightly faster but will not work on older
+         machines such as the z990, z890, z900, z800, z9-109, z9-ec,
+         z9-bc, z10-ec and z10-bc.
+
 endchoice
 
 config PACK_STACK
 
 cflags-$(CONFIG_MARCH_Z990) += $(call cc-option,-march=z990)
 cflags-$(CONFIG_MARCH_Z9_109) += $(call cc-option,-march=z9-109)
 cflags-$(CONFIG_MARCH_Z10) += $(call cc-option,-march=z10)
+cflags-$(CONFIG_MARCH_Z196) += $(call cc-option,-march=z196)
 
 #KBUILD_IMAGE is necessary for make rpm
 KBUILD_IMAGE   :=arch/s390/boot/image
 
        .align 16
 2:     .long   0x000a0000,0x8badcccc
 #if defined(CONFIG_64BIT)
-#if defined(CONFIG_MARCH_Z10)
+#if defined(CONFIG_MARCH_Z196)
+       .long 0xc100efe3, 0xf46c0000
+#elif defined(CONFIG_MARCH_Z10)
        .long 0xc100efe3, 0xf0680000
 #elif defined(CONFIG_MARCH_Z9_109)
        .long 0xc100efc3, 0x00000000
        .long 0xc0000000, 0x00000000
 #endif
 #else
-#if defined(CONFIG_MARCH_Z10)
+#if defined(CONFIG_MARCH_Z196)
+       .long 0x8100c880, 0x00000000
+#elif defined(CONFIG_MARCH_Z10)
        .long 0x8100c880, 0x00000000
 #elif defined(CONFIG_MARCH_Z9_109)
        .long 0x8100c880, 0x00000000