mail archive of the barebox mailing list
 help / color / mirror / Atom feed
From: Ahmad Fatoum <a.fatoum@pengutronix.de>
To: Manish Pandey2 <Manish.Pandey2@arm.com>
Cc: BAREBOX <barebox@lists.infradead.org>,
	Raymond Mao <raymond.mao@linaro.org>,
	Jose Marinho <Jose.Marinho@arm.com>,
	"rouven.czerwinski@linaro.org" <rouven.czerwinski@linaro.org>,
	Ilias Apalodimas <ilias.apalodimas@linaro.org>,
	Michael Tretter <m.tretter@pengutronix.de>,
	Dan Handley <Dan.Handley@arm.com>,
	"op-tee@lists.trustedfirmware.org"
	<op-tee@lists.trustedfirmware.org>,
	"kernel@pengutronix.de" <kernel@pengutronix.de>
Subject: Re: Firmware Handoff for DT Overlay created by OP-TEE?
Date: Thu, 12 Jun 2025 12:44:20 +0200	[thread overview]
Message-ID: <88d6ff32-3303-4e66-b886-b2c459913648@pengutronix.de> (raw)
In-Reply-To: <VI1PR08MB1021788AAFA0E6A859BA3C18CC074A@VI1PR08MB10217.eurprd08.prod.outlook.com>

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@pengutronix.de>
> *Sent:* 11 June 2025 19:09
> *To:* Manish Pandey2 <Manish.Pandey2@arm.com>
> *Cc:* op-tee@lists.trustedfirmware.org <op-
> tee@lists.trustedfirmware.org>; BAREBOX <barebox@lists.infradead.org>;
> rouven.czerwinski@linaro.org <rouven.czerwinski@linaro.org>; Michael
> Tretter <m.tretter@pengutronix.de>; kernel@pengutronix.de
> <kernel@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 |




      parent reply	other threads:[~2025-06-12 13:19 UTC|newest]

Thread overview: 2+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2025-06-11 18:09 Ahmad Fatoum
     [not found] ` <VI1PR08MB1021788AAFA0E6A859BA3C18CC074A@VI1PR08MB10217.eurprd08.prod.outlook.com>
2025-06-12 10:44   ` Ahmad Fatoum [this message]

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=88d6ff32-3303-4e66-b886-b2c459913648@pengutronix.de \
    --to=a.fatoum@pengutronix.de \
    --cc=Dan.Handley@arm.com \
    --cc=Jose.Marinho@arm.com \
    --cc=Manish.Pandey2@arm.com \
    --cc=barebox@lists.infradead.org \
    --cc=ilias.apalodimas@linaro.org \
    --cc=kernel@pengutronix.de \
    --cc=m.tretter@pengutronix.de \
    --cc=op-tee@lists.trustedfirmware.org \
    --cc=raymond.mao@linaro.org \
    --cc=rouven.czerwinski@linaro.org \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox