Transfer List Checksum Correction and Impact on Bloblist
    Harrison Mutai 
    harrison.mutai at arm.com
       
    Tue Oct 21 12:33:05 CEST 2025
    
    
  
+Illias to the thread
On 01/10/2025 16:54, Raymond Mao wrote:
> Hi Harrison,
> 
> On Tue, 30 Sept 2025 at 06:54, Harrison Mutai <harrison.mutai at arm.com> wrote:
>>
>> On 29/09/2025 19:11, Tom Rini wrote:
>>> On Fri, Sep 26, 2025 at 05:09:53PM +0100, Harrison Mutai wrote:
>>>> Hi all,
>>>>
>>>> We recently applied changes to the transfer list library [1] to correct the
>>>> checksum calculation. Previously, we used a simple byte-sum approach.
>>>> However, we later realized this contradicts the Firmware Handoff
>>>> specification, which states:
>>>>
>>>>> The checksum is set to a value such that the XOR over every byte in the
>>>>> {tl_base_pa, …, tl_base_pa + used_size - 1} address range is equal to 0.
>>>>
>>>> This discrepancy creates problems when interoperating with Bloblist.
>>>> Should Bloblist’s checksum calculation be updated to follow the same
>>>> XOR-based method?
>>>>
>>>> [1]
>>>> https://review.trustedfirmware.org/c/shared/transfer-list-library/+/42548
>>>
>>> Erm, since this has been out in the wild so to speak, we can't just
>>> change the algorithm without bumping some cardinal. Or are there yet
>>> other implementations that were doing what the spec said?
>>>
>>
>> Raymond; Thanks for setting up the handoff tests. The next release for
>> TF-A is planned for mid-November [1].
>>
>> We’ve run into an issue where TF-A requires specific tags from the
>> transfer list library, but we can’t consume them due to the recent
>> checksum changes.
>>
>> Tom; As it stands, ours is the only implementation currently using the
>> updated checksum algorithm. There are two other consumers - OP-TEE and
>> EDK2. OP-TEE already has a patch in upstream review to move to the new
>> algorithm [2].
>>
> 
> There is a question: How did you pass the OP-TEE CI test without U-Boot changes?
> There is a CI check QEMUv8_check2 in OP-TEE that builds with Firmware
> Handoff enabled, but the manifest is pointing to U-Boot v2025.07-rc1.
> So I think unless you have merged the updated checksum to U-Boot and
> updated the OP-TEE manifest with that commit-id, otherwise
> QEMUv8_check2 will still fail due to the mismatching checksum
> algorithm.
> 
Ah yes that's a good catch. I've held that patch while we discuss things 
here and in the handoff spec forum.
> Regards,
> Raymond
> 
>> I’ve also reached out to the author of the EDK2 implementation to make
>> them aware of the change.
>>
>> [1]
>> https://trustedfirmware-a.readthedocs.io/en/latest/about/release-information.html
>> [2] https://github.com/OP-TEE/optee_os/pull/7531
>>
    
    
More information about the U-Boot
mailing list