Date: Mon, 8 May 2006 05:13:40 GMT From: Kip Macy <kmacy@FreeBSD.org> To: Perforce Change Reviews <perforce@freebsd.org> Subject: PERFORCE change 96814 for review Message-ID: <200605080513.k485Dek7010059@repoman.freebsd.org>
next in thread | raw e-mail | index | archive | help
http://perforce.freebsd.org/chv.cgi?CH=96814 Change 96814 by kmacy@kmacy_storage:sun4v_rwbuf on 2006/05/08 05:13:01 make sendsig more consistent with sparc64 Affected files ... .. //depot/projects/kmacy_sun4v/src/sys/sun4v/sun4v/machdep.c#22 edit Differences ... ==== //depot/projects/kmacy_sun4v/src/sys/sun4v/sun4v/machdep.c#22 (text+ko) ==== @@ -228,8 +228,6 @@ #ifdef notyet cpu_identify(rdpr(ver), tick_freq, PCPU_GET(cpuid)); -#else - printf("\tUltraSparc T1\n"); #endif } @@ -336,6 +334,9 @@ cninit(); tick_init(clock); + printf("cpu0: UltraSparc T1 Processor (%d.%02d MHz CPU)\n", + (clock + 4999) / 1000000, ((clock + 4999) / 10000) % 100); + /* * Panic is there is no metadata. Most likely the kernel was booted * directly, instead of through loader(8). @@ -521,12 +522,24 @@ /* Build the argument list for the signal handler. */ tf->tf_out[0] = sig; - tf->tf_out[1] = (register_t)&sfp->sf_si; tf->tf_out[2] = (register_t)&sfp->sf_uc; tf->tf_out[4] = (register_t)catcher; + /* Fill siginfo structure. */ sf.sf_si = ksi->ksi_info; sf.sf_si.si_addr = (void *)tf->tf_tpc; + if (SIGISMEMBER(psp->ps_siginfo, sig)) { + /* Signal handler installed with SA_SIGINFO. */ + tf->tf_out[1] = (register_t)&sfp->sf_si; + + /* Fill in POSIX parts. */ + sf.sf_si = ksi->ksi_info; + sf.sf_si.si_signo = sig; /* maybe a translated signal */ + } else { + /* Old FreeBSD-style arguments. */ + tf->tf_out[1] = ksi->ksi_code; + tf->tf_out[3] = (register_t)ksi->ksi_addr; + } /* Copy the sigframe out to the user's stack. */ if (rwindow_save(td) != 0 || copyout(&sf, sfp, sizeof(*sfp)) != 0 ||
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?200605080513.k485Dek7010059>