s390/spinlock: Use symbolic names in inline assemblies

Improve readability and use symbolic names.

Signed-off-by: Heiko Carstens <hca@linux.ibm.com>
This commit is contained in:
Heiko Carstens 2024-11-26 14:28:23 +01:00
parent b5f463486b
commit 78486ed9e7
2 changed files with 9 additions and 8 deletions

View File

@ -82,9 +82,10 @@ static inline void arch_spin_unlock(arch_spinlock_t *lp)
kcsan_release();
asm_inline volatile(
ALTERNATIVE("nop", ".insn rre,0xb2fa0000,7,0", ALT_FACILITY(49)) /* NIAI 7 */
" sth %1,%0\n"
: "=R" (((unsigned short *) &lp->lock)[1])
: "d" (0) : "cc", "memory");
" sth %[zero],%[lock]\n"
: [lock] "=R" (((unsigned short *)&lp->lock)[1])
: [zero] "d" (0)
: "cc", "memory");
}
/*

View File

@ -76,8 +76,8 @@ static inline int arch_load_niai4(int *lock)
asm_inline volatile(
ALTERNATIVE("nop", ".insn rre,0xb2fa0000,4,0", ALT_FACILITY(49)) /* NIAI 4 */
" l %0,%1\n"
: "=d" (owner) : "Q" (*lock) : "memory");
" l %[owner],%[lock]\n"
: [owner] "=d" (owner) : [lock] "Q" (*lock) : "memory");
return owner;
}
@ -87,9 +87,9 @@ static inline int arch_cmpxchg_niai8(int *lock, int old, int new)
asm_inline volatile(
ALTERNATIVE("nop", ".insn rre,0xb2fa0000,8,0", ALT_FACILITY(49)) /* NIAI 8 */
" cs %0,%3,%1\n"
: "=d" (old), "=Q" (*lock)
: "0" (old), "d" (new), "Q" (*lock)
" cs %[old],%[new],%[lock]\n"
: [old] "+d" (old), [lock] "+Q" (*lock)
: [new] "d" (new)
: "cc", "memory");
return expected == old;
}