Unstaticized addupc_task(). It is supposed to be called from trap().

See the comments for addupc_intr() and the NetBSD implementation.
We use dummy versions of fuswintr() and susiwintr(), so addupc_intr()
always pushes the work to trap() (this is inefficient), and trap()
calls the special i386 function addupc() instead of addupc_task().
addupc() is more efficient than addupc_intr(), so some of the lost
efficiency is recovered.  However, addupc() may be broken on plain
i386's since it doesn't check for write permission like copyout().
This commit is contained in:
Bruce Evans 1995-12-26 01:21:39 +00:00
parent 80c07b6665
commit 037d027c92
Notes: svn2git 2020-12-20 02:59:44 +00:00
svn path=/head/; revision=13017

View File

@ -31,7 +31,7 @@
* SUCH DAMAGE.
*
* @(#)subr_prof.c 8.3 (Berkeley) 9/23/93
* $Id: subr_prof.c,v 1.13 1995/12/06 23:37:15 bde Exp $
* $Id: subr_prof.c,v 1.14 1995/12/14 08:31:44 phk Exp $
*/
#include <sys/param.h>
@ -235,7 +235,7 @@ addupc_intr(p, pc, ticks)
* Much like before, but we can afford to take faults here. If the
* update fails, we simply turn off profiling.
*/
static void
void
addupc_task(p, pc, ticks)
register struct proc *p;
register u_long pc;