summaryrefslogtreecommitdiffstats
path: root/sys/i386/isa/vector.s
diff options
context:
space:
mode:
authorasami <asami@FreeBSD.org>1996-10-30 22:41:46 +0000
committerasami <asami@FreeBSD.org>1996-10-30 22:41:46 +0000
commit95ac832055c11e8031e18bcc9759b2d12b654e9b (patch)
tree37f74d6fdf54e31c6c6d69a11d50e299cd0a1118 /sys/i386/isa/vector.s
parente1b78916a4b8d96475ebaa0033860c706702fe49 (diff)
downloadFreeBSD-src-95ac832055c11e8031e18bcc9759b2d12b654e9b.zip
FreeBSD-src-95ac832055c11e8031e18bcc9759b2d12b654e9b.tar.gz
More merge and update.
(1) deleted #if 0 pc98/pc98/mse.c (2) hold per-unit I/O ports in ed_softc pc98/pc98/if_ed.c pc98/pc98/if_ed98.h (3) merge more files by segregating changes into headers. new file (moved from pc98/pc98): i386/isa/aic_98.h deleted: well, it's already in the commit message so I won't repeat the long list here ;) Submitted by: The FreeBSD(98) Development Team
Diffstat (limited to 'sys/i386/isa/vector.s')
-rw-r--r--sys/i386/isa/vector.s20
1 files changed, 17 insertions, 3 deletions
diff --git a/sys/i386/isa/vector.s b/sys/i386/isa/vector.s
index 94691f5..0283c2a 100644
--- a/sys/i386/isa/vector.s
+++ b/sys/i386/isa/vector.s
@@ -1,12 +1,26 @@
/*
* from: vector.s, 386BSD 0.1 unknown origin
- * $Id: vector.s,v 1.19 1996/04/11 21:18:47 bde Exp $
+ * $Id: vector.s,v 1.20 1996/05/31 01:08:08 peter Exp $
+ */
+
+/*
+ * modified for PC98 by Kakefuda
*/
#include "opt_auto_eoi.h"
#include <i386/isa/icu.h>
+#ifdef PC98
+#include <pc98/pc98/pc98.h>
+#else
#include <i386/isa/isa.h>
+#endif
+
+#ifdef PC98
+#define ICU_IMR_OFFSET 2 /* IO_ICU{1,2} + 2 */
+#else
+#define ICU_IMR_OFFSET 1 /* IO_ICU{1,2} + 1 */
+#endif
#define ICU_EOI 0x20 /* XXX - define elsewhere */
@@ -168,7 +182,7 @@ IDTVEC(vec_name) ; \
movb _imen + IRQ_BYTE(irq_num),%al ; \
orb $IRQ_BIT(irq_num),%al ; \
movb %al,_imen + IRQ_BYTE(irq_num) ; \
- outb %al,$icu+1 ; \
+ outb %al,$icu+ICU_IMR_OFFSET ; \
enable_icus ; \
incl _cnt+V_INTR ; /* tally interrupts */ \
movl _cpl,%eax ; \
@@ -190,7 +204,7 @@ __CONCAT(Xresume,irq_num): ; \
movb _imen + IRQ_BYTE(irq_num),%al ; \
andb $~IRQ_BIT(irq_num),%al ; \
movb %al,_imen + IRQ_BYTE(irq_num) ; \
- outb %al,$icu+1 ; \
+ outb %al,$icu+ICU_IMR_OFFSET ; \
sti ; /* XXX _doreti repeats the cli/sti */ \
MEXITCOUNT ; \
/* We could usually avoid the following jmp by inlining some of */ \
OpenPOWER on IntegriCloud