aboutsummaryrefslogtreecommitdiff
path: root/sys/alpha/isa
diff options
context:
space:
mode:
authorDoug Rabson <dfr@FreeBSD.org>1998-08-10 07:53:59 +0000
committerDoug Rabson <dfr@FreeBSD.org>1998-08-10 07:53:59 +0000
commit8a7b91802a292af8d6cbd43635c23de9581cbc47 (patch)
treeb30b008e530fcdbf36bdbb02f5c27afd720d8a61 /sys/alpha/isa
parent22126f42082e6c63963b43e8a977d8bf03e2b474 (diff)
downloadsrc-8a7b91802a292af8d6cbd43635c23de9581cbc47.tar.gz
src-8a7b91802a292af8d6cbd43635c23de9581cbc47.zip
Lots of changes, including:
* Support for AlphaStation 200, 250, 255, 400 * Untested support for UDB, Multia, AXPpci33 (Noname) * Support for Personal Workstation 433a/433au, 500a/500au, 600a/600au (Miata) * Some minor fixes and improvements to interrupt handling. Submitted by: Andrew Gallatin <gallatin@cs.duke.edu> (AS200, Miata) Obtained from: NetBSD (some code for AS200, Miata, Noname)
Notes
Notes: svn path=/head/; revision=38215
Diffstat (limited to 'sys/alpha/isa')
-rw-r--r--sys/alpha/isa/isa.c16
1 files changed, 11 insertions, 5 deletions
diff --git a/sys/alpha/isa/isa.c b/sys/alpha/isa/isa.c
index 713fc1ba0eec..e421f71d9539 100644
--- a/sys/alpha/isa/isa.c
+++ b/sys/alpha/isa/isa.c
@@ -23,7 +23,7 @@
* OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
* SUCH DAMAGE.
*
- * $Id: isa.c,v 1.1 1998/07/22 08:29:26 dfr Exp $
+ * $Id: isa.c,v 1.2 1998/07/27 09:38:26 dfr Exp $
*/
#include <sys/param.h>
@@ -274,6 +274,11 @@ struct isa_intr {
int irq;
};
+/*
+ * Wrap ISA interrupt routines so that we can feed non-specific
+ * EOI to the PICs.
+ */
+
static void
isa_handle_intr(void *arg)
{
@@ -300,9 +305,8 @@ isa_create_intr(device_t dev, device_t child, int irq,
ii->intr = intr;
ii->arg = arg;
ii->irq = irq;
- ii->ih = BUS_CREATE_INTR(device_get_parent(dev), dev,
- 0x800 + (irq << 4),
- isa_handle_intr, ii);
+ ii->ih = alpha_create_intr(0x800 + (irq << 4), isa_handle_intr, ii);
+
if (!ii->ih) {
free(ii, M_DEVBUF);
return NULL;
@@ -318,7 +322,9 @@ isa_connect_intr(device_t dev, void *ih)
struct alpha_intr *i = ii->ih;
isa_intr_enable(ii->irq);
- return BUS_CONNECT_INTR(device_get_parent(dev), ii->ih);
+ return alpha_connect_intr(i);
}
DRIVER_MODULE(isa, cia, isa_driver, isa_devclass, 0, 0);
+DRIVER_MODULE(isa, apecs, isa_driver, isa_devclass, 0, 0);
+DRIVER_MODULE(isa, lca, isa_driver, isa_devclass, 0, 0);