
-----Original Message----- From: Mian Yousaf Kaukab ykaukab@suse.de Sent: 2021年8月3日 22:52 To: Z.Q. Hou zhiqiang.hou@nxp.com Cc: Michael Walle michael@walle.cc; Tom Rini trini@konsulko.com; Heinrich Schuchardt xypron.glpk@gmx.de; u-boot@lists.denx.de; Priyanka Jain priyanka.jain@nxp.com Subject: Re: [PATCH] configs: layerscape: Disable the EFI_LOADER feature
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.
On LS1043ARDB, the fdt_addr points to the NOR flash, so no this issue. Reproduce on LS1046ARDB, on which no NOR flash is mapped to that space.
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 =>
Dig deeper, it's a NXP internal patch that results in the SError, upsteam doesn't have this problem. The SError is triggered during the DT setup phase of bootefi when using the u-boot packaged fdt. To resolve the 'Sync Abort' issue, I'll send a patch to remove the 'fdt_addr' env, it was added by mistake since the DTB is loaded from boot filesystem instead of hardware ROM.
Thanks, Zhiqiang
If it not unset, the SError is triggered when to check the magic of the fdt
header.
Thanks, Zhiqiang
-michael
BR, Yousaf