Skip to content

Commit 7c9aa98

Browse files
Describe "Removing a TE" operation
Signed-off-by: Manish Pandey <manish.pandey2@arm.com>
1 parent 2585e5d commit 7c9aa98

File tree

1 file changed

+23
-0
lines changed

1 file changed

+23
-0
lines changed

source/transfer_list.rst

Lines changed: 23 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -292,6 +292,8 @@ This section describes the valid operations that may be performed on a TL in
292292
more detail, in order to clarify how to use the various fields and to serve as a
293293
guideline for implementation.
294294

295+
.. _validate TL header:
296+
295297
Validating a TL header
296298
^^^^^^^^^^^^^^^^^^^^^^
297299

@@ -409,6 +411,27 @@ Inputs:
409411
#. If `has_checksum`, xor the 8 bytes from `te_base_addr` to
410412
`te_base_addr + 0x8` with `tl.checksum`.
411413

414+
Removing a TE
415+
^^^^^^^^^^^^^
416+
417+
Inputs:
418+
419+
- `tl_base_addr`: Base address of the TL from which TE to be deleted.
420+
- `tag_id`: ID number of the tag to be deleted.
421+
422+
#. Validate the TL header as mentioned in :ref:`validate TL header`
423+
424+
#. Locate the `te_base_addr` of the TE to be removed by iterating through the TL.
425+
426+
#. Mark the TE as void by setting its tag_id to XFERLIST_VOID
427+
428+
#. Update `te.data_size` to ensure it remains 8-byte aligned
429+
430+
#. *(optional)* Erase the TE data if there is a risk of exposing sensitive information
431+
to the next consumer
432+
433+
#. If checksum is enabled, recalculate and update tl.checksum
434+
412435
Adding a new TE with special data alignment requirement
413436
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
414437

0 commit comments

Comments
 (0)