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.