eisa_machdep.h revision 1.6
11.6Scgd/*	$NetBSD: eisa_machdep.h,v 1.6 2000/06/01 00:04:51 cgd Exp $	*/
21.1Scgd
31.1Scgd/*
41.1Scgd * Copyright (c) 1996 Christopher G. Demetriou.  All rights reserved.
51.1Scgd *
61.1Scgd * Redistribution and use in source and binary forms, with or without
71.1Scgd * modification, are permitted provided that the following conditions
81.1Scgd * are met:
91.1Scgd * 1. Redistributions of source code must retain the above copyright
101.1Scgd *    notice, this list of conditions and the following disclaimer.
111.1Scgd * 2. Redistributions in binary form must reproduce the above copyright
121.1Scgd *    notice, this list of conditions and the following disclaimer in the
131.1Scgd *    documentation and/or other materials provided with the distribution.
141.1Scgd * 3. All advertising materials mentioning features or use of this software
151.1Scgd *    must display the following acknowledgement:
161.1Scgd *      This product includes software developed by Christopher G. Demetriou
171.1Scgd *	for the NetBSD Project.
181.1Scgd * 4. The name of the author may not be used to endorse or promote products
191.1Scgd *    derived from this software without specific prior written permission
201.1Scgd *
211.1Scgd * THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' AND ANY EXPRESS OR
221.1Scgd * IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES
231.1Scgd * OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED.
241.1Scgd * IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY DIRECT, INDIRECT,
251.1Scgd * INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT
261.1Scgd * NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
271.1Scgd * DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
281.1Scgd * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
291.1Scgd * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF
301.1Scgd * THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
311.1Scgd */
321.1Scgd
331.1Scgd/*
341.2Scgd * Machine-specific definitions for EISA autoconfiguration.
351.2Scgd */
361.2Scgd
371.2Scgd/*
381.2Scgd * i386-specific EISA definitions.
391.2Scgd * NOT TO BE USED DIRECTLY BY MACHINE INDEPENDENT CODE.
401.1Scgd */
411.1Scgd#define	EISA_ID			"EISA"
421.1Scgd#define	EISA_ID_LEN		(sizeof(EISA_ID) - 1)
431.1Scgd#define	EISA_ID_PADDR		0xfffd9
441.4Sthorpej
451.4Sthorpejextern struct i386_bus_dma_tag eisa_bus_dma_tag;
461.2Scgd
471.2Scgd/*
481.2Scgd * Types provided to machine-independent EISA code.
491.2Scgd */
501.2Scgdtypedef void *eisa_chipset_tag_t;
511.2Scgdtypedef int eisa_intr_handle_t;
521.2Scgd
531.2Scgd/*
541.2Scgd * Functions provided to machine-independent EISA code.
551.2Scgd */
561.6Scgdvoid		eisa_attach_hook(struct device *, struct device *,
571.6Scgd		    struct eisabus_attach_args *);
581.6Scgdint		eisa_maxslots(eisa_chipset_tag_t);
591.6Scgdint		eisa_intr_map(eisa_chipset_tag_t, u_int,
601.6Scgd		    eisa_intr_handle_t *);
611.6Scgdconst char	*eisa_intr_string(eisa_chipset_tag_t, eisa_intr_handle_t);
621.6Scgdvoid		*eisa_intr_establish(eisa_chipset_tag_t,
631.6Scgd		    eisa_intr_handle_t, int, int, int (*)(void *), void *);
641.6Scgdvoid		eisa_intr_disestablish(eisa_chipset_tag_t, void *);
651.6Scgdint		eisa_mem_alloc(bus_space_tag_t, bus_size_t, bus_size_t,
661.6Scgd		    bus_addr_t, int, bus_addr_t *, bus_space_handle_t *);
671.6Scgdvoid		eisa_mem_free(bus_space_tag_t, bus_space_handle_t,
681.6Scgd		    bus_size_t);
69