Lines Matching refs:regs

134 static void show_segv_info(struct uml_pt_regs *regs)
137 struct faultinfo *fi = UPT_FAULTINFO(regs);
148 (void *)UPT_IP(regs), (void *)UPT_SP(regs),
151 print_vma_addr(KERN_CONT " in ", UPT_IP(regs));
164 do_signal(&current->thread.regs);
177 * @regs: the ptrace register information
179 * The handler first extracts the faultinfo from the UML ptrace regs struct.
183 void segv_handler(int sig, struct siginfo *unused_si, struct uml_pt_regs *regs)
185 struct faultinfo * fi = UPT_FAULTINFO(regs);
187 if (UPT_IS_USER(regs) && !SEGV_IS_FIXABLE(fi)) {
188 show_segv_info(regs);
189 bad_segv(*fi, UPT_IP(regs));
192 segv(*fi, UPT_IP(regs), UPT_IS_USER(regs), regs);
196 * We give a *copy* of the faultinfo in the regs to segv.
198 * the info in the regs. A pointer to the info then would
202 struct uml_pt_regs *regs)
210 if (!is_user && regs)
211 current->thread.segv_regs = container_of(regs, struct pt_regs, regs);
218 show_regs(container_of(regs, struct pt_regs, regs));
222 show_regs(container_of(regs, struct pt_regs, regs));
249 else if (!is_user && arch_fixup(ip, regs))
253 show_regs(container_of(regs, struct pt_regs, regs));
258 show_segv_info(regs);
270 if (regs)
276 void relay_signal(int sig, struct siginfo *si, struct uml_pt_regs *regs)
279 if (!UPT_IS_USER(regs)) {
286 arch_examine_signal(sig, regs);
294 struct faultinfo *fi = UPT_FAULTINFO(regs);
304 void bus_handler(int sig, struct siginfo *si, struct uml_pt_regs *regs)
309 relay_signal(sig, si, regs);
312 void winch(int sig, struct siginfo *unused_si, struct uml_pt_regs *regs)
314 do_IRQ(WINCH_IRQ, regs);