summaryrefslogtreecommitdiffstats
path: root/sys/i386/isa/isa_device.h
diff options
context:
space:
mode:
authorse <se@FreeBSD.org>1997-05-26 14:42:24 +0000
committerse <se@FreeBSD.org>1997-05-26 14:42:24 +0000
commitd1289ee1992df1126367e01c2b668cb781a5bc2a (patch)
tree7a106565e3719575cd165987007e9fc276e198af /sys/i386/isa/isa_device.h
parenta201b8ac68687823a59787419197aa1c621886d1 (diff)
downloadFreeBSD-src-d1289ee1992df1126367e01c2b668cb781a5bc2a.zip
FreeBSD-src-d1289ee1992df1126367e01c2b668cb781a5bc2a.tar.gz
Add support for shared interrupts to the kernel. This code is meant
be (eventually) architecture independent. It provides an emulation of the ISA interrupt registration function register_intr(), but that function does no longer manipulated the interrupt controller and interrupt descriptor table, but calls the architecture dependent function setup_icu() for that purpose. After the ISA/EISA bus code has been modified to directly call the new interrupt registartion functions (intr_create() and intr_connect()), the emulation of register_intr() should be dropped. The C level interrupt handler function should take a (void*) argument, and the function pointer type (inthand2_t) should defined in some other place than isa_device.h. This commit is a pre-requisite for the removal of the PCI specific shared interrupt code. Reviewed by: dfr,bde
Diffstat (limited to 'sys/i386/isa/isa_device.h')
-rw-r--r--sys/i386/isa/isa_device.h11
1 files changed, 6 insertions, 5 deletions
diff --git a/sys/i386/isa/isa_device.h b/sys/i386/isa/isa_device.h
index 5f91688..832bf81 100644
--- a/sys/i386/isa/isa_device.h
+++ b/sys/i386/isa/isa_device.h
@@ -31,7 +31,7 @@
* SUCH DAMAGE.
*
* from: @(#)isa_device.h 7.1 (Berkeley) 5/9/91
- * $Id: isa_device.h,v 1.38 1997/04/26 19:26:37 peter Exp $
+ * $Id: isa_device.h,v 1.39 1997/04/27 21:18:58 fsmp Exp $
*/
#ifndef _I386_ISA_ISA_DEVICE_H_
@@ -171,13 +171,14 @@ void isa_dmastart __P((int flags, caddr_t addr, u_int nbytes, int chan));
int isa_dma_acquire __P((int chan));
void isa_dma_release __P((int chan));
int isa_irq_pending __P((struct isa_device *dvp));
-/* this functions ONLY exists in an SMP/APIC_IO kernel: */
+/* this function ONLY exists in an SMP/APIC_IO kernel: */
int icu_irq_pending __P((struct isa_device *dvp));
int isa_nmi __P((int cd));
void reconfig_isadev __P((struct isa_device *isdp, u_int *mp));
-int register_intr __P((int intr, int device_id, u_int flags,
- inthand2_t *handler, u_int *maskptr, int unit));
-int unregister_intr __P((int intr, inthand2_t *handler));
+void update_intrname __P((int intr, int device_id));
+int icu_setup __P((int intr, inthand2_t *func, void *arg,
+ u_int *maskptr, int flags));
+int icu_unset __P((int intr, inthand2_t *handler));
int update_intr_masks __P((void));
#endif /* KERNEL */
OpenPOWER on IntegriCloud