Date: Wed, 22 Mar 2006 17:02:54 GMT From: Kip Macy <kmacy@FreeBSD.org> To: Perforce Change Reviews <perforce@freebsd.org> Subject: PERFORCE change 93799 for review Message-ID: <200603221702.k2MH2sUG078634@repoman.freebsd.org>
next in thread | raw e-mail | index | archive | help
http://perforce.freebsd.org/chv.cgi?CH=93799 Change 93799 by kmacy@kmacy_storage:sun4vtmp on 2006/03/22 17:02:49 fix signal handling - trapframe and mcontext need to match up si_addr should point to trap pc Affected files ... .. //depot/projects/kmacy_sun4v/src/sys/sun4v/include/frame.h#3 edit .. //depot/projects/kmacy_sun4v/src/sys/sun4v/sun4v/machdep.c#17 edit Differences ... ==== //depot/projects/kmacy_sun4v/src/sys/sun4v/include/frame.h#3 (text+ko) ==== @@ -39,16 +39,22 @@ struct trapframe { uint64_t tf_global[8]; uint64_t tf_out[8]; - uint64_t tf_pad[8]; uint64_t tf_fprs; uint64_t tf_fsr; uint64_t tf_gsr; + uint64_t tf_pad0[1]; uint64_t tf_pil; + uint64_t tf_pad1[3]; + uint64_t tf_tnpc; uint64_t tf_tpc; - uint64_t tf_tnpc; uint64_t tf_tstate; + uint64_t tf_pad2[2]; uint64_t tf_wstate; + uint64_t tf_pad3[2]; }; +/* extra padding can go away once we re-shuffle user-land mcontext + */ + #define tf_sp tf_out[6] #define TF_DONE(tf) do { \ ==== //depot/projects/kmacy_sun4v/src/sys/sun4v/sun4v/machdep.c#17 (text+ko) ==== @@ -515,11 +515,8 @@ tf->tf_out[4] = (register_t)catcher; /* Fill siginfo structure. */ sf.sf_si = ksi->ksi_info; -#ifdef notyet - sf.sf_si.si_addr = (void *)tf->tf_sfar; /* XXX */ -#else - printf("sendsig %d to %s\n", sig, p->p_comm); -#endif + sf.sf_si.si_addr = (void *)tf->tf_tpc; + /* Copy the sigframe out to the user's stack. */ if (rwindow_save(td) != 0 || copyout(&sf, sfp, sizeof(*sfp)) != 0 || suword(&fp->fr_in[6], tf->tf_out[6]) != 0) {
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?200603221702.k2MH2sUG078634>