Skip site navigation (1)Skip section navigation (2)
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>