barebox qemu-malta pci problem

Antony Pavlov antonynpavlov at gmail.com
Wed Apr 1 14:54:57 PDT 2015


Hi!

It looks like qemu-malta barebox pci support is broken since

  commit b8a1bb1dd215770670108fe5b0de0e5e137bf8fd
  Author: Lucas Stach <dev at lynxeye.de>
  Date:   Sat Oct 4 19:40:12 2014 +0200

      pci: defer device registration until after bridge setup
    
      Otherwise the drivers for a device may probe before the
      devices parent bridge is fully configured, which leads
      to errors when accessing the BARs.

How to reproduce the problem:

 $ cd barebox.git
 $ export ARCH=mips
 $ export CROSS_COMPILE=<your favorite mips cross-compiler prefix>

 # first let's see working state

 $ git checkout b8a1bb1dd215770670108fe5b0de0e5e137bf8fd^
 $ make qemu-malta_defconfig && make clean && make
 $ qemu-system-mips -nodefaults -M malta -m 256       -nographic -serial stdio -monitor null       -bios barebox-flash-image -net nic,model=rtl8139

 ...
 
 barebox:/ devinfo

 ...

 `-- i2c
 `-- pci
   `-- pci0
   `-- pci1
   `-- pci2
   `-- pci3
   `-- pci4
      `-- eth0
         `-- miibus0
 `-- fs

 <stop qemu emulation (ctrl-c)>

 # devinfo shows eth0 device on pci4. good.
 # now let's see broken state

 $ git checkout b8a1bb1dd215770670108fe5b0de0e5e137bf8fd
 $ make qemu-malta_defconfig && make clean && make
 $ qemu-system-mips -nodefaults -M malta -m 256       -nographic -serial stdio -monitor null       -bios barebox-flash-image -net nic,model=rtl8139

 ...
 
 barebox:/ devinfo

 ...

 `-- i2c
 `-- pci
 `-- fs

 # As you can see there is no pci devices on pci bus.

-- 
Best regards,
  Antony Pavlov



More information about the barebox mailing list