xref: /OK3568_Linux_fs/kernel/tools/testing/selftests/rseq/rseq-skip.h (revision 4882a59341e53eb6f0b4789bf948001014eff981)
1*4882a593Smuzhiyun /* SPDX-License-Identifier: LGPL-2.1 OR MIT */
2*4882a593Smuzhiyun /*
3*4882a593Smuzhiyun  * rseq-skip.h
4*4882a593Smuzhiyun  *
5*4882a593Smuzhiyun  * (C) Copyright 2017-2018 - Mathieu Desnoyers <mathieu.desnoyers@efficios.com>
6*4882a593Smuzhiyun  */
7*4882a593Smuzhiyun 
8*4882a593Smuzhiyun static inline __attribute__((always_inline))
rseq_cmpeqv_storev(intptr_t * v,intptr_t expect,intptr_t newv,int cpu)9*4882a593Smuzhiyun int rseq_cmpeqv_storev(intptr_t *v, intptr_t expect, intptr_t newv, int cpu)
10*4882a593Smuzhiyun {
11*4882a593Smuzhiyun 	return -1;
12*4882a593Smuzhiyun }
13*4882a593Smuzhiyun 
14*4882a593Smuzhiyun static inline __attribute__((always_inline))
rseq_cmpnev_storeoffp_load(intptr_t * v,intptr_t expectnot,long voffp,intptr_t * load,int cpu)15*4882a593Smuzhiyun int rseq_cmpnev_storeoffp_load(intptr_t *v, intptr_t expectnot,
16*4882a593Smuzhiyun 			       long voffp, intptr_t *load, int cpu)
17*4882a593Smuzhiyun {
18*4882a593Smuzhiyun 	return -1;
19*4882a593Smuzhiyun }
20*4882a593Smuzhiyun 
21*4882a593Smuzhiyun static inline __attribute__((always_inline))
rseq_addv(intptr_t * v,intptr_t count,int cpu)22*4882a593Smuzhiyun int rseq_addv(intptr_t *v, intptr_t count, int cpu)
23*4882a593Smuzhiyun {
24*4882a593Smuzhiyun 	return -1;
25*4882a593Smuzhiyun }
26*4882a593Smuzhiyun 
27*4882a593Smuzhiyun static inline __attribute__((always_inline))
rseq_cmpeqv_trystorev_storev(intptr_t * v,intptr_t expect,intptr_t * v2,intptr_t newv2,intptr_t newv,int cpu)28*4882a593Smuzhiyun int rseq_cmpeqv_trystorev_storev(intptr_t *v, intptr_t expect,
29*4882a593Smuzhiyun 				 intptr_t *v2, intptr_t newv2,
30*4882a593Smuzhiyun 				 intptr_t newv, int cpu)
31*4882a593Smuzhiyun {
32*4882a593Smuzhiyun 	return -1;
33*4882a593Smuzhiyun }
34*4882a593Smuzhiyun 
35*4882a593Smuzhiyun static inline __attribute__((always_inline))
rseq_cmpeqv_trystorev_storev_release(intptr_t * v,intptr_t expect,intptr_t * v2,intptr_t newv2,intptr_t newv,int cpu)36*4882a593Smuzhiyun int rseq_cmpeqv_trystorev_storev_release(intptr_t *v, intptr_t expect,
37*4882a593Smuzhiyun 					 intptr_t *v2, intptr_t newv2,
38*4882a593Smuzhiyun 					 intptr_t newv, int cpu)
39*4882a593Smuzhiyun {
40*4882a593Smuzhiyun 	return -1;
41*4882a593Smuzhiyun }
42*4882a593Smuzhiyun 
43*4882a593Smuzhiyun static inline __attribute__((always_inline))
rseq_cmpeqv_cmpeqv_storev(intptr_t * v,intptr_t expect,intptr_t * v2,intptr_t expect2,intptr_t newv,int cpu)44*4882a593Smuzhiyun int rseq_cmpeqv_cmpeqv_storev(intptr_t *v, intptr_t expect,
45*4882a593Smuzhiyun 			      intptr_t *v2, intptr_t expect2,
46*4882a593Smuzhiyun 			      intptr_t newv, int cpu)
47*4882a593Smuzhiyun {
48*4882a593Smuzhiyun 	return -1;
49*4882a593Smuzhiyun }
50*4882a593Smuzhiyun 
51*4882a593Smuzhiyun static inline __attribute__((always_inline))
rseq_cmpeqv_trymemcpy_storev(intptr_t * v,intptr_t expect,void * dst,void * src,size_t len,intptr_t newv,int cpu)52*4882a593Smuzhiyun int rseq_cmpeqv_trymemcpy_storev(intptr_t *v, intptr_t expect,
53*4882a593Smuzhiyun 				 void *dst, void *src, size_t len,
54*4882a593Smuzhiyun 				 intptr_t newv, int cpu)
55*4882a593Smuzhiyun {
56*4882a593Smuzhiyun 	return -1;
57*4882a593Smuzhiyun }
58*4882a593Smuzhiyun 
59*4882a593Smuzhiyun static inline __attribute__((always_inline))
rseq_cmpeqv_trymemcpy_storev_release(intptr_t * v,intptr_t expect,void * dst,void * src,size_t len,intptr_t newv,int cpu)60*4882a593Smuzhiyun int rseq_cmpeqv_trymemcpy_storev_release(intptr_t *v, intptr_t expect,
61*4882a593Smuzhiyun 					 void *dst, void *src, size_t len,
62*4882a593Smuzhiyun 					 intptr_t newv, int cpu)
63*4882a593Smuzhiyun {
64*4882a593Smuzhiyun 	return -1;
65*4882a593Smuzhiyun }
66