[LinuxBIOS] PCI bus expert needed.

Ben Hewson ben at hewson-venieri.com
Mon Dec 4 22:46:13 CET 2006


Ok I have some problems and I hope someone here can shed some light on them.

I have just downloaded the latest version from the repository to try out
the ROMCC fix on the original EPIA code.

I am using the same options and the same filo payload. When filo runs I
get the following error


FILO version 0.5 (root at localhost) Sun Nov 12 17:35:53 GMT 2006
boot: hda1:/kern  root=/dev/hda3 console=ttyS0,115200
Detected floating bus
No drive detected on IDE channel 0


Now this used to work and I said it is the same build of filo so I think
it reasonable to assume the problem lies with linuxbios.

Logging the boot messages I can see a few differences when it comes to
enumerating the PCI bus. I am assuming this is where things go wrong.

this is from the working boot

PCI_DOMAIN: 0000 read_resources bus 0 link: 0 done
Root Device read_resources bus 0 link: 0 done
PCI: 00:11.6 10 *  [0x00000400 - 0x000004ff] io
PCI: 00:12.0 10 *  [0x00000800 - 0x000008ff] io
PCI: 00:11.1 20 *  [0x00000c00 - 0x00000c0f] io
Root Device compute_allocate_io: base: 00000c10 size: 00000810 align: 8
gran: 0 done

and this from the non-working boot

PCI_DOMAIN: 0000 read_resources bus 0 link: 0 done
Root Device read_resources bus 0 link: 0 done
PCI: 00:11.6 10 *  [0x00000400 - 0x000004ff] io
PCI: 00:12.0 10 *  [0x00000800 - 0x000008ff] io
PCI: 00:11.1 20 *  [0x00000c00 - 0x00000c0f] io
PCI: 00:11.1 10 *  [0x00000c10 - 0x00000c17] io
PCI: 00:11.1 18 *  [0x00000c20 - 0x00000c27] io
PCI: 00:11.1 14 *  [0x00000c30 - 0x00000c33] io
PCI: 00:11.1 1c *  [0x00000c40 - 0x00000c43] io
Root Device compute_allocate_io: base: 00000c44 size: 00000844 align: 8
gran: 0 done

The non working version seems to see some different stuff and set the
base to a different value. I get a similar situation again

working

Root Device read_resources bus 0 link: 0 done
PCI: 00:11.6 10 *  [0x00001000 - 0x000010ff] io
PCI: 00:12.0 10 *  [0x00001400 - 0x000014ff] io
PCI: 00:11.1 20 *  [0x00001800 - 0x0000180f] io
Root Device compute_allocate_io: base: 00001810 size: 00000810 align: 8
gran: 0 done


non working

Root Device read_resources bus 0 link: 0 done
PCI: 00:11.6 10 *  [0x00001000 - 0x000010ff] io
PCI: 00:12.0 10 *  [0x00001400 - 0x000014ff] io
PCI: 00:11.1 20 *  [0x00001800 - 0x0000180f] io
PCI: 00:11.1 10 *  [0x00001810 - 0x00001817] io
PCI: 00:11.1 18 *  [0x00001820 - 0x00001827] io
PCI: 00:11.1 14 *  [0x00001830 - 0x00001833] io
PCI: 00:11.1 1c *  [0x00001840 - 0x00001843] io
Root Device compute_allocate_io: base: 00001844 size: 00000844 align: 8
gran: 0 done

I am right in thinking this is setting base offsets for various function ?
Further down when initialising hte IDE I get this
working

ide_init: enabling compatibility IDE addresses
enables in reg 0x42 0x0
enables in reg 0x42 read back as 0x0

non working

ide_init: enabling compatibility IDE addresses
enables in reg 0x42 0xc9
enables in reg 0x42 read back as 0x9



More information about the coreboot mailing list