Kevin O'Connor <kevin(a)koconnor.net>
On Mon, Jul 11, 2011 at 09:20:27AM +0200, Gerd
Next (and hopefully final) version of the two-pass pci initialization
patches. Addressed review comments, fixed some bugs, especially the
io range setup for bridges.
Thanks - I committed this series.
Sorry for being this late into the game, but this patch series seems to
break (some?) network interfaces on older FreeBSD systems. Exactly why
is unclear to me. The following error message is received (multiple
Aug 9 08:03:05 frebsd44 /kernel: fxp0: device timeout
and pinging or any other attempt to transmit packets will fail:
frebsd44# ping 10.0.2.2
PING 10.0.2.2 (10.0.2.2): 56 data bytes
--- 10.0.2.2 ping statistics ---
3 packets transmitted, 0 packets received, 100% packet loss
I tested this with a clean install of FreeBSD 4.4-REL and a single Intel
82559 interface. A gzipped qemu/kvm raw disk image with serial console
setup is available from http://huey.mork.no/fbsd44.raw.gz
Run it as e.g.
qemu -hda fbsd44.raw -net nic,model=i82559er -net user \
-serial mon:stdio -monitor null -nographic \
and login as root with no password. It has a single fxp0 configured
with 10.0.2.1/24 matching the qemu "user" network defaults, so pinging
10.0.2.2 should work when running with above cmdline.
Bisecting shows that
01a5c8813b2e709809c07c5d7fab9d1c3ddb4989 is the first bad commit
Author: Gerd Hoffmann <kraxel(a)redhat.com>
Date: Mon Jul 11 09:20:29 2011 +0200
pci: activate two-pass pci initialization code
This patch actually enables the two-pass pci initialization and
deactivates the old pci initialization bits.
Signed-off-by: Gerd Hoffmann <kraxel(a)redhat.com>
:040000 040000 07d0e9f2b470932f0682683fb3b979b321db866b
cd181630a3892ebbd54b54a1ccd91eb38c24e88c M src
I've also verified that checking out commit 82b39b2 works OK, and that
reverting these 4 commits on top of current HEAD also results in a
77b8536 pci: set BUILD_PCIMEM_START to 0xe0000000
60a348b pci: cleanup config.h
3bbd11f pci: remove old pci initilaization code
01a5c88 pci: activate two-pass pci initialization code
Please let me know if there is something else I should test.
Can you see if there are differences in the PCI cfg registers between
the versions? Use lspci -vxxx, or something similar.