Source-Changes-HG archive
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index][Old Index]
[src/trunk]: src/sys/arch/cobalt/pci Different form of PCI bug workaround. Sh...
details: https://anonhg.NetBSD.org/src/rev/9c4f0f53286f
branches: trunk
changeset: 486840:9c4f0f53286f
user: soren <soren%NetBSD.org@localhost>
date: Mon May 29 15:45:15 2000 +0000
description:
Different form of PCI bug workaround. Should make 2700 system work.
diffstat:
sys/arch/cobalt/pci/pci_machdep.c | 18 ++++++++++++++++--
1 files changed, 16 insertions(+), 2 deletions(-)
diffs (39 lines):
diff -r 0cb53ee1ea8c -r 9c4f0f53286f sys/arch/cobalt/pci/pci_machdep.c
--- a/sys/arch/cobalt/pci/pci_machdep.c Mon May 29 15:44:22 2000 +0000
+++ b/sys/arch/cobalt/pci/pci_machdep.c Mon May 29 15:45:15 2000 +0000
@@ -1,4 +1,4 @@
-/* $NetBSD: pci_machdep.c,v 1.5 2000/04/09 00:13:27 soren Exp $ */
+/* $NetBSD: pci_machdep.c,v 1.6 2000/05/29 15:45:15 soren Exp $ */
/*
* Copyright (c) 2000 Soren S. Jorvang. All rights reserved.
@@ -78,7 +78,7 @@
pci_chipset_tag_t pc;
int busno;
{
- return 31; /* Probing device 31 hangs the system. */
+ return 32;
}
pcitag_t
@@ -113,6 +113,20 @@
int reg;
{
pcireg_t data;
+ int bus, dev, func;
+
+ pci_decompose_tag(pc, tag, &bus, &dev, &func);
+
+ /*
+ * 2700 hardware wedges on accesses to device 6.
+ */
+ if (bus == 0 && dev == 6)
+ return 0;
+ /*
+ * 2800 hardware wedges on accesses to device 31.
+ */
+ if (bus == 0 && dev == 31)
+ return 0;
*PCI_CFG_ADDR = 0x80000000 | tag | reg;
data = *PCI_CFG_DATA;
Home |
Main Index |
Thread Index |
Old Index