s390/facilities: make use of generated facility list
authorHeiko Carstens <heiko.carstens@de.ibm.com>
Tue, 24 Nov 2015 11:47:14 +0000 (12:47 +0100)
committerMartin Schwidefsky <schwidefsky@de.ibm.com>
Fri, 18 Dec 2015 13:59:21 +0000 (14:59 +0100)
Change head.S to make use of the generated facility list.

Signed-off-by: Heiko Carstens <heiko.carstens@de.ibm.com>
Signed-off-by: Martin Schwidefsky <schwidefsky@de.ibm.com>
arch/s390/kernel/head.S

index d28a148491268a076a989f151ca41bbb0bcd556e..fcaefb041364c13f15ddd0c976846b683c626c5a 100644 (file)
@@ -25,6 +25,7 @@
 #include <linux/linkage.h>
 #include <asm/asm-offsets.h>
 #include <asm/thread_info.h>
+#include <asm/facility.h>
 #include <asm/page.h>
 #include <asm/ptrace.h>
 
@@ -309,18 +310,18 @@ ENTRY(startup_kdump)
        mvc     __LC_STFLE_FAC_LIST(4),__LC_STFL_FAC_LIST
        tm      __LC_STFLE_FAC_LIST,0x01        # stfle available ?
        jz      0f
-       la      %r0,1
+       lghi    %r0,FACILITIES_ALS_DWORDS-1
        .insn   s,0xb2b00000,__LC_STFLE_FAC_LIST # store facility list extended
        # verify if all required facilities are supported by the machine
 0:     la      %r1,__LC_STFLE_FAC_LIST
        la      %r2,3f+8-.LPG0(%r13)
-       l       %r3,0(%r2)
-1:     l       %r0,0(%r1)
-       n       %r0,4(%r2)
-       cl      %r0,4(%r2)
+       lhi     %r3,FACILITIES_ALS_DWORDS
+1:     lg      %r0,0(%r1)
+       ng      %r0,0(%r2)
+       clg     %r0,0(%r2)
        jne     2f
-       la      %r1,4(%r1)
-       la      %r2,4(%r2)
+       la      %r1,8(%r1)
+       la      %r2,8(%r2)
        ahi     %r3,-1
        jnz     1b
        j       4f
@@ -340,24 +341,10 @@ ENTRY(startup_kdump)
 3:     .long   0x000a0000,0x8badcccc
 
 # List of facilities that are required. If not all facilities are present
-# the kernel will crash. Format is number of facility words with bits set,
-# followed by the facility words.
+# the kernel will crash.
+
+       .quad FACILITIES_ALS
 
-#if defined(CONFIG_MARCH_Z13)
-       .long 2, 0xc100eff2, 0xf46cc800
-#elif defined(CONFIG_MARCH_ZEC12)
-       .long 2, 0xc100eff2, 0xf46cc800
-#elif defined(CONFIG_MARCH_Z196)
-       .long 2, 0xc100eff2, 0xf46c0000
-#elif defined(CONFIG_MARCH_Z10)
-       .long 2, 0xc100eff2, 0xf0680000
-#elif defined(CONFIG_MARCH_Z9_109)
-       .long 1, 0xc100efc2
-#elif defined(CONFIG_MARCH_Z990)
-       .long 1, 0xc0002000
-#elif defined(CONFIG_MARCH_Z900)
-       .long 1, 0xc0000000
-#endif
 4:
        /* Continue with startup code in head64.S */
        jg      startup_continue