From owner-p4-projects@FreeBSD.ORG Wed Mar 22 17:11:44 2006 Return-Path: X-Original-To: p4-projects@freebsd.org Delivered-To: p4-projects@freebsd.org Received: by hub.freebsd.org (Postfix, from userid 32767) id 3A9BF16A431; Wed, 22 Mar 2006 17:11:44 +0000 (UTC) X-Original-To: perforce@freebsd.org Delivered-To: perforce@freebsd.org Received: from mx1.FreeBSD.org (mx1.freebsd.org [216.136.204.125]) by hub.freebsd.org (Postfix) with ESMTP id 07BD216A426 for ; Wed, 22 Mar 2006 17:11:44 +0000 (UTC) (envelope-from kmacy@freebsd.org) Received: from repoman.freebsd.org (repoman.freebsd.org [216.136.204.115]) by mx1.FreeBSD.org (Postfix) with ESMTP id CB0EE43E4A for ; Wed, 22 Mar 2006 17:10:29 +0000 (GMT) (envelope-from kmacy@freebsd.org) Received: from repoman.freebsd.org (localhost [127.0.0.1]) by repoman.freebsd.org (8.13.1/8.13.1) with ESMTP id k2MH2smx078637 for ; Wed, 22 Mar 2006 17:02:54 GMT (envelope-from kmacy@freebsd.org) Received: (from perforce@localhost) by repoman.freebsd.org (8.13.1/8.13.1/Submit) id k2MH2sUG078634 for perforce@freebsd.org; Wed, 22 Mar 2006 17:02:54 GMT (envelope-from kmacy@freebsd.org) Date: Wed, 22 Mar 2006 17:02:54 GMT Message-Id: <200603221702.k2MH2sUG078634@repoman.freebsd.org> X-Authentication-Warning: repoman.freebsd.org: perforce set sender to kmacy@freebsd.org using -f From: Kip Macy To: Perforce Change Reviews Cc: Subject: PERFORCE change 93799 for review X-BeenThere: p4-projects@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: p4 projects tree changes List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Wed, 22 Mar 2006 17:11:44 -0000 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) {