Source-Changes-HG archive
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index][Old Index]
[src/netbsd-1-5]: src/sys/arch/mvme68k/mvme68k Pullup from trunk: 1.43
details: https://anonhg.NetBSD.org/src/rev/80a47ab1c6fe
branches: netbsd-1-5
changeset: 488658:80a47ab1c6fe
user: scw <scw%NetBSD.org@localhost>
date: Sat Jul 22 15:51:12 2000 +0000
description:
Pullup from trunk: 1.43
Approved by: thorpej
Implement generic soft interrupts for mvme68k.
diffstat:
sys/arch/mvme68k/mvme68k/trap.c | 45 ++--------------------------------------
1 files changed, 3 insertions(+), 42 deletions(-)
diffs (77 lines):
diff -r d0e0c305b48f -r 80a47ab1c6fe sys/arch/mvme68k/mvme68k/trap.c
--- a/sys/arch/mvme68k/mvme68k/trap.c Sat Jul 22 15:50:44 2000 +0000
+++ b/sys/arch/mvme68k/mvme68k/trap.c Sat Jul 22 15:51:12 2000 +0000
@@ -1,4 +1,4 @@
-/* $NetBSD: trap.c,v 1.40 2000/06/06 18:52:42 soren Exp $ */
+/* $NetBSD: trap.c,v 1.40.2.1 2000/07/22 15:51:12 scw Exp $ */
/*
* Copyright (c) 1988 University of Utah.
@@ -191,11 +191,6 @@
#endif
-#define NSIR 8
-void (*sir_routines[NSIR])(void *);
-void *sir_args[NSIR];
-int next_sir;
-
/*
* trap and syscall both need the following work done before returning
* to user mode.
@@ -283,7 +278,6 @@
int i, s;
u_int ucode;
u_quad_t sticks = 0 /* XXX initialiser works around compiler bug */;
- int bit;
uvmexp.traps++;
p = curproc;
@@ -530,13 +524,8 @@
case T_SSIR: /* software interrupt */
case T_SSIR|T_USER:
- while ((bit = ffs(ssir))) {
- --bit;
- ssir &= ~(1 << bit);
- uvmexp.softs++;
- if (sir_routines[bit])
- sir_routines[bit](sir_args[bit]);
- }
+ softintr_dispatch();
+
/*
* If this was not an AST trap, we are all done.
*/
@@ -1192,31 +1181,3 @@
ktrsysret(p, SYS_fork, 0, 0);
#endif
}
-
-/*
- * Allocation routines for software interrupts.
- */
-u_long
-allocate_sir(proc, arg)
- void (*proc)(void *);
- void *arg;
-{
- int bit;
-
- if( next_sir >= NSIR )
- panic("allocate_sir: none left");
- bit = next_sir++;
- sir_routines[bit] = proc;
- sir_args[bit] = arg;
- return (1 << bit);
-}
-
-void
-init_sir()
-{
- extern void netintr __P((void));
-
- sir_routines[0] = (void (*)(void *))netintr;
- sir_routines[1] = (void (*)(void *))softclock;
- next_sir = 2;
-}
Home |
Main Index |
Thread Index |
Old Index