Lines Matching full:regs
55 * Helper to invoke int80 with controlled regs and capture the final regs.
77 * controlled regs and capture the final regs. This is so nasty that it
132 printf("[FAIL]\tgetpid() failed to preserve regs\n"); in test_sys32_regs()
135 printf("[OK]\tgetpid() preserves regs\n"); in test_sys32_regs()
147 printf("[FAIL]\tkill(getpid(), SIGUSR1) failed to preserve regs\n"); in test_sys32_regs()
150 printf("[OK]\tkill(getpid(), SIGUSR1) preserves regs\n"); in test_sys32_regs()
181 struct user_regs_struct regs; in test_ptrace_syscall_restart() local
188 if (ptrace(PTRACE_GETREGS, chld, 0, ®s) != 0) in test_ptrace_syscall_restart()
191 if (regs.user_syscall_nr != SYS_gettid || in test_ptrace_syscall_restart()
192 regs.user_arg0 != 10 || regs.user_arg1 != 11 || in test_ptrace_syscall_restart()
193 regs.user_arg2 != 12 || regs.user_arg3 != 13 || in test_ptrace_syscall_restart()
194 regs.user_arg4 != 14 || regs.user_arg5 != 15) { in test_ptrace_syscall_restart()
195 …regs.user_syscall_nr, (unsigned long)regs.user_arg0, (unsigned long)regs.user_arg1, (unsigned long… in test_ptrace_syscall_restart()
202 (unsigned long)regs.user_ip); in test_ptrace_syscall_restart()
210 regs.user_ax = regs.user_syscall_nr; in test_ptrace_syscall_restart()
211 regs.user_ip -= 2; in test_ptrace_syscall_restart()
212 if (ptrace(PTRACE_SETREGS, chld, 0, ®s) != 0) in test_ptrace_syscall_restart()
219 if (ptrace(PTRACE_GETREGS, chld, 0, ®s) != 0) in test_ptrace_syscall_restart()
222 if (regs.user_syscall_nr != SYS_gettid || in test_ptrace_syscall_restart()
223 regs.user_arg0 != 10 || regs.user_arg1 != 11 || in test_ptrace_syscall_restart()
224 regs.user_arg2 != 12 || regs.user_arg3 != 13 || in test_ptrace_syscall_restart()
225 regs.user_arg4 != 14 || regs.user_arg5 != 15) { in test_ptrace_syscall_restart()
226 …regs.user_syscall_nr, (unsigned long)regs.user_arg0, (unsigned long)regs.user_arg1, (unsigned long… in test_ptrace_syscall_restart()
233 (unsigned long)regs.user_ip); in test_ptrace_syscall_restart()
235 regs.user_ax = SYS_getpid; in test_ptrace_syscall_restart()
236 regs.user_arg0 = 20; in test_ptrace_syscall_restart()
237 regs.user_arg1 = 21; in test_ptrace_syscall_restart()
238 regs.user_arg2 = 22; in test_ptrace_syscall_restart()
239 regs.user_arg3 = 23; in test_ptrace_syscall_restart()
240 regs.user_arg4 = 24; in test_ptrace_syscall_restart()
241 regs.user_arg5 = 25; in test_ptrace_syscall_restart()
242 regs.user_ip -= 2; in test_ptrace_syscall_restart()
244 if (ptrace(PTRACE_SETREGS, chld, 0, ®s) != 0) in test_ptrace_syscall_restart()
251 if (ptrace(PTRACE_GETREGS, chld, 0, ®s) != 0) in test_ptrace_syscall_restart()
254 if (regs.user_syscall_nr != SYS_getpid || in test_ptrace_syscall_restart()
255 regs.user_arg0 != 20 || regs.user_arg1 != 21 || regs.user_arg2 != 22 || in test_ptrace_syscall_restart()
256 regs.user_arg3 != 23 || regs.user_arg4 != 24 || regs.user_arg5 != 25) { in test_ptrace_syscall_restart()
257 …regs.user_syscall_nr, (unsigned long)regs.user_arg0, (unsigned long)regs.user_arg1, (unsigned long… in test_ptrace_syscall_restart()
302 struct user_regs_struct regs; in test_restart_under_ptrace() local
311 if (ptrace(PTRACE_GETREGS, chld, 0, ®s) != 0) in test_restart_under_ptrace()
314 if (regs.user_syscall_nr != SYS_pause || in test_restart_under_ptrace()
315 regs.user_arg0 != 0 || regs.user_arg1 != 0 || in test_restart_under_ptrace()
316 regs.user_arg2 != 0 || regs.user_arg3 != 0 || in test_restart_under_ptrace()
317 regs.user_arg4 != 0 || regs.user_arg5 != 0) { in test_restart_under_ptrace()
318 …regs.user_syscall_nr, (unsigned long)regs.user_arg0, (unsigned long)regs.user_arg1, (unsigned long… in test_restart_under_ptrace()
333 if (ptrace(PTRACE_GETREGS, chld, 0, ®s) != 0) in test_restart_under_ptrace()
336 if (regs.user_syscall_nr != SYS_pause || in test_restart_under_ptrace()
337 regs.user_arg0 != 0 || regs.user_arg1 != 0 || in test_restart_under_ptrace()
338 regs.user_arg2 != 0 || regs.user_arg3 != 0 || in test_restart_under_ptrace()
339 regs.user_arg4 != 0 || regs.user_arg5 != 0) { in test_restart_under_ptrace()
340 …regs.user_syscall_nr, (unsigned long)regs.user_arg0, (unsigned long)regs.user_arg1, (unsigned long… in test_restart_under_ptrace()
344 (long)regs.user_ax); in test_restart_under_ptrace()
347 /* Poke the regs back in. This must not break anything. */ in test_restart_under_ptrace()
348 if (ptrace(PTRACE_SETREGS, chld, 0, ®s) != 0) in test_restart_under_ptrace()
371 if (ptrace(PTRACE_GETREGS, chld, 0, ®s) != 0) in test_restart_under_ptrace()
374 if (regs.user_syscall_nr != SYS_pause || in test_restart_under_ptrace()
375 regs.user_arg0 != 0 || regs.user_arg1 != 0 || in test_restart_under_ptrace()
376 regs.user_arg2 != 0 || regs.user_arg3 != 0 || in test_restart_under_ptrace()
377 regs.user_arg4 != 0 || regs.user_arg5 != 0) { in test_restart_under_ptrace()
378 …regs.user_syscall_nr, (unsigned long)regs.user_arg0, (unsigned long)regs.user_arg1, (unsigned long… in test_restart_under_ptrace()
392 printf("[RUN]\tCheck int80 return regs\n"); in main()
398 printf("[RUN]\tCheck AT_SYSINFO return regs\n"); in main()