Firmware Handoff for DT Overlay created by OP-TEE?

Ahmad Fatoum a.fatoum at pengutronix.de
Thu Jun 12 03:44:20 PDT 2025


Hello Manish,

On 6/12/25 12:13, Manish Pandey2 wrote:
> Thanks Ahmad for reaching out!

Thanks for the quick response.

> There is a PR [1] on the Firmware Handoff specification that is still
> under discussion. Could you take a look and see if it could accommodate
> your use case?

Cool, thanks for pointing it out. I will check it out in detail.

> To confirm my understanding, would the desired flow be something like:
> 
>  1.
>     *BL31 passes a read-only DT* to OP-TEE via the Transfer List (TL)

DT comes from BL2 originally, but yes, BL31 passes it along.

>  2.
>     *OP-TEE consumes* the DT, adds memory reservations via a *DTO*, and
>     appends this DTO to the TL

My original thought was that BL2 (via BL31) allocates some memory and
passes it via transfer list for OP-TEE to fill out.

This allows reclaiming the space used by the overlay, which would
otherwise not be possible:

  - If OP-TEE uses arbitrary memory, it may turn out to be used
    otherwise

  - If OP-TEE uses its own memory that it reserves, the space is
    never reclaimed as it doesn't know when it's no longer needed

>  3.
>     *BL31 then forwards* the updated TL to BL33

Right.

> 
> Does that match what you had in mind?

Thanks,
Ahmad

> 
> 
> [1]: https://github.com/FirmwareHandoff/firmware_handoff/pull/74
> <https://github.com/FirmwareHandoff/firmware_handoff/pull/74>
> 
> ------------------------------------------------------------------------
> *From:* Ahmad Fatoum <a.fatoum at pengutronix.de>
> *Sent:* 11 June 2025 19:09
> *To:* Manish Pandey2 <Manish.Pandey2 at arm.com>
> *Cc:* op-tee at lists.trustedfirmware.org <op-
> tee at lists.trustedfirmware.org>; BAREBOX <barebox at lists.infradead.org>;
> rouven.czerwinski at linaro.org <rouven.czerwinski at linaro.org>; Michael
> Tretter <m.tretter at pengutronix.de>; kernel at pengutronix.de
> <kernel at pengutronix.de>
> *Subject:* Firmware Handoff for DT Overlay created by OP-TEE?
>  
> Hello Manish,
> 
> In your recent talk[1] at LinaroConnect about the Firmware Handoff
> specification, you were asking about what other use cases it could
> address for OP-TEE.
> 
> We ran into a possible use case that we would like to share:
> 
> BL2 can pass a DT to OP-TEE, which it would use to discover memory and
> to fix up with memory reservations covering the memory it carves out for
> itself.
> 
> OP-TEE also supports passing along the reservations as a device tree
> overlay. AFAICS, there is no way currently to have both: A DT for OP-TEE
> to probe hardware from and a way to pass the normal world a device tree
> overlay in return.
> 
> I think this could be neatly addressed with Firmware Handoff and would
> be a motivation for us to implement support in barebox BL2/BL33 to take
> advantage of this. The current way is suboptimal as we would prefer the
> DT passed to OP-TEE to be read-only. This avoids either having to copy
> it or to pad it sufficiently in anticipation of it growing with the
> addition of the new nodes.
> 
> [1]: https://www.youtube.com/watch?v=RxU798h8aiE <https://
> www.youtube.com/watch?v=RxU798h8aiE>
> 
> Cheers,
> Ahmad
> 
> --
> Pengutronix e.K.                  |                             |
> Steuerwalder Str. 21              | http://www.pengutronix.de/ <http://
> www.pengutronix.de/>  |
> 31137 Hildesheim, Germany         | Phone: +49-5121-206917-0    |
> Amtsgericht Hildesheim, HRA 2686  | Fax:   +49-5121-206917-5555 |
> 

-- 
Pengutronix e.K.                  |                             |
Steuerwalder Str. 21              | http://www.pengutronix.de/  |
31137 Hildesheim, Germany         | Phone: +49-5121-206917-0    |
Amtsgericht Hildesheim, HRA 2686  | Fax:   +49-5121-206917-5555 |




More information about the barebox mailing list