diff options
author | dfr <dfr@FreeBSD.org> | 1998-09-26 14:25:32 +0000 |
---|---|---|
committer | dfr <dfr@FreeBSD.org> | 1998-09-26 14:25:32 +0000 |
commit | 955fc8ee3e2621cd8072d1ac8c55d2765886b8c8 (patch) | |
tree | 90894d1783f85546590f48afbef8e017c98f93eb /sys/kern/kern_intr.c | |
parent | 75b8dc0791d26bedb8b8a01e74aff995a0c78068 (diff) | |
download | FreeBSD-src-955fc8ee3e2621cd8072d1ac8c55d2765886b8c8.zip FreeBSD-src-955fc8ee3e2621cd8072d1ac8c55d2765886b8c8.tar.gz |
Start using the new SWI registration system instead of hardwiring everything.
Diffstat (limited to 'sys/kern/kern_intr.c')
-rw-r--r-- | sys/kern/kern_intr.c | 22 |
1 files changed, 13 insertions, 9 deletions
diff --git a/sys/kern/kern_intr.c b/sys/kern/kern_intr.c index 03dc49b..2072637 100644 --- a/sys/kern/kern_intr.c +++ b/sys/kern/kern_intr.c @@ -23,16 +23,10 @@ * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF * THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. * - * $Id: kern_intr.c,v 1.18 1998/07/15 02:32:08 bde Exp $ + * $Id: kern_intr.c,v 1.19 1998/08/11 15:08:13 bde Exp $ * */ -#ifdef __i386__ - -/* - * This file is pretty i386 specific. I might be able to make it more - * portable in the future but for now turn it off for non-i386 ports. - */ #include <sys/types.h> #include <sys/malloc.h> @@ -44,13 +38,17 @@ #include <machine/ipl.h> +#ifdef __i386__ #include <i386/isa/icu.h> #include <i386/isa/intr_machdep.h> +#endif #include <sys/interrupt.h> #include <stddef.h> +#ifdef __i386__ + typedef struct intrec { intrmask_t mask; inthand2_t *handler; @@ -62,14 +60,19 @@ typedef struct intrec { int flags; } intrec; +static intrec *intreclist_head[NHWI]; + +#endif + struct swilist { swihand_t *sl_handler; struct swilist *sl_next; }; -static intrec *intreclist_head[NHWI]; static struct swilist swilists[NSWI]; +#ifdef __i386__ + /* * The interrupt multiplexer calls each of the handlers in turn, * and applies the associated interrupt mask to "cpl", which is @@ -443,6 +446,8 @@ unregister_intr(int intr, inthand2_t handler) return (EINVAL); } +#endif /* __i386__ */ + void register_swi(intr, handler) int intr; @@ -528,4 +533,3 @@ unregister_swi(intr, handler) splx(s); } -#endif /* __i386__ */ |