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