Subject: CVS commit: syssrc
To: None <source-changes@netbsd.org>
From: Nathan J Williams <nathanw@netbsd.org>
List: source-changes
Date: 08/03/2000 23:10:46
Module Name: syssrc
Committed By: nathanw
Date: Thu Aug 3 20:10:46 UTC 2000
Modified Files:
syssrc/sys/arch/i386/pci: pci_addr_fixup.c
Log Message:
Fix a problem uncovered by rev 1.5 of pcibios.c:
Avoid interpreting the upper 32 bits of 64-bit BARs as a 32-bit BAR.
Otherwise, the code would assume that the value 0 was incorrect and either:
(a) [on bus 0] "fix up" the address to some nonzero value, thus placing
the decoded address range outside of 32-bit address space, or
(b) [elsewhere] completely disable the device.
The fact that this behaviour depends on the bus number of the device is
already XXX'd.
XXX: This will need revisiting if and when we ever want to handle a PCI bus
XXX: with more than 32 bits of address space on an i386.
The onboard Adaptec 7890 on my Dell Precision Workstation 410 works again.
To generate a diff of this commit:
cvs rdiff -r1.6 -r1.7 syssrc/sys/arch/i386/pci/pci_addr_fixup.c
Please note that diffs are not public domain; they are subject to the
copyright notices on the relevant files.