summaryrefslogtreecommitdiffstats
path: root/sys/i386/isa/icu.h
diff options
context:
space:
mode:
authornyan <nyan@FreeBSD.org>2002-04-06 08:25:05 +0000
committernyan <nyan@FreeBSD.org>2002-04-06 08:25:05 +0000
commitef85d07531599770eab3430ab06dbed7a570437e (patch)
tree1314cf8a23d1e1eab69e9db6057afd2204a3b110 /sys/i386/isa/icu.h
parent368d0d1e581f091518fc1a39cefba6022adc9be8 (diff)
downloadFreeBSD-src-ef85d07531599770eab3430ab06dbed7a570437e.zip
FreeBSD-src-ef85d07531599770eab3430ab06dbed7a570437e.tar.gz
Move ICU_* defines into icu.h.
Diffstat (limited to 'sys/i386/isa/icu.h')
-rw-r--r--sys/i386/isa/icu.h34
1 files changed, 28 insertions, 6 deletions
diff --git a/sys/i386/isa/icu.h b/sys/i386/isa/icu.h
index b73495a..82e084f 100644
--- a/sys/i386/isa/icu.h
+++ b/sys/i386/isa/icu.h
@@ -80,6 +80,25 @@ extern unsigned imen; /* interrupt mask enable */
/*
* Interrupt enable bits - in normal order of priority (which we change)
*/
+#ifdef PC98
+#define IRQ0 0x0001
+#define IRQ1 0x0002
+#define IRQ2 0x0004
+#define IRQ3 0x0008
+#define IRQ4 0x0010
+#define IRQ5 0x0020
+#define IRQ6 0x0040
+#define IRQ7 0x0080
+#define IRQ_SLAVE 0x0080
+#define IRQ8 0x0100
+#define IRQ9 0x0200
+#define IRQ10 0x0400
+#define IRQ11 0x0800
+#define IRQ12 0x1000
+#define IRQ13 0x2000
+#define IRQ14 0x4000
+#define IRQ15 0x8000
+#else
#define IRQ0 0x0001 /* highest priority - timer */
#define IRQ1 0x0002
#define IRQ_SLAVE 0x0004
@@ -97,12 +116,6 @@ extern unsigned imen; /* interrupt mask enable */
#define IRQ5 0x0020
#define IRQ6 0x0040
#define IRQ7 0x0080 /* lowest - parallel printer */
-
-#ifdef PC98
-#undef IRQ2
-#define IRQ2 0x0004
-#undef IRQ_SLAVE
-#define IRQ_SLAVE 0x0080
#endif
/*
@@ -110,6 +123,15 @@ extern unsigned imen; /* interrupt mask enable */
*/
#define ICU_OFFSET 32 /* 0-31 are processor exceptions */
+#ifdef PC98
+#define ICU_IMR_OFFSET 2
+#define ICU_SLAVEID 7
+#else
+#define ICU_IMR_OFFSET 1
+#define ICU_SLAVEID 2
+#endif
+#define ICU_EOI 0x20
+
#ifdef APIC_IO
/* 32-47: ISA IRQ0-IRQ15, 48-63: IO APIC IRQ16-IRQ31 */
OpenPOWER on IntegriCloud