Lines Matching refs:regs
49 get_user_ex(regs->x, &sc->x); \
59 regs->seg = GET_SEG(seg) | 3; \
70 static int ia32_restore_sigcontext(struct pt_regs *regs, in ia32_restore_sigcontext() argument
100 regs->flags = (regs->flags & ~FIX_EFLAGS) | (tmpflags & FIX_EFLAGS); in ia32_restore_sigcontext()
102 regs->orig_ax = -1; in ia32_restore_sigcontext()
117 struct pt_regs *regs = current_pt_regs(); in sys32_sigreturn() local
118 struct sigframe_ia32 __user *frame = (struct sigframe_ia32 __user *)(regs->sp-8); in sys32_sigreturn()
132 if (ia32_restore_sigcontext(regs, &frame->sc)) in sys32_sigreturn()
134 return regs->ax; in sys32_sigreturn()
137 signal_fault(regs, frame, "32bit sigreturn"); in sys32_sigreturn()
143 struct pt_regs *regs = current_pt_regs(); in sys32_rt_sigreturn() local
147 frame = (struct rt_sigframe_ia32 __user *)(regs->sp - 4); in sys32_rt_sigreturn()
156 if (ia32_restore_sigcontext(regs, &frame->uc.uc_mcontext)) in sys32_rt_sigreturn()
162 return regs->ax; in sys32_rt_sigreturn()
165 signal_fault(regs, frame, "32bit rt sigreturn"); in sys32_rt_sigreturn()
175 struct pt_regs *regs, unsigned int mask) in ia32_setup_sigcontext() argument
185 put_user_ex(regs->di, &sc->di); in ia32_setup_sigcontext()
186 put_user_ex(regs->si, &sc->si); in ia32_setup_sigcontext()
187 put_user_ex(regs->bp, &sc->bp); in ia32_setup_sigcontext()
188 put_user_ex(regs->sp, &sc->sp); in ia32_setup_sigcontext()
189 put_user_ex(regs->bx, &sc->bx); in ia32_setup_sigcontext()
190 put_user_ex(regs->dx, &sc->dx); in ia32_setup_sigcontext()
191 put_user_ex(regs->cx, &sc->cx); in ia32_setup_sigcontext()
192 put_user_ex(regs->ax, &sc->ax); in ia32_setup_sigcontext()
195 put_user_ex(regs->ip, &sc->ip); in ia32_setup_sigcontext()
196 put_user_ex(regs->cs, (unsigned int __user *)&sc->cs); in ia32_setup_sigcontext()
197 put_user_ex(regs->flags, &sc->flags); in ia32_setup_sigcontext()
198 put_user_ex(regs->sp, &sc->sp_at_signal); in ia32_setup_sigcontext()
199 put_user_ex(regs->ss, (unsigned int __user *)&sc->ss); in ia32_setup_sigcontext()
214 static void __user *get_sigframe(struct ksignal *ksig, struct pt_regs *regs, in get_sigframe() argument
222 sp = regs->sp; in get_sigframe()
228 else if ((regs->ss & 0xffff) != __USER32_DS && in get_sigframe()
251 compat_sigset_t *set, struct pt_regs *regs) in ia32_setup_frame() argument
269 frame = get_sigframe(ksig, regs, sizeof(*frame), &fpstate); in ia32_setup_frame()
277 if (ia32_setup_sigcontext(&frame->sc, fpstate, regs, set->sig[0])) in ia32_setup_frame()
311 regs->sp = (unsigned long) frame; in ia32_setup_frame()
312 regs->ip = (unsigned long) ksig->ka.sa.sa_handler; in ia32_setup_frame()
315 regs->ax = sig; in ia32_setup_frame()
316 regs->dx = 0; in ia32_setup_frame()
317 regs->cx = 0; in ia32_setup_frame()
322 regs->cs = __USER32_CS; in ia32_setup_frame()
323 regs->ss = __USER32_DS; in ia32_setup_frame()
329 compat_sigset_t *set, struct pt_regs *regs) in ia32_setup_rt_frame() argument
349 frame = get_sigframe(ksig, regs, sizeof(*frame), &fpstate); in ia32_setup_rt_frame()
365 compat_save_altstack_ex(&frame->uc.uc_stack, regs->sp); in ia32_setup_rt_frame()
383 regs, set->sig[0]); in ia32_setup_rt_frame()
390 regs->sp = (unsigned long) frame; in ia32_setup_rt_frame()
391 regs->ip = (unsigned long) ksig->ka.sa.sa_handler; in ia32_setup_rt_frame()
394 regs->ax = sig; in ia32_setup_rt_frame()
395 regs->dx = (unsigned long) &frame->info; in ia32_setup_rt_frame()
396 regs->cx = (unsigned long) &frame->uc; in ia32_setup_rt_frame()
401 regs->cs = __USER32_CS; in ia32_setup_rt_frame()
402 regs->ss = __USER32_DS; in ia32_setup_rt_frame()