summaryrefslogtreecommitdiff
path: root/sys/arch/amiga/isa/ggbusvar.h
diff options
context:
space:
mode:
authorNiklas Hallqvist <niklas@cvs.openbsd.org>1996-04-27 18:39:08 +0000
committerNiklas Hallqvist <niklas@cvs.openbsd.org>1996-04-27 18:39:08 +0000
commit61aa6f7b30e536382606a49e9a65374b125db338 (patch)
treebe587186b2f38f6fce1900c5bb71acadd3120a8f /sys/arch/amiga/isa/ggbusvar.h
parent8d6a67b28c750bb5eb69cca28d6e787b1f57336f (diff)
Bring forward the Amiga ISA support, and resolve a conflict with if_ed
Diffstat (limited to 'sys/arch/amiga/isa/ggbusvar.h')
-rw-r--r--sys/arch/amiga/isa/ggbusvar.h45
1 files changed, 32 insertions, 13 deletions
diff --git a/sys/arch/amiga/isa/ggbusvar.h b/sys/arch/amiga/isa/ggbusvar.h
index 1036b58411b..8bc8525f61a 100644
--- a/sys/arch/amiga/isa/ggbusvar.h
+++ b/sys/arch/amiga/isa/ggbusvar.h
@@ -1,7 +1,7 @@
-/* $NetBSD: ggbusvar.h,v 1.1 1994/07/08 23:32:17 niklas Exp $ */
+/* $OpenBSD: ggbusvar.h,v 1.2 1996/04/27 18:39:00 niklas Exp $ */
/*
- * Copyright (c) 1994, 1995 Niklas Hallqvist
+ * Copyright (c) 1994, 1995, 1996 Niklas Hallqvist
* All rights reserved.
*
* Redistribution and use in source and binary forms, with or without
@@ -29,22 +29,41 @@
* (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF
* THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
*/
+
#ifndef _GGBUSVAR_H_
#define _GGBUSVAR_H_
-struct ggbus_device {
- struct device gd_dev;
- struct zbus_args gd_zargs;
- struct isa_link gd_link;
- int (*gd_ifunc[16])();
- void *gd_iarg[16];
- int gd_ipri[16];
- int gd_imask;
- struct isr gd_isr;
+/*
+ * Interrupt handler chains. ggbus_intr_establish() inserts a handler into
+ * the list. The handler is called with its (single) argument.
+ */
+struct intrhand {
+ struct intrhand *ih_next;
+ int (*ih_fun)();
+ void *ih_arg;
+ u_long ih_count;
+ int ih_irq;
+ char *ih_what;
+
+ struct isr ih_isr;
+ u_int16_t ih_mask;
+ volatile u_int16_t *ih_status;
};
-extern int ggdebug;
+#define ICU_LEN 16 /* number of ISA IRQs (XXX) */
-#endif
+struct ggbus_softc {
+ struct device sc_dev;
+ struct zbus_args sc_zargs;
+ struct intrhand *sc_ih[ICU_LEN];
+ int sc_intrsharetype[ICU_LEN];
+ volatile u_int16_t *sc_status;
+ struct amiga_bus_chipset sc_bc;
+ struct amiga_isa_chipset sc_ic;
+};
+
+extern int ggdebug;
+
+#endif