diff options
author | Miod Vallat <miod@cvs.openbsd.org> | 2002-05-02 22:56:08 +0000 |
---|---|---|
committer | Miod Vallat <miod@cvs.openbsd.org> | 2002-05-02 22:56:08 +0000 |
commit | f69ff2bae348f49f6e5fccbf1594b839e98792ef (patch) | |
tree | 984c07207f03eebcb847988db98df196a848c27e /sys/dev/tc/ioasicvar.h | |
parent | d7aff648af7518e317842f78e06a3d197eca9629 (diff) |
Big TURBOchannel support catchup from NetBSD, part 1.
A few local changes and tweaks remain.
This bring DEC 3000 machines back in the game, but framebuffers are still
not supported at the moment.
Thanks to ericj@ and nate@ for supplying me a DEC 3000 for testing.
Diffstat (limited to 'sys/dev/tc/ioasicvar.h')
-rw-r--r-- | sys/dev/tc/ioasicvar.h | 51 |
1 files changed, 27 insertions, 24 deletions
diff --git a/sys/dev/tc/ioasicvar.h b/sys/dev/tc/ioasicvar.h index fe00a3fe465..09b95ac8414 100644 --- a/sys/dev/tc/ioasicvar.h +++ b/sys/dev/tc/ioasicvar.h @@ -1,5 +1,5 @@ -/* $OpenBSD: ioasicvar.h,v 1.5 2002/03/14 03:16:08 millert Exp $ */ -/* $NetBSD: ioasicvar.h,v 1.2 1996/03/17 21:37:45 jonathan Exp $ */ +/* $OpenBSD: ioasicvar.h,v 1.6 2002/05/02 22:56:06 miod Exp $ */ +/* $NetBSD: ioasicvar.h,v 1.14 2000/10/17 09:45:49 nisimura Exp $ */ /* * Copyright (c) 1995 Carnegie-Mellon University. @@ -28,11 +28,16 @@ * rights to redistribute these changes. */ -/* - * IOASIC subdevice attachment information. - */ +#ifndef _DEV_TC_IOASICVAR_H_ +#define _DEV_TC_IOASICVAR_H_ + +struct ioasic_dev { + char *iad_modname; + tc_offset_t iad_offset; + void *iad_cookie; + u_int32_t iad_intrbits; +}; -/* Attachment arguments. */ struct ioasicdev_attach_args { char iada_modname[TC_ROM_LLEN]; tc_offset_t iada_offset; @@ -45,30 +50,28 @@ struct ioasicdev_attach_args { #define IOASIC_OFFSET_UNKNOWN -1 -/* - * The IOASIC (bus) cfdriver, so that subdevices can more - * easily tell what bus they're on. - */ -extern struct cfdriver ioasic_cd; +struct ioasic_softc { + struct device sc_dv; + bus_space_tag_t sc_bst; + bus_space_handle_t sc_bsh; + bus_dma_tag_t sc_dmat; + + tc_addr_t sc_base; /* XXX offset XXX */ +}; +extern struct cfdriver ioasic_cd; /* * XXX Some drivers need direct access to IOASIC registers. */ extern tc_addr_t ioasic_base; - -/* - * Interrupt establishment/disestablishment functions - */ -void ioasic_intr_establish(struct device *, void *, tc_intrlevel_t, - int (*)(void *), void *); +const struct evcnt *ioasic_intr_evcnt(struct device *, void *); +void ioasic_intr_establish(struct device *, void *, + int, int (*)(void *), void *); void ioasic_intr_disestablish(struct device *, void *); +int ioasic_submatch(void *, struct ioasicdev_attach_args *); +void ioasic_attach_devs(struct ioasic_softc *, + struct ioasic_dev *, int); - -/* - * Miscellaneous helper functions. - */ -int ioasic_submatch(struct cfdata *, struct ioasicdev_attach_args *); -char *ioasic_lance_ether_address(void); -void ioasic_lance_dma_setup(void *); +#endif /* _DEV_TC_IOASICVAR_ */ |