[BUG] Devices of uclass BLK are not listed on x86

Hello,
We have been having an issue with IDE and SCSI drives not being usable on the x86 architecture.
After bisecting, it looks like commit f2ebaaa9f38dddddefaf2e616a9fc489fe8b4021 (pci: Handle failed calloc in decode_regions()) is the culprit.
Indeed, it was working when decode_regions() was not returning an error. But now that it does, no blk devices get registered anymore.
The decode_regions() function fails because it calls "ofnode_get_property", which fails on systems that do not use a device tree
Would it make sense to remove calls to anything related to device trees for the x86 platform ?
Regards,
Detlev.

Hi Detlev,
On Fri, 17 Mar 2023 at 15:30, Detlev Casanova detlev.casanova@collabora.com wrote:
Hello,
We have been having an issue with IDE and SCSI drives not being usable on the x86 architecture.
After bisecting, it looks like commit f2ebaaa9f38dddddefaf2e616a9fc489fe8b4021 (pci: Handle failed calloc in decode_regions()) is the culprit.
Indeed, it was working when decode_regions() was not returning an error. But now that it does, no blk devices get registered anymore.
The decode_regions() function fails because it calls "ofnode_get_property", which fails on systems that do not use a device tree
Would it make sense to remove calls to anything related to device trees for the x86 platform ?
Actually, devicetree is widely used in U-Boot for x86. It includes FSP parameters, info for generation of ACPI tables, etc.
What board are you using? Is U-Boot running bare-metal or from a previous bootloader?
https://patchwork.ozlabs.org/project/uboot/patch/20230220194927.476708-8-sjg...
Regards, Simon
participants (2)
-
Detlev Casanova
-
Simon Glass