> -----Original Message----- > From: Mian Yousaf Kaukab <ykau...@suse.de> > Sent: 2021年8月3日 22:52 > To: Z.Q. Hou <zhiqiang....@nxp.com> > Cc: Michael Walle <mich...@walle.cc>; Tom Rini <tr...@konsulko.com>; > Heinrich Schuchardt <xypron.g...@gmx.de>; u-boot@lists.denx.de; Priyanka > Jain <priyanka.j...@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 > > es...@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 es...@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