Uh oh!
There was an error while loading. Please reload this page.
optee: share TA binaries through a global UUID map - #1142
Conversation
Sangho Lee (sangho2)
left a comment
There was a problem hiding this comment.
Thanks for your effort! Yes, we should differentiate shim-global from runner-global. I left some comments/suggestions.
Uh oh!
There was an error while loading. Please reload this page.
Uh oh!
There was an error while loading. Please reload this page.
Uh oh!
There was an error while loading. Please reload this page.
Uh oh!
There was an error while loading. Please reload this page.
Uh oh!
There was an error while loading. Please reload this page.
Uh oh!
There was an error while loading. Please reload this page.
Uh oh!
There was an error while loading. Please reload this page.
7881679 to
321b69fComparePraveen K Paladugu (praveen-pk)
commented
Aug 12, 2026
I confirmed that static TAs continue to function with this change. |
2b68f9f to
66339beCompare
Sangho Lee (sangho2)
left a comment
There was a problem hiding this comment.
Looks good to me. Please take a look at the new comment.
Feel free to drop "[Draft]" from the title if it is ready to merge and replace optee with OP-TEE or OP-TEE shim. Thanks!
Uh oh!
There was an error while loading. Please reload this page.
Move the TA UUID-to-binary map out of individual shim instances so TA binaries can be registered once and reused across instances. This global map is required to support Dyanamically Loading TAs and using them across sessions. Protect the map with a spin-based RwLock and expose shim methods for storing and retrieving TA binaries. Register the LVBS runner's embedded TA during BSP initialization and resolve new TA instances through the shared map. Signed-off-by: Praveen K Paladugu <prapal@linux.microsoft.com>
Restore TA_BINARIES, to keep supporting mulitple embedded binaries Signed-off-by: Praveen K Paladugu <prapal@linux.microsoft.com>
TaUuidMap is already sychronized with an interior RwLock. An Arc wrapping adds un-necessary reference counting overhead. Signed-off-by: Praveen K Paladugu <prapal@linux.microsoft.com>
This drops the need for deep copy while getting a binary. Signed-off-by: Praveen K Paladugu <prapal@linux.microsoft.com>
Now references to ta_uuid_map in shim object will be scoped to the lifetime of the shim object. Signed-off-by: Praveen K Paladugu <prapal@linux.microsoft.com>
Signed-off-by: Praveen K Paladugu <prapal@linux.microsoft.com>
66339be to
42d35c3Compareldelf stores TA in the UUID Map while loading it. Drop this redundant step. Signed-off-by: Praveen K Paladugu <prapal@linux.microsoft.com>
e41b33d to
e681468CompareDrop ta_bin arg in ldelf casls from Linux Userland. Signed-off-by: Praveen K Paladugu <prapal@linux.microsoft.com>
Signed-off-by: Praveen K Paladugu <prapal@linux.microsoft.com>
e681468 to
d25d45fCompareUh oh!
There was an error while loading. Please reload this page.
Move the TA UUID-to-binary map out of individual shim instances so TA binaries can be registered once and reused across instances. This global map is required to support Dyanamically Loading TAs and using them across sessions.
Protect the map with a spin-based RwLock and expose shim methods for storing and retrieving TA binaries.
Register the LVBS runner's embedded TA during BSP initialization and resolve new TA instances through the shared map.