diff options
author | Doug Rabson <dfr@FreeBSD.org> | 1998-08-10 07:53:59 +0000 |
---|---|---|
committer | Doug Rabson <dfr@FreeBSD.org> | 1998-08-10 07:53:59 +0000 |
commit | 8a7b91802a292af8d6cbd43635c23de9581cbc47 (patch) | |
tree | b30b008e530fcdbf36bdbb02f5c27afd720d8a61 /sys/alpha/isa | |
parent | 22126f42082e6c63963b43e8a977d8bf03e2b474 (diff) | |
download | src-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.c | 16 |
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); |