• Home
  • Raw
  • Download

Lines Matching full:regs

24 static int restore_sigframe(struct pt_regs *regs,  in restore_sigframe()  argument
35 __get_user_error(regs->uregs[0], &sf->uc.uc_mcontext.nds32_r0, err); in restore_sigframe()
36 __get_user_error(regs->uregs[1], &sf->uc.uc_mcontext.nds32_r1, err); in restore_sigframe()
37 __get_user_error(regs->uregs[2], &sf->uc.uc_mcontext.nds32_r2, err); in restore_sigframe()
38 __get_user_error(regs->uregs[3], &sf->uc.uc_mcontext.nds32_r3, err); in restore_sigframe()
39 __get_user_error(regs->uregs[4], &sf->uc.uc_mcontext.nds32_r4, err); in restore_sigframe()
40 __get_user_error(regs->uregs[5], &sf->uc.uc_mcontext.nds32_r5, err); in restore_sigframe()
41 __get_user_error(regs->uregs[6], &sf->uc.uc_mcontext.nds32_r6, err); in restore_sigframe()
42 __get_user_error(regs->uregs[7], &sf->uc.uc_mcontext.nds32_r7, err); in restore_sigframe()
43 __get_user_error(regs->uregs[8], &sf->uc.uc_mcontext.nds32_r8, err); in restore_sigframe()
44 __get_user_error(regs->uregs[9], &sf->uc.uc_mcontext.nds32_r9, err); in restore_sigframe()
45 __get_user_error(regs->uregs[10], &sf->uc.uc_mcontext.nds32_r10, err); in restore_sigframe()
46 __get_user_error(regs->uregs[11], &sf->uc.uc_mcontext.nds32_r11, err); in restore_sigframe()
47 __get_user_error(regs->uregs[12], &sf->uc.uc_mcontext.nds32_r12, err); in restore_sigframe()
48 __get_user_error(regs->uregs[13], &sf->uc.uc_mcontext.nds32_r13, err); in restore_sigframe()
49 __get_user_error(regs->uregs[14], &sf->uc.uc_mcontext.nds32_r14, err); in restore_sigframe()
50 __get_user_error(regs->uregs[15], &sf->uc.uc_mcontext.nds32_r15, err); in restore_sigframe()
51 __get_user_error(regs->uregs[16], &sf->uc.uc_mcontext.nds32_r16, err); in restore_sigframe()
52 __get_user_error(regs->uregs[17], &sf->uc.uc_mcontext.nds32_r17, err); in restore_sigframe()
53 __get_user_error(regs->uregs[18], &sf->uc.uc_mcontext.nds32_r18, err); in restore_sigframe()
54 __get_user_error(regs->uregs[19], &sf->uc.uc_mcontext.nds32_r19, err); in restore_sigframe()
55 __get_user_error(regs->uregs[20], &sf->uc.uc_mcontext.nds32_r20, err); in restore_sigframe()
56 __get_user_error(regs->uregs[21], &sf->uc.uc_mcontext.nds32_r21, err); in restore_sigframe()
57 __get_user_error(regs->uregs[22], &sf->uc.uc_mcontext.nds32_r22, err); in restore_sigframe()
58 __get_user_error(regs->uregs[23], &sf->uc.uc_mcontext.nds32_r23, err); in restore_sigframe()
59 __get_user_error(regs->uregs[24], &sf->uc.uc_mcontext.nds32_r24, err); in restore_sigframe()
60 __get_user_error(regs->uregs[25], &sf->uc.uc_mcontext.nds32_r25, err); in restore_sigframe()
62 __get_user_error(regs->fp, &sf->uc.uc_mcontext.nds32_fp, err); in restore_sigframe()
63 __get_user_error(regs->gp, &sf->uc.uc_mcontext.nds32_gp, err); in restore_sigframe()
64 __get_user_error(regs->lp, &sf->uc.uc_mcontext.nds32_lp, err); in restore_sigframe()
65 __get_user_error(regs->sp, &sf->uc.uc_mcontext.nds32_sp, err); in restore_sigframe()
66 __get_user_error(regs->ipc, &sf->uc.uc_mcontext.nds32_ipc, err); in restore_sigframe()
68 __get_user_error(regs->lc, &sf->uc.uc_mcontext.zol.nds32_lc, err); in restore_sigframe()
69 __get_user_error(regs->le, &sf->uc.uc_mcontext.zol.nds32_le, err); in restore_sigframe()
70 __get_user_error(regs->lb, &sf->uc.uc_mcontext.zol.nds32_lb, err); in restore_sigframe()
76 forget_syscall(regs); in restore_sigframe()
80 asmlinkage long sys_rt_sigreturn(struct pt_regs *regs) in sys_rt_sigreturn() argument
92 if (regs->sp & 7) in sys_rt_sigreturn()
95 frame = (struct rt_sigframe __user *)regs->sp; in sys_rt_sigreturn()
100 if (restore_sigframe(regs, frame)) in sys_rt_sigreturn()
106 return regs->uregs[0]; in sys_rt_sigreturn()
114 setup_sigframe(struct rt_sigframe __user * sf, struct pt_regs *regs, in setup_sigframe() argument
119 __put_user_error(regs->uregs[0], &sf->uc.uc_mcontext.nds32_r0, err); in setup_sigframe()
120 __put_user_error(regs->uregs[1], &sf->uc.uc_mcontext.nds32_r1, err); in setup_sigframe()
121 __put_user_error(regs->uregs[2], &sf->uc.uc_mcontext.nds32_r2, err); in setup_sigframe()
122 __put_user_error(regs->uregs[3], &sf->uc.uc_mcontext.nds32_r3, err); in setup_sigframe()
123 __put_user_error(regs->uregs[4], &sf->uc.uc_mcontext.nds32_r4, err); in setup_sigframe()
124 __put_user_error(regs->uregs[5], &sf->uc.uc_mcontext.nds32_r5, err); in setup_sigframe()
125 __put_user_error(regs->uregs[6], &sf->uc.uc_mcontext.nds32_r6, err); in setup_sigframe()
126 __put_user_error(regs->uregs[7], &sf->uc.uc_mcontext.nds32_r7, err); in setup_sigframe()
127 __put_user_error(regs->uregs[8], &sf->uc.uc_mcontext.nds32_r8, err); in setup_sigframe()
128 __put_user_error(regs->uregs[9], &sf->uc.uc_mcontext.nds32_r9, err); in setup_sigframe()
129 __put_user_error(regs->uregs[10], &sf->uc.uc_mcontext.nds32_r10, err); in setup_sigframe()
130 __put_user_error(regs->uregs[11], &sf->uc.uc_mcontext.nds32_r11, err); in setup_sigframe()
131 __put_user_error(regs->uregs[12], &sf->uc.uc_mcontext.nds32_r12, err); in setup_sigframe()
132 __put_user_error(regs->uregs[13], &sf->uc.uc_mcontext.nds32_r13, err); in setup_sigframe()
133 __put_user_error(regs->uregs[14], &sf->uc.uc_mcontext.nds32_r14, err); in setup_sigframe()
134 __put_user_error(regs->uregs[15], &sf->uc.uc_mcontext.nds32_r15, err); in setup_sigframe()
135 __put_user_error(regs->uregs[16], &sf->uc.uc_mcontext.nds32_r16, err); in setup_sigframe()
136 __put_user_error(regs->uregs[17], &sf->uc.uc_mcontext.nds32_r17, err); in setup_sigframe()
137 __put_user_error(regs->uregs[18], &sf->uc.uc_mcontext.nds32_r18, err); in setup_sigframe()
138 __put_user_error(regs->uregs[19], &sf->uc.uc_mcontext.nds32_r19, err); in setup_sigframe()
139 __put_user_error(regs->uregs[20], &sf->uc.uc_mcontext.nds32_r20, err); in setup_sigframe()
141 __put_user_error(regs->uregs[21], &sf->uc.uc_mcontext.nds32_r21, err); in setup_sigframe()
142 __put_user_error(regs->uregs[22], &sf->uc.uc_mcontext.nds32_r22, err); in setup_sigframe()
143 __put_user_error(regs->uregs[23], &sf->uc.uc_mcontext.nds32_r23, err); in setup_sigframe()
144 __put_user_error(regs->uregs[24], &sf->uc.uc_mcontext.nds32_r24, err); in setup_sigframe()
145 __put_user_error(regs->uregs[25], &sf->uc.uc_mcontext.nds32_r25, err); in setup_sigframe()
146 __put_user_error(regs->fp, &sf->uc.uc_mcontext.nds32_fp, err); in setup_sigframe()
147 __put_user_error(regs->gp, &sf->uc.uc_mcontext.nds32_gp, err); in setup_sigframe()
148 __put_user_error(regs->lp, &sf->uc.uc_mcontext.nds32_lp, err); in setup_sigframe()
149 __put_user_error(regs->sp, &sf->uc.uc_mcontext.nds32_sp, err); in setup_sigframe()
150 __put_user_error(regs->ipc, &sf->uc.uc_mcontext.nds32_ipc, err); in setup_sigframe()
152 __put_user_error(regs->lc, &sf->uc.uc_mcontext.zol.nds32_lc, err); in setup_sigframe()
153 __put_user_error(regs->le, &sf->uc.uc_mcontext.zol.nds32_le, err); in setup_sigframe()
154 __put_user_error(regs->lb, &sf->uc.uc_mcontext.zol.nds32_lb, err); in setup_sigframe()
171 struct pt_regs *regs, int framesize) in get_sigframe() argument
176 sp = regs->sp; in get_sigframe()
197 setup_return(struct pt_regs *regs, struct ksignal *ksig, void __user * frame) in setup_return() argument
203 regs->uregs[0] = ksig->sig; in setup_return()
204 regs->sp = (unsigned long)frame; in setup_return()
205 regs->lp = retcode; in setup_return()
206 regs->ipc = handler; in setup_return()
212 setup_rt_frame(struct ksignal *ksig, sigset_t * set, struct pt_regs *regs) in setup_rt_frame() argument
215 get_sigframe(ksig, regs, sizeof(*frame)); in setup_rt_frame()
224 err |= __save_altstack(&frame->uc.uc_stack, regs->sp); in setup_rt_frame()
225 err |= setup_sigframe(frame, regs, set); in setup_rt_frame()
227 setup_return(regs, ksig, frame); in setup_rt_frame()
230 regs->uregs[1] = (unsigned long)&frame->info; in setup_rt_frame()
231 regs->uregs[2] = (unsigned long)&frame->uc; in setup_rt_frame()
240 static void handle_signal(struct ksignal *ksig, struct pt_regs *regs) in handle_signal() argument
245 if (in_syscall(regs)) { in handle_signal()
247 forget_syscall(regs); in handle_signal()
249 switch (regs->uregs[0]) { in handle_signal()
252 regs->uregs[0] = -EINTR; in handle_signal()
256 regs->uregs[0] = -EINTR; in handle_signal()
260 regs->uregs[0] = regs->orig_r0; in handle_signal()
261 regs->ipc -= 4; in handle_signal()
268 ret = setup_rt_frame(ksig, oldset, regs); in handle_signal()
282 static void do_signal(struct pt_regs *regs) in do_signal() argument
287 handle_signal(&ksig, regs); in do_signal()
294 if (in_syscall(regs)) { in do_signal()
298 forget_syscall(regs); in do_signal()
300 switch (regs->uregs[0]) { in do_signal()
302 regs->uregs[15] = __NR_restart_syscall; in do_signal()
306 regs->uregs[0] = regs->orig_r0; in do_signal()
307 regs->ipc -= 0x4; in do_signal()
315 do_notify_resume(struct pt_regs *regs, unsigned int thread_flags) in do_notify_resume() argument
318 do_signal(regs); in do_notify_resume()
322 tracehook_notify_resume(regs); in do_notify_resume()