
On Mon, Jul 26, 2021 at 07:37:53AM +0000, Z.Q. Hou wrote:
Hi Micheal,
Pasted the log below, the direct cause seems the u-boot DTB doesn't have /cpus node.
=> run bootcmd_mmc0 switch to partitions #0, OK mmc0 is current device Scanning mmc 0:1... libfdt fdt_check_header(): FDT_ERR_BADMAGIC Scanning disk esdhc@1560000.blk... Found 5 disks No EFI system partition couldn't find /cpus "Synchronous Abort" handler, esr 0x96000006 elr: 0000000082004a6c lr : 0000000082004a30 (reloc) elr: 00000000fbd25a6c lr : 00000000fbd25a30 x0 : 0000000087f00a88 x1 : 000000001cfbfd5e x2 : efbeaddeefbeadde x3 : 00000000efbeadde x4 : 00000000fffffffc x5 : 0000000087f037d2 x6 : 0000000000000a58 x7 : 0000000000000003 x8 : 0000000087f00000 x9 : 0000000000000008 x10: 0000000000000a44 x11: 00000000fbc17c6c x12: 00000000000009e4 x13: 0000000000000000 x14: 0000000087f00000 x15: 00000000fbc180d8 x16: 00000000fbd742d0 x17: 0000000000000000 x18: 00000000fbc1cdb0 x19: 00000000000009e4 x20: 0000000087f00000 x21: 00000000fbdb3404 x22: 00000000fbdb4a97 x23: 0000000000000018 x24: 00000000fbde5d44 x25: 0000000000000000 x26: 0000000000000000 x27: 0000000000000000 x28: 00000000fbc5ba60 x29: 00000000fbc17d30
Code: a94153f3 a9425bf5 a8c47bfd d65f03c0 (b8617803) Resetting CPU ...
And why don't you fix the fdt_addr then? Shouldn't it be unset if there is no actual device tree present in a ROM section? (I don't say there isn't another underlying problem when you use an invalid fdt_addr).
The problem shown in above log is triggered when unset the fdt_addr.
On which platform are you seeing this issue?
I have tested v2021.07 on ls1043a-rdb and it doesn't reproduce.
Board is booting from NOR and I have two mmc partitions: Device Start End Sectors Size Type /dev/mmcblk0p1 2048 1048576 1046529 511M Linux filesystem /dev/mmcblk0p2 1050624 15523806 14473183 6.9G Linux filesystem
=> run bootcmd_mmc0 switch to partitions #0, OK mmc0 is current device Scanning mmc 0:1... Scanning disk esdhc@1560000.blk... Found 3 disks No EFI system partition PCIe1: pcie@3400000 disabled PCIe2: pcie@3500000 Root Complex: no link PCIe3: pcie@3600000 Root Complex: no link WARNING failed to get smmu node: FDT_ERR_NOTFOUND WARNING failed to get smmu node: FDT_ERR_NOTFOUND BootOrder not defined EFI boot manager: Cannot load any image Scanning mmc 0:2... WARNING failed to get smmu node: FDT_ERR_NOTFOUND WARNING failed to get smmu node: FDT_ERR_NOTFOUND BootOrder not defined EFI boot manager: Cannot load any image =>
I still don't see the issue even if I remove fdt_addr: => setenv fdt_addr => run bootcmd_mmc0 switch to partitions #0, OK mmc0 is current device Scanning mmc 0:1... WARNING failed to get smmu node: FDT_ERR_NOTFOUND WARNING failed to get smmu node: FDT_ERR_NOTFOUND BootOrder not defined EFI boot manager: Cannot load any image Scanning mmc 0:2... WARNING failed to get smmu node: FDT_ERR_NOTFOUND WARNING failed to get smmu node: FDT_ERR_NOTFOUND BootOrder not defined EFI boot manager: Cannot load any image =>
If it not unset, the SError is triggered when to check the magic of the fdt header.
Thanks, Zhiqiang
-michael
BR, Yousaf