Home
last modified time | relevance | path

Searched refs:rseq_cs (Results 1 – 17 of 17) sorted by relevance

/linux/tools/testing/selftests/rseq/
H A Drseq-riscv-bits.h19 RSEQ_ASM_STORE_RSEQ_CS(2, 1b, rseq_cs) in RSEQ_TEMPLATE_IDENTIFIER()
34 [rseq_cs] "m" (rseq_get_abi()->rseq_cs.arch.ptr), in RSEQ_TEMPLATE_IDENTIFIER()
73 RSEQ_ASM_STORE_RSEQ_CS(2, 1b, rseq_cs) in RSEQ_TEMPLATE_IDENTIFIER()
91 [rseq_cs] "m" (rseq_get_abi()->rseq_cs.arch.ptr), in RSEQ_TEMPLATE_IDENTIFIER()
127 RSEQ_ASM_STORE_RSEQ_CS(2, 1b, rseq_cs) in RSEQ_TEMPLATE_IDENTIFIER()
141 [rseq_cs] "m" (rseq_get_abi()->rseq_cs.arch.ptr), in RSEQ_TEMPLATE_IDENTIFIER()
176 RSEQ_ASM_STORE_RSEQ_CS(2, 1b, rseq_cs) in RSEQ_TEMPLATE_IDENTIFIER()
194 [rseq_cs] "m" (rseq_get_abi()->rseq_cs.arch.ptr), in RSEQ_TEMPLATE_IDENTIFIER()
240 RSEQ_ASM_STORE_RSEQ_CS(2, 1b, rseq_cs) in RSEQ_TEMPLATE_IDENTIFIER()
252 [rseq_cs] "m" (rseq_get_abi()->rseq_cs.arch.ptr), in RSEQ_TEMPLATE_IDENTIFIER()
[all …]
H A Drseq-arm-bits.h26 RSEQ_ASM_STORE_RSEQ_CS(1, 3f, rseq_cs) in RSEQ_TEMPLATE_IDENTIFIER()
49 [rseq_cs] "m" (rseq_get_abi()->rseq_cs.arch.ptr), in RSEQ_TEMPLATE_IDENTIFIER()
94 RSEQ_ASM_STORE_RSEQ_CS(1, 3f, rseq_cs) in RSEQ_TEMPLATE_IDENTIFIER()
120 [rseq_cs] "m" (rseq_get_abi()->rseq_cs.arch.ptr), in RSEQ_TEMPLATE_IDENTIFIER()
164 RSEQ_ASM_STORE_RSEQ_CS(1, 3f, rseq_cs) in RSEQ_TEMPLATE_IDENTIFIER()
182 [rseq_cs] "m" (rseq_get_abi()->rseq_cs.arch.ptr), in RSEQ_TEMPLATE_IDENTIFIER()
222 RSEQ_ASM_STORE_RSEQ_CS(1, 3f, rseq_cs) in RSEQ_TEMPLATE_IDENTIFIER()
252 [rseq_cs] "m" (rseq_get_abi()->rseq_cs.arch.ptr), in RSEQ_TEMPLATE_IDENTIFIER()
311 RSEQ_ASM_STORE_RSEQ_CS(1, 3f, rseq_cs) in RSEQ_TEMPLATE_IDENTIFIER()
340 [rseq_cs] "m" (rseq_get_abi()->rseq_cs.arch.ptr), in RSEQ_TEMPLATE_IDENTIFIER()
[all …]
H A Drseq-mips-bits.h26 RSEQ_ASM_STORE_RSEQ_CS(1, 3f, rseq_cs) in RSEQ_TEMPLATE_IDENTIFIER()
47 [rseq_cs] "m" (rseq_get_abi()->rseq_cs.arch.ptr), in RSEQ_TEMPLATE_IDENTIFIER()
87 RSEQ_ASM_STORE_RSEQ_CS(1, 3f, rseq_cs) in RSEQ_TEMPLATE_IDENTIFIER()
111 [rseq_cs] "m" (rseq_get_abi()->rseq_cs.arch.ptr), in RSEQ_TEMPLATE_IDENTIFIER()
150 RSEQ_ASM_STORE_RSEQ_CS(1, 3f, rseq_cs) in RSEQ_TEMPLATE_IDENTIFIER()
168 [rseq_cs] "m" (rseq_get_abi()->rseq_cs.arch.ptr), in RSEQ_TEMPLATE_IDENTIFIER()
205 RSEQ_ASM_STORE_RSEQ_CS(1, 3f, rseq_cs) in RSEQ_TEMPLATE_IDENTIFIER()
231 [rseq_cs] "m" (rseq_get_abi()->rseq_cs.arch.ptr), in RSEQ_TEMPLATE_IDENTIFIER()
284 RSEQ_ASM_STORE_RSEQ_CS(1, 3f, rseq_cs) in RSEQ_TEMPLATE_IDENTIFIER()
311 [rseq_cs] "m" (rseq_get_abi()->rseq_cs.arch.ptr), in RSEQ_TEMPLATE_IDENTIFIER()
[all …]
H A Drseq-s390-bits.h21 RSEQ_ASM_STORE_RSEQ_CS(1, 3b, rseq_cs) in RSEQ_TEMPLATE_IDENTIFIER()
40 [rseq_cs] "m" (rseq_get_abi()->rseq_cs.arch.ptr), in RSEQ_TEMPLATE_IDENTIFIER()
89 RSEQ_ASM_STORE_RSEQ_CS(1, 3b, rseq_cs) in RSEQ_TEMPLATE_IDENTIFIER()
113 [rseq_cs] "m" (rseq_get_abi()->rseq_cs.arch.ptr), in RSEQ_TEMPLATE_IDENTIFIER()
157 RSEQ_ASM_STORE_RSEQ_CS(1, 3b, rseq_cs) in RSEQ_TEMPLATE_IDENTIFIER()
173 [rseq_cs] "m" (rseq_get_abi()->rseq_cs.arch.ptr), in RSEQ_TEMPLATE_IDENTIFIER()
214 RSEQ_ASM_STORE_RSEQ_CS(1, 3b, rseq_cs) in RSEQ_TEMPLATE_IDENTIFIER()
238 [rseq_cs] "m" (rseq_get_abi()->rseq_cs.arch.ptr), in RSEQ_TEMPLATE_IDENTIFIER()
298 RSEQ_ASM_STORE_RSEQ_CS(1, 3b, rseq_cs) in RSEQ_TEMPLATE_IDENTIFIER()
320 [rseq_cs] "m" (rseq_get_abi()->rseq_cs.arch.ptr), in RSEQ_TEMPLATE_IDENTIFIER()
[all …]
H A Drseq-arm64-bits.h26 RSEQ_ASM_STORE_RSEQ_CS(2, 1b, rseq_cs) in RSEQ_TEMPLATE_IDENTIFIER()
41 [rseq_cs] "m" (rseq_get_abi()->rseq_cs.arch.ptr), in RSEQ_TEMPLATE_IDENTIFIER()
84 RSEQ_ASM_STORE_RSEQ_CS(2, 1b, rseq_cs) in RSEQ_TEMPLATE_IDENTIFIER()
102 [rseq_cs] "m" (rseq_get_abi()->rseq_cs.arch.ptr), in RSEQ_TEMPLATE_IDENTIFIER()
143 RSEQ_ASM_STORE_RSEQ_CS(2, 1b, rseq_cs) in RSEQ_TEMPLATE_IDENTIFIER()
157 [rseq_cs] "m" (rseq_get_abi()->rseq_cs.arch.ptr), in RSEQ_TEMPLATE_IDENTIFIER()
195 RSEQ_ASM_STORE_RSEQ_CS(2, 1b, rseq_cs) in RSEQ_TEMPLATE_IDENTIFIER()
213 [rseq_cs] "m" (rseq_get_abi()->rseq_cs.arch.ptr), in RSEQ_TEMPLATE_IDENTIFIER()
268 RSEQ_ASM_STORE_RSEQ_CS(2, 1b, rseq_cs) in RSEQ_TEMPLATE_IDENTIFIER()
289 [rseq_cs] "m" (rseq_get_abi()->rseq_cs.arch.ptr), in RSEQ_TEMPLATE_IDENTIFIER()
[all …]
H A Drseq-ppc-bits.h27 RSEQ_ASM_STORE_RSEQ_CS(1, 3b, rseq_cs) in RSEQ_TEMPLATE_IDENTIFIER()
47 [rseq_cs] "m" (rseq_get_abi()->rseq_cs.arch.ptr), in RSEQ_TEMPLATE_IDENTIFIER()
92 RSEQ_ASM_STORE_RSEQ_CS(1, 3b, rseq_cs) in RSEQ_TEMPLATE_IDENTIFIER()
118 [rseq_cs] "m" (rseq_get_abi()->rseq_cs.arch.ptr), in RSEQ_TEMPLATE_IDENTIFIER()
162 RSEQ_ASM_STORE_RSEQ_CS(1, 3b, rseq_cs) in RSEQ_TEMPLATE_IDENTIFIER()
181 [rseq_cs] "m" (rseq_get_abi()->rseq_cs.arch.ptr), in RSEQ_TEMPLATE_IDENTIFIER()
222 RSEQ_ASM_STORE_RSEQ_CS(1, 3b, rseq_cs) in RSEQ_TEMPLATE_IDENTIFIER()
247 [rseq_cs] "m" (rseq_get_abi()->rseq_cs.arch.ptr), in RSEQ_TEMPLATE_IDENTIFIER()
306 RSEQ_ASM_STORE_RSEQ_CS(1, 3b, rseq_cs) in RSEQ_TEMPLATE_IDENTIFIER()
333 [rseq_cs] "m" (rseq_get_abi()->rseq_cs.arch.ptr), in RSEQ_TEMPLATE_IDENTIFIER()
[all …]
H A Drseq-ppc.h66 #define RSEQ_ASM_STORE_RSEQ_CS(label, cs_label, rseq_cs) \ argument
73 "std %%r17, %[" __rseq_str(rseq_cs) "]\n\t" \
126 #define RSEQ_ASM_STORE_RSEQ_CS(label, cs_label, rseq_cs) \ argument
130 RSEQ_STORE_INT(rseq_cs) "%%r17, %[" __rseq_str(rseq_cs) "]\n\t" \
H A Drseq-x86.h88 #define RSEQ_ASM_STORE_RSEQ_CS(label, cs_label, rseq_cs) \ argument
91 "movq %%rax, " __rseq_str(rseq_cs) "\n\t" \
175 #define RSEQ_ASM_STORE_RSEQ_CS(label, cs_label, rseq_cs) \ argument
177 "movl $" __rseq_str(cs_label) ", " __rseq_str(rseq_cs) "\n\t" \
H A Drseq-arm.h111 #define RSEQ_ASM_STORE_RSEQ_CS(label, cs_label, rseq_cs) \ argument
114 "str r0, %[" __rseq_str(rseq_cs) "]\n\t" \
H A Drseq-s390.h68 #define RSEQ_ASM_STORE_RSEQ_CS(label, cs_label, rseq_cs) \
71 LONG_S " %%r0, %[" __rseq_str(rseq_cs) "]\n\t" \
107 RSEQ_ASM_STORE_RSEQ_CS(label,cs_label,rseq_cs) global() argument
H A Drseq-mips.h115 #define RSEQ_ASM_STORE_RSEQ_CS(label, cs_label, rseq_cs) \ argument
118 LONG_S " $4, %[" __rseq_str(rseq_cs) "]\n\t" \
H A Drseq-riscv.h82 #define RSEQ_ASM_STORE_RSEQ_CS(label, cs_label, rseq_cs) \
85 REG_S RSEQ_ASM_TMP_REG_1 ", %[" __rseq_str(rseq_cs) "]\n" \
83 RSEQ_ASM_STORE_RSEQ_CS(label,cs_label,rseq_cs) global() argument
H A Drseq-arm64.h125 #define RSEQ_ASM_STORE_RSEQ_CS(label, cs_label, rseq_cs) \ argument
130 " str " RSEQ_ASM_TMP_REG ", %[" __rseq_str(rseq_cs) "]\n" \
H A Drseq-abi.h113 * Restartable sequences rseq_cs field.
116 * thread, or holds a pointer to the currently active struct rseq_cs.
119 * active rseq_cs at the beginning of assembly instruction sequence
123 * targeted by the rseq_cs. Also needs to be set to NULL by user-space
124 * before reclaiming memory that contains the targeted struct rseq_cs.
149 } rseq_cs;
128 } rseq_cs; global() member
/linux/include/linux/
H A Drseq_entry.h270 struct rseq_cs __user *ucs = (struct rseq_cs __user *)(unsigned long)csaddr; in rseq_debug_update_user_cs()
327 unsafe_put_user(0ULL, &t->rseq.usrptr->rseq_cs, efault); in rseq_debug_update_user_cs()
332 unsafe_put_user(0ULL, &t->rseq.usrptr->rseq_cs, efault); in rseq_debug_update_user_cs()
394 struct rseq_cs __user *ucs = (struct rseq_cs __user *)(unsigned long)csaddr; in rseq_update_user_cs()
449 unsafe_put_user(0ULL, &t->rseq.usrptr->rseq_cs, efault); in rseq_update_user_cs()
455 unsafe_put_user(0ULL, &t->rseq.usrptr->rseq_cs, efault); in rseq_update_user_cs()
508 unsafe_get_user(*csaddr, &rseq->rseq_cs, efault); in rseq_set_ids_get_csaddr()
614 unsafe_get_user(csaddr, &rseq->rseq_cs, efault); in rseq_exit_user_update()
/linux/include/uapi/linux/
H A Drseq.h57 struct rseq_cs { struct
152 __u64 rseq_cs; member
/linux/kernel/
H A Drseq.c250 unsafe_get_user(csaddr, &urseq->rseq_cs, efault); in rseq_handle_cs()
365 if (get_user(csaddr, &t->rseq.usrptr->rseq_cs)) in __rseq_debug_syscall_return()
481 unsafe_put_user(0UL, &rseq->rseq_cs, efault); in SYSCALL_DEFINE4()