xref: /OK3568_Linux_fs/kernel/arch/s390/include/asm/runtime_instr.h (revision 4882a59341e53eb6f0b4789bf948001014eff981)
1*4882a593Smuzhiyun /* SPDX-License-Identifier: GPL-2.0 */
2*4882a593Smuzhiyun #ifndef _RUNTIME_INSTR_H
3*4882a593Smuzhiyun #define _RUNTIME_INSTR_H
4*4882a593Smuzhiyun 
5*4882a593Smuzhiyun #include <uapi/asm/runtime_instr.h>
6*4882a593Smuzhiyun 
7*4882a593Smuzhiyun extern struct runtime_instr_cb runtime_instr_empty_cb;
8*4882a593Smuzhiyun 
save_ri_cb(struct runtime_instr_cb * cb_prev)9*4882a593Smuzhiyun static inline void save_ri_cb(struct runtime_instr_cb *cb_prev)
10*4882a593Smuzhiyun {
11*4882a593Smuzhiyun 	if (cb_prev)
12*4882a593Smuzhiyun 		store_runtime_instr_cb(cb_prev);
13*4882a593Smuzhiyun }
14*4882a593Smuzhiyun 
restore_ri_cb(struct runtime_instr_cb * cb_next,struct runtime_instr_cb * cb_prev)15*4882a593Smuzhiyun static inline void restore_ri_cb(struct runtime_instr_cb *cb_next,
16*4882a593Smuzhiyun 				 struct runtime_instr_cb *cb_prev)
17*4882a593Smuzhiyun {
18*4882a593Smuzhiyun 	if (cb_next)
19*4882a593Smuzhiyun 		load_runtime_instr_cb(cb_next);
20*4882a593Smuzhiyun 	else if (cb_prev)
21*4882a593Smuzhiyun 		load_runtime_instr_cb(&runtime_instr_empty_cb);
22*4882a593Smuzhiyun }
23*4882a593Smuzhiyun 
24*4882a593Smuzhiyun struct task_struct;
25*4882a593Smuzhiyun 
26*4882a593Smuzhiyun void runtime_instr_release(struct task_struct *tsk);
27*4882a593Smuzhiyun 
28*4882a593Smuzhiyun #endif /* _RUNTIME_INSTR_H */
29