diff options
author | Miod Vallat <miod@cvs.openbsd.org> | 2007-12-27 23:17:56 +0000 |
---|---|---|
committer | Miod Vallat <miod@cvs.openbsd.org> | 2007-12-27 23:17:56 +0000 |
commit | 0b552f13bb1905c111af11d467690ad86c7a49e4 (patch) | |
tree | 690f82b33abb7db011da50d55cb5ac3fb77a8a1f /sys/arch/mvme88k/dev/vme.c | |
parent | 163d41559daae436002bd103f177a5c9caaf9d8d (diff) |
Make the mvme188 interrupt handling closer to the aviion interrupt handling:
non-VME syscon interrupt sources will now use their own intrhand array,
and interrupt sources will be enabled in the arbiter as interrupt handlers
are registered. This allows VME devices to use the whole 256 interrupts range.
Diffstat (limited to 'sys/arch/mvme88k/dev/vme.c')
-rw-r--r-- | sys/arch/mvme88k/dev/vme.c | 9 |
1 files changed, 4 insertions, 5 deletions
diff --git a/sys/arch/mvme88k/dev/vme.c b/sys/arch/mvme88k/dev/vme.c index 59a5d7e6b04..7e1a07a13ad 100644 --- a/sys/arch/mvme88k/dev/vme.c +++ b/sys/arch/mvme88k/dev/vme.c @@ -1,4 +1,4 @@ -/* $OpenBSD: vme.c,v 1.47 2007/11/17 05:33:38 miod Exp $ */ +/* $OpenBSD: vme.c,v 1.48 2007/12/27 23:17:53 miod Exp $ */ /* * Copyright (c) 2004, Miodrag Vallat. * Copyright (c) 1999 Steve Murphree, Jr. @@ -44,7 +44,7 @@ #include <mvme88k/dev/vme.h> #if NSYSCON > 0 #include <machine/mvme188.h> -#include <mvme88k/dev/sysconreg.h> +#include <mvme88k/dev/sysconvar.h> #endif int vmematch(struct device *, void *, void *); @@ -54,7 +54,6 @@ void vme2chip_init(struct vmesoftc *); void vmesyscon_init(struct vmesoftc *); u_long vme2chip_map(u_long, int); int vme2abort(void *); -int sysconabort(void *); int vmeprint(void *, const char *); int vmebustype; @@ -192,7 +191,7 @@ vmeprint(args, bus) printf(" addr 0x%x", ca->ca_paddr); if (ca->ca_ipl > 0) printf(" ipl %d", ca->ca_ipl); - if (ca->ca_vec > 0) + if (ca->ca_vec >= 0) printf(" vec 0x%x", ca->ca_vec); return (UNCONF); } @@ -275,7 +274,7 @@ vmeattach(parent, self, args) { u_int8_t sconc; - vmevecbase = 0x60; /* Hard coded for MVME188 */ + vmevecbase = 0; /* all vectors available */ sconc = *(volatile u_int8_t *)MVME188_GLOBAL1; if (ISSET(sconc, M188_SYSCON)) printf(": system controller"); |