On Tue, Aug 9, 2011 at 2:54 AM, Bjørn Mork firstname.lastname@example.org wrote:
Kevin O'Connor email@example.com writes:
On Mon, Jul 11, 2011 at 09:20:27AM +0200, Gerd Hoffmann wrote:
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 times):
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 ^C --- 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 (66MB)
Run it as e.g.
qemu -hda fbsd44.raw -net nic,model=i82559er -net user \ -serial mon:stdio -monitor null -nographic \ -bios bios-image-under-test.bin
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 commit 01a5c8813b2e709809c07c5d7fab9d1c3ddb4989 Author: Gerd Hoffmann firstname.lastname@example.org 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 email@example.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 working image:
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.