summaryrefslogtreecommitdiff
path: root/sys/arch/i386/pci
diff options
context:
space:
mode:
authorMichael Shalayeff <mickey@cvs.openbsd.org>2001-06-08 03:18:05 +0000
committerMichael Shalayeff <mickey@cvs.openbsd.org>2001-06-08 03:18:05 +0000
commitf4db801f9ccb3704fa6d1fd4dcf52e8192a78a9c (patch)
treee54a8a9ea70ebfb8a79d1e4ef1768ffe93c80d0c /sys/arch/i386/pci
parent4d6cdc0ead3e781f9500571d3074f6e891e64180 (diff)
it seems that via has 7, not 4 pci interrupt lines.
this fixes unmapped interrupts on some via-based boards, reported by angelos@, tested w/ aaron@, millert@, jason@. in any case must not break currently working boards.
Diffstat (limited to 'sys/arch/i386/pci')
-rw-r--r--sys/arch/i386/pci/via82c586.c5
-rw-r--r--sys/arch/i386/pci/via82c586reg.h7
2 files changed, 9 insertions, 3 deletions
diff --git a/sys/arch/i386/pci/via82c586.c b/sys/arch/i386/pci/via82c586.c
index 35d7c9a4c56..719ad6620d1 100644
--- a/sys/arch/i386/pci/via82c586.c
+++ b/sys/arch/i386/pci/via82c586.c
@@ -1,4 +1,4 @@
-/* $OpenBSD: via82c586.c,v 1.7 2001/04/23 02:40:51 deraadt Exp $ */
+/* $OpenBSD: via82c586.c,v 1.8 2001/06/08 03:18:04 mickey Exp $ */
/* $NetBSD: via82c586.c,v 1.2 2000/07/18 11:24:09 soda Exp $ */
/*-
@@ -111,6 +111,9 @@ const int vp3_cfg_intr_shift[] = {
VP3_CFG_INTR_SHIFT_PIRQB,
VP3_CFG_INTR_SHIFT_PIRQC,
VP3_CFG_INTR_SHIFT_PIRQD,
+ VP3_CFG_INTR_SHIFT_PIRQ0,
+ VP3_CFG_INTR_SHIFT_PIRQ1,
+ VP3_CFG_INTR_SHIFT_PIRQ2,
};
#define VP3_PIRQ(reg, pirq) (((reg) >> vp3_cfg_intr_shift[(pirq)]) & \
diff --git a/sys/arch/i386/pci/via82c586reg.h b/sys/arch/i386/pci/via82c586reg.h
index c8527403506..5a25b7d3515 100644
--- a/sys/arch/i386/pci/via82c586reg.h
+++ b/sys/arch/i386/pci/via82c586reg.h
@@ -1,4 +1,4 @@
-/* $OpenBSD: via82c586reg.h,v 1.4 2000/04/29 03:49:11 mickey Exp $ */
+/* $OpenBSD: via82c586reg.h,v 1.5 2001/06/08 03:18:04 mickey Exp $ */
/* $NetBSD: via82c586reg.h,v 1.2 2000/04/22 15:00:41 uch Exp $ */
/*
@@ -56,8 +56,11 @@
#define VP3_CFG_INTR_SHIFT_PIRQB 0x10
#define VP3_CFG_INTR_SHIFT_PIRQC 0x1c
#define VP3_CFG_INTR_SHIFT_PIRQD 0x0c
+#define VP3_CFG_INTR_SHIFT_PIRQ0 0x10
+#define VP3_CFG_INTR_SHIFT_PIRQ1 0x08
+#define VP3_CFG_INTR_SHIFT_PIRQ2 0x00
#define VP3_PIRQ_NONE 0
-#define VP3_LEGAL_LINK(link) ((link) >= 0 && (link) <= 3)
+#define VP3_LEGAL_LINK(link) ((link) >= 0 && (link) <= 6)
#define VP3_LEGAL_IRQ(irq) ((irq) >= 0 && (irq) <= 15 && \
((1 << (irq)) & VP3_PIRQ_MASK) != 0)