Date: Thu, 25 Jan 1996 15:36:35 +0100 From: se@zpr.uni-koeln.de (Stefan Esser) To: ap@bnc.net Cc: bugs@freebsd.org Subject: Re: kern/970: PCI probe failing with two bridges Message-ID: <199601251436.AA04773@Sysiphos> In-Reply-To: Noses <noses@oink.rhein.de> "kern/970: PCI probe failing with two bridges" (Jan 25, 11:42)
index | next in thread | previous in thread | raw e-mail
On Jan 25, 11:42, Noses wrote:
} Subject: kern/970: PCI probe failing with two bridges
} While booting I'm getting the following messages:
}
} Probing for devices on the PCI bus:
} chip0 <Intel 82437 (Triton)> rev 2 on pci0:0
} chip1 <Intel 82371 (Triton)> rev 2 on pci0:7
} ahc0 <Adaptec 2940 SCSI host adapter> rev 3 int a irq 5 on pci0:9
} ahc0: 2940 Single Channel, SCSIId=7, aic7870, 255 SCBs
} [disks...]
} chip2 <DEC 21050 PCI-PCI bridge> rev 2 on pci 0:11
} chip3 <DEC 21050 PCI-PCI bridge> rev 2 on pci 0:12
} Probing for devices on the PCI bus:
} de0 <Digital DC21040 Ethernet> rev 35 int a irq 12 on pci1:4
} de0: DC21040 [10Mb/s] pass 2.3 Ethernet address 00:00:c0:30:06:c0
} de0: enabling Thinwire/AUI port
} de1 <Digital DC21040 Ethernet> rev 35 int a irq 9 on pci1:5
} de1: DC21040 [10Mb/s] pass 2.3 Ethernet address 00:00:c0:05:05:c0
} de1: enabling Thinwire/AUI port
} Probing for devices on the PCI bus:
} de2 <Digital DC21040 Ethernet> rev 35 int a irq 12 on pci1:4
} pci_map_port failed: device's iorange 0xd8800-0xd87f is incompatible with its bridge's range 0xc0000-0xcfff
} de3 <Digital DC21040 Ethernet> rev 35 int a irq 9 on pci1:5
} pci_map_port failed: device's iorange 0xd400-0xd47f is incompatible with its bridge's range 0xc0000-0xcfff
} >Fix:
} None. Urgently needed.
Not true. (The "None" part, the urgently
needed is beyond my control ;-).
The bug was found by Matt Thomas, and has
been incorporated into both FreeBSD-stable
and FreeBSD-current.
But it is just two characters to add, so
you can manually fix it:
In file /sys/pci/pcireg.h, there are macros
to extract the bus numbers from the bridges
PCI configuration space registers. The lines
below are correct, in the version delivered
with 2.1R, there are ">" operators instead
of the correct ">>".
#define PCI_SUBORDINATE_BUS_EXTRACT(x) (((x) >> 16) & 0xff)
#define PCI_SECONDARY_BUS_EXTRACT(x) (((x) >> 8) & 0xff)
^^
these were ">" in 2.1R
Either get a new version of /sys/pci/pcireg.h
or just modify those two lines to correctly
use the shift operators ...
Regards, STefan
--
Stefan Esser, Zentrum fuer Paralleles Rechnen Tel: +49 221 4706021
Universitaet zu Koeln, Weyertal 80, 50931 Koeln FAX: +49 221 4705160
==============================================================================
http://www.zpr.uni-koeln.de/~se <se@ZPR.Uni-Koeln.DE>
home |
help
Want to link to this message? Use this
URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?199601251436.AA04773>
