[PATCH v2 3/4] bloblist: add support for CONFIG_BLOBLIST_PASSAGE

Harrison Mutai harrison.mutai at arm.com
Mon Jan 27 13:42:30 CET 2025


Hi Tom,

Thanks for the additional details, that helped!

On 23/01/2025 17:12, Tom Rini wrote:
> On Thu, Jan 23, 2025 at 05:03:40PM +0000, Harrison Mutai wrote:
>> On 22/01/2025 17:21, Tom Rini wrote:
>>> On Wed, Jan 15, 2025 at 01:52:06PM +0000, Harrison Mutai wrote:
>>>
>>>> When the configuration option CONFIG_BLOBLIST_PASSAGE is selected, the
>>>> bloblist present in the incoming standard passage is utilised in-place.
>>>> There is no need to specify the size of the bloblist as the system
>>>> automatically detects it using the header information.
>>>>
>>>> Signed-off-by: Harrison Mutai <harrison.mutai at arm.com>
>>>> ---
>>>>    common/Kconfig    | 8 +++++++-
>>>>    common/bloblist.c | 5 ++++-
>>>>    2 files changed, 11 insertions(+), 2 deletions(-)
>>>
>>> This leads to failure to boot on qemu-arm-sbsa as seen in CI:
>>> https://dev.azure.com/u-boot/u-boot/_build/results?buildId=10392&view=logs&j=ac5e904b-a30c-5e1d-9570-462b8181c990&t=863544fb-ed04-5d34-fdac-10f5bbb057bd&l=423
>>>
>> Sorry, I'm unfamilliar with U-Boot's CI but I can't make out what the source
>> of the failure is. All I see in the logs is what looks like an intermittent
>> error.
>>
>> https://dev.azure.com/u-boot/u-boot/_build/results?buildId=10392&view=logs&j=ac5e904b-a30c-5e1d-9570-462b8181c990&t=863544fb-ed04-5d34-fdac-10f5bbb057bd&l=423
>>
>> Would you be able to share the results XML?
> 
> The problem is that qemu doesn't start anymore, sorry for being unclear.
> Looking at
> https://source.denx.de/u-boot/u-boot-test-hooks/-/blob/master/bin/travis-ci/conf.qemu-arm-sbsa_na?ref_type=heads
> we can see how qemu is invoked.
> 

I've successfully reproduced and resolved the error. The issue occurred 
because I relaxed the condition for calling the architecture-specific 
hook xferlist_from_boot_arg. Previously, this hook was only called if 
the bloblist was at a fixed address and U-Boot was in the first phase. 
However, since we also need the hook for BLOBLIST_PASSAGE, I've added a 
condition to prevent calling the hook if BLOBLIST_ALLOC is enabled, 
assuming we don't expect to receive a bloblist from the previous stage 
in this mode.

However, I'm slightly unsure if this assumption is correct. Generally, 
when BLOBLIST_ALLOC is enabled, is it expected that U-Boot will allocate 
memory for the bloblist, ignoring the bloblist from previous stages? In 
the case of BLOBLIST_FIXED, we relocate any bloblist received from the 
prior stage to the fixed address. I'm surprised we don't do the same 
with BLOBLIST_ALLOC.

Best regards,
Harrison



More information about the U-Boot mailing list