PCI enumeration without a BIOS

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



Good morning,

I am trying to clean up PCIe support for the RISC-V port. On this
architecture, PCIe enumeration may not have been performed by the
"BIOS", of which there is none. However, it looks like linux is
expecting a valid PCIe configuration during boot. I've attached the
output of dmesg.

In particular, these are the lines that seem wrong to me:
[    5.920000] pci 0000:00:00.0: bridge configuration invalid ([bus
00-00]), reconfiguring
[    5.930000] pci 0000:01:00.0: bridge configuration invalid ([bus
00-00]), reconfiguring
...
[    6.000000] pci 0000:04:00.0: [Firmware Bug]: reg 0x10: invalid BAR
(can't size)
[    6.010000] pci 0000:06:00.0: [Firmware Bug]: reg 0x10: invalid BAR
(can't size)
...

To my eyes the above looks like linux was expecting a pre-enumerated
bus. How can I tell linux to just enumerate everything and not be
surprised? Ideally, I'd like this to be optional, in case a future
boot loader might enumerate PCIe in order to netboot or whatever.

These warnings are also troubling, but seem to be a general weakness
of the xilinx PCIe bridge:
[    6.210000] pci 0000:02:01.0: BAR 7: no space for [io  size 0x1000]
[    6.210000] pci 0000:02:01.0: BAR 7: failed to assign [io  size 0x1000]

Everything actually works in the end, so this is mostly a cosmetic concern.

Attachment: dmesg
Description: Binary data


[Index of Archives]     [DMA Engine]     [Linux Coverity]     [Linux USB]     [Video for Linux]     [Linux Audio Users]     [Yosemite News]     [Linux Kernel]     [Linux SCSI]     [Greybus]

  Powered by Linux