Page MenuHomePhabricator

BL32/SP_min cannot use arg3 from BL2 in AARCH32
Closed, ResolvedPublic

Description

At the end of BL2, the 4 first registers can be used to share info with next BL. In AARCH32, if SP_min is used as BL32, the arg3 (R3) cannot be used as this info gets overwritten. R3 is first saved in R12 at the beginning of SP_min, but R12 gets overwritten by zeromem function, losing the information from arg3.

A possible correction is to save R12 before calling zeromem, for example in R7, as this register doesn't seem to be used in that part of code. But this should be deeper checked.

Event Timeline

Yann-lms created this task.Jan 30 2020, 9:30 AM

Corrected with the following commit that has just been merged:
https://review.trustedfirmware.org/c/TF-A/trusted-firmware-a/+/3518

This task can then be closed.

Yann-lms closed this task as Resolved.Mar 31 2022, 3:58 PM