+#define INTRMASK(msk,s) msk |= (s)
+
+#else
+
+/*
+ * Macro's for interrupt level priority masks (used in interrupt vector entry)
+ */
+
+/* Mask a group of interrupts atomically */
+#define INTR_HEAD(unit,mask,offst) \
+ pushl $ offst ; \
+ pushl $ T_ASTFLT ; \
+ pushal ; \
+ movb $0x20,%al ; \
+
+#define INTR_TAIL(unit,mask,offst) \
+ outb %al,$ IO_ICU1 ; \
+ pushl %ds ; \
+ pushl %es ; \
+ movw $0x10, %ax ; \
+ movw %ax, %ds ; \
+ movw %ax,%es ; \
+ incl _cnt+V_INTR ; \
+ incl _isa_intr + offst * 4 ; \
+ movzwl _cpl,%eax ; \
+ pushl %eax ; \
+ pushl $ unit ; \
+ orw mask ,%ax ; \
+ movw %ax,_cpl ; \
+ orw _imen,%ax ; \
+ outb %al,$ IO_ICU1+1 ; \
+ movb %ah,%al ; \
+ outb %al,$ IO_ICU2+1 ; \
+ sti ;
+
+#define INTR1(unit,mask,offst) \
+ INTR_HEAD(unit,mask,offst) \
+ INTR_TAIL(unit,mask,offst)
+
+#define INTR2(unit,mask,offst) \
+ INTR_HEAD(unit,mask,offst) \
+ outb %al,$ IO_ICU2 ; \
+ INTR_TAIL(unit,mask,offst)
+
+
+
+/* Interrupt vector exit macros */
+
+/* First eight interrupts (ICU1) */
+#define INTREXIT1 \
+ jmp doreti
+
+/* Second eight interrupts (ICU2) */
+#define INTREXIT2 \
+ jmp doreti
+