Commit e24e4712 authored by Martin Schwidefsky's avatar Martin Schwidefsky
Browse files

s390/rseq: use trap4 for RSEQ_SIG



Use trap4 as the guard instruction for the restartable sequence abort
handler.

Signed-off-by: default avatarMartin Schwidefsky <schwidefsky@de.ibm.com>
parent e91012ee
Loading
Loading
Loading
Loading
+8 −1
Original line number Diff line number Diff line
/* SPDX-License-Identifier: LGPL-2.1 OR MIT */

#define RSEQ_SIG	0x53053053
/*
 * RSEQ_SIG uses the trap4 instruction. As Linux does not make use of the
 * access-register mode nor the linkage stack this instruction will always
 * cause a special-operation exception (the trap-enabled bit in the DUCT
 * is and will stay 0). The instruction pattern is
 *	b2 ff 0f ff	trap4	4095(%r0)
 */
#define RSEQ_SIG	0xB2FF0FFF

#define rseq_smp_mb()	__asm__ __volatile__ ("bcr 15,0" ::: "memory")
#define rseq_smp_rmb()	rseq_smp_mb()