s390/facilities: use stfl mnemonic instead of insn magic
authorHeiko Carstens <heiko.carstens@de.ibm.com>
Tue, 24 Nov 2015 11:18:22 +0000 (12:18 +0100)
committerMartin Schwidefsky <schwidefsky@de.ibm.com>
Fri, 18 Dec 2015 13:59:18 +0000 (14:59 +0100)
Now that 31 bit support is gone, the assembler always knows about the
stfl instruction. Therefore lets use a readable mnemonic.  Also remove
the not needed extable entry for the inline assembly and fix the
output constraint.

Signed-off-by: Heiko Carstens <heiko.carstens@de.ibm.com>
Reviewed-by: Christian Borntraeger <borntraeger@de.ibm.com>
Signed-off-by: Martin Schwidefsky <schwidefsky@de.ibm.com>
arch/s390/include/asm/facility.h
arch/s390/kernel/head.S

index 0aa6a7ed95a35cc441f711b2ba92f2c69b1afdad..b4f99d22ba047f3b50484969e257cf4367a33c2c 100644 (file)
@@ -44,10 +44,8 @@ static inline void stfle(u64 *stfle_fac_list, int size)
 
        preempt_disable();
        asm volatile(
-               "       .insn s,0xb2b10000,0(0)\n" /* stfl */
-               "0:\n"
-               EX_TABLE(0b, 0b)
-               : "+m" (S390_lowcore.stfl_fac_list));
+               "       stfl    0(0)\n"
+               : "=m" (S390_lowcore.stfl_fac_list));
        nr = 4; /* bytes stored by stfl */
        memcpy(stfle_fac_list, &S390_lowcore.stfl_fac_list, 4);
        if (S390_lowcore.stfl_fac_list & 0x01000000) {
index 301ee9c70688b7ef35db09a62c9b8f3524ed5e68..d893d5aeb3070e6c9e72ee4f344c8b1be1296ad3 100644 (file)
@@ -306,7 +306,7 @@ ENTRY(startup_kdump)
        mvc     __LC_LAST_UPDATE_TIMER(8),6f-.LPG0(%r13)
        xc      __LC_STFL_FAC_LIST(8),__LC_STFL_FAC_LIST
        # check capabilities against MARCH_{G5,Z900,Z990,Z9_109,Z10}
-       .insn   s,0xb2b10000,0          # store facilities @ __LC_STFL_FAC_LIST
+       stfl    0(%r0)                  # store facilities @ __LC_STFL_FAC_LIST
        tm      __LC_STFL_FAC_LIST,0x01 # stfle available ?
        jz      0f
        la      %r0,1