s390/facilities: use stfl mnemonic instead of insn magic
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>
This commit is contained in:
Родитель
419123f900
Коммит
9552a66fe6
|
@ -44,10 +44,8 @@ static inline void stfle(u64 *stfle_fac_list, int size)
|
||||||
|
|
||||||
preempt_disable();
|
preempt_disable();
|
||||||
asm volatile(
|
asm volatile(
|
||||||
" .insn s,0xb2b10000,0(0)\n" /* stfl */
|
" stfl 0(0)\n"
|
||||||
"0:\n"
|
: "=m" (S390_lowcore.stfl_fac_list));
|
||||||
EX_TABLE(0b, 0b)
|
|
||||||
: "+m" (S390_lowcore.stfl_fac_list));
|
|
||||||
nr = 4; /* bytes stored by stfl */
|
nr = 4; /* bytes stored by stfl */
|
||||||
memcpy(stfle_fac_list, &S390_lowcore.stfl_fac_list, 4);
|
memcpy(stfle_fac_list, &S390_lowcore.stfl_fac_list, 4);
|
||||||
if (S390_lowcore.stfl_fac_list & 0x01000000) {
|
if (S390_lowcore.stfl_fac_list & 0x01000000) {
|
||||||
|
|
|
@ -306,7 +306,7 @@ ENTRY(startup_kdump)
|
||||||
mvc __LC_LAST_UPDATE_TIMER(8),6f-.LPG0(%r13)
|
mvc __LC_LAST_UPDATE_TIMER(8),6f-.LPG0(%r13)
|
||||||
xc __LC_STFL_FAC_LIST(8),__LC_STFL_FAC_LIST
|
xc __LC_STFL_FAC_LIST(8),__LC_STFL_FAC_LIST
|
||||||
# check capabilities against MARCH_{G5,Z900,Z990,Z9_109,Z10}
|
# 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 ?
|
tm __LC_STFL_FAC_LIST,0x01 # stfle available ?
|
||||||
jz 0f
|
jz 0f
|
||||||
la %r0,1
|
la %r0,1
|
||||||
|
|
Загрузка…
Ссылка в новой задаче