Forum Discussion
Hello,
I think you found a bug in the code, but at the same time the results from the build instructions provided in the page seems to work.
When you build with DEBUG=0, for some reason the asserts are disabled. So even if the attribute for the DTB is not set executable the assertion is skiped and it can proceed with the boot flow.
For debug purposes you can use NOTICE instead of INFO and this will allow you to print messages having DEBUG=0.
In my log I see that the value that evaluates the assert for the first 2 items is 1, while the one for the last item is 0. So when DEBUG=1 I think this last condition make it to fail. I will check with the engineering team about this which looks like a bug in the source code. Thanks for finding this issue.
NOTICE: QSPI boot
NOTICE: BL2: v2.12.0(release):QPDS25.1_REL_GSRD_PR-dirty
NOTICE: BL2: Built : 15:02:54, May 7 2025
NOTICE: loop 1 count: 0, IMAGE ID: 3, Attr:0x18
NOTICE: Assert 0 skiped(next_bl_params.head)
NOTICE: loop 2 count: 0, IMAGE ID: 3, Attr:0x18
NOTICE: Image 0 Assert 1 skiped(executable) assert condition: 1
NOTICE: Image 0 Assert 3 skiped(link_index)
NOTICE: loop 2 count: 1, IMAGE ID: 5, Attr:0x9
NOTICE: Image 1 Assert 1 skiped(executable) assert condition: 1
NOTICE: Image 1 Assert 2 skiped(nextparaminfo)
NOTICE: Image 1 Assert 3 skiped(link_index)
NOTICE: loop 2 count: 2, IMAGE ID: 27, Attr:0x1
NOTICE: Image 2 Assert 1 skiped(executable) assert condition: 0
NOTICE: Image 2 Assert 2 skiped(nextparaminfo)
NOTICE: Image 2 Assert 4 skiped(img_id)
NOTICE: BL2: Booting BL31
NOTICE: BL31: v2.12.0(release):QPDS25.1_REL_GSRD_PR-dirty
NOTICE: BL31: Built : 15:02:57, May 7 2025
:
Thanks
Rolando