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

Marc Jones marcj303 at gmail.com
Tue Aug 9 21:28:17 CEST 2011


On Tue, Aug 9, 2011 at 1:26 PM, Marc Jones <marcj303 at gmail.com> wrote:
> On Tue, Aug 9, 2011 at 2:54 AM, Bjørn Mork <bjorn at mork.no> wrote:
>> 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
>
> Hi Bjørn,
>
> Can you see if there are differences in the PCI cfg registers between
> the versions? Use lspci -vxxx, or something similar.
>
> Marc
>

Ignore that... I see Gerd addressed it in another email.

Marc



-- 
http://se-eng.com



More information about the SeaBIOS mailing list