[SeaBIOS] [PATCH 0/5] pci: two-pass initialization

Bjørn Mork bjorn at mork.no
Tue Aug 9 10:54:20 CEST 2011


Kevin O'Connor <kevin at koconnor.net> writes:
> On Mon, Jul 11, 2011 at 09:20:27AM +0200, Gerd Hoffmann wrote:
>>   Hi,
>> 
>> 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 <kraxel at 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 at 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
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.



Bjørn



More information about the SeaBIOS mailing list