All of lore.kernel.org
 help / color / mirror / Atom feed
From: Beleswar Prasad Padhi <b-padhi@ti.com>
To: Andrew Davis <afd@ti.com>, Anshul Dalal <anshuld@ti.com>,
	<trini@konsulko.com>
Cc: <sjg@chromium.org>, <xypron.glpk@gmx.de>, <cfsworks@gmail.com>,
	<nm@ti.com>, <hnagalla@ti.com>, <n-francis@ti.com>, <jm@ti.com>,
	<u-kumar1@ti.com>, <m-chawdhry@ti.com>, <kamlesh@ti.com>,
	<bb@ti.com>, <j-humphreys@ti.com>, <s-k6@ti.com>,
	<j-choudhary@ti.com>, <d-gole@ti.com>, <u-boot@lists.denx.de>
Subject: Re: [PATCH v2 4/7] arm: dts: k3-{j721s2/j784s4}-binman: Pack HSM firmware inside tispl.bin
Date: Fri, 9 May 2025 10:45:17 +0530	[thread overview]
Message-ID: <00107029-5e1c-4e41-a21f-7dbfd024e8ac@ti.com> (raw)
In-Reply-To: <949dceec-a4f2-4420-9b34-caf3f54f49b6@ti.com>

Hi Andrew,

On 08/05/25 20:58, Andrew Davis wrote:
> On 5/8/25 10:03 AM, Beleswar Prasad Padhi wrote:
>>
>> On 5/8/2025 5:29 PM, Anshul Dalal wrote:
>>> On Wed May 7, 2025 at 8:53 PM IST, Andrew Davis wrote:
>>>> On 5/7/25 9:56 AM, Beleswar Prasad Padhi wrote:
>>>>> On 5/7/2025 3:09 PM, Anshul Dalal wrote:
>>>>>> On Tue May 6, 2025 at 4:11 PM IST, Beleswar Padhi wrote:
>>>>>>> Pack the HSM firmware in tispl.bin fit image so that it can be unloaded
>>>>>>> and used by R5 SPL to boot the HSM core. By default, point to the
>>>>>>> firmware for HS-SE device type. This needs to be changed to point to
>>>>>>> appropriate firmware when using a different device type.
>>>>>>>
>>>>>>> Signed-off-by: Beleswar Padhi <b-padhi@ti.com>
>>>>>>> ---
>>>>>>> v2: Changelog:
>>>>>>> None to this patch.
>>>>>>>
>>>>>>> Link to v1:
>>>>>>> https://lore.kernel.org/all/20250422095430.363792-4-b-padhi@ti.com/
>>>>>>>
>>>>>>>    arch/arm/dts/k3-j721s2-binman.dtsi | 12 ++++++++++++
>>>>>>>    arch/arm/dts/k3-j784s4-binman.dtsi | 14 ++++++++++++++
>>>>>>>    2 files changed, 26 insertions(+)
>>>>>>>
>>>>>>> diff --git a/arch/arm/dts/k3-j721s2-binman.dtsi b/arch/arm/dts/k3-j721s2-binman.dtsi
>>>>>>> index 73af184d27e..9c8b29f53bb 100644
>>>>>>> --- a/arch/arm/dts/k3-j721s2-binman.dtsi
>>>>>>> +++ b/arch/arm/dts/k3-j721s2-binman.dtsi
>>>>>>> @@ -273,6 +273,14 @@
>>>>>>>                        };
>>>>>>>                    };
>>>>>>> +#ifdef CONFIG_K3_HSM_FW
>>>>>>> +                hsm {
>>>>>>> +                    hsm: blob-ext {
>>>>>>> +                        filename = "ti-hsm/hsm-demo-firmware-j721s2-hs.bin";
>>>>>>> +                    };
>>>>>>> +                };
>>>>>>> +#endif
>>>>>>> +
>>>>>> Why do we have the hsm binaries pre-signed? Having a common binary like
>>>>>> the DM with signing using ti-secure might be a better option.
>>>>>
>>>>> Andrew can correct me if I am wrong,
>>>>> HSM is meant to run secure software stack and services like Authentication etc. It is a +1 to TIFS. To establish ROT, we need the HSM binary to be encrypted, and authenticated by TIFS first before it can do stuff by itself. DM is not a secure entity, so signing the image doesn't make sense for me.
>>>>>
>>>> I think Anshul is not suggesting that the HSM binary be unencrypted/unauthenticated.
>>>> Rather that the encrypting/signing be done here in binman like we do with TF-A/OP-TEE.
>>>> (which both are part trusted images to be loaded by TIFS).
>>>>
>>>> To that suggestion I agree, the customer will be doing the signing of this binary, right?
>>>> If so then since all other customer signing is done as part of binman, it makes sense
>>>> to also sign HSM firmware here too.
>>>>
>>>> Andrew
>>> Yeah, that is what I was going for. With that change it could be
>>> possible to also have a single binary for all platforms (gp, hs, hs-fs)
>>> in ti-linux-firmware?
>>>
>>> Also, why are we not adding an unsigned variant of the hsm binary in
>>> tispl.bin_unsigned?
>>
>>
>> What's the use case for that? I think we established that HSM won't be used unsigned. So it will just bloat the FIT and never be used.
>>
>
> We ship an unsigned HSM firmware for GP devices[0], and in patch [7/7] of this
> series you add support for loading that unsigned HSM firmware. 


That is a System Firmware limitation; i.e., no support of loading HSM FW for GP devices. We are providing a workaround for that by manually loading it from MCU R5 core. Besides, HSM SRAM should not even be accessible by MCU R5F core in the first place. HSM should only be accessible & loaded by TIFS. So once the SRAM is firewalled, this flow for loading GP bins won't work, and SYSFW will somehow have to support that, or we just give up unsigned bin load support.

> Seems odd to
> then not ever package it here in binman and claim we will never use it?


IMHO, users can "choose" to package that unsigned HSM bin and boot it in the current flow. Please let me know, if you are okay with packaging an unsigned HSM binary "by default", given the above caveat?

Thanks,
Beleswar

>
> Andrew
>
> [0] https://git.ti.com/cgit/processor-firmware/ti-linux-firmware/tree/ti-hsm?h=ti-linux-firmware

  reply	other threads:[~2025-05-09  5:15 UTC|newest]

Thread overview: 29+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2025-05-06 10:41 [PATCH v2 0/7] Add support to boot TI K3 HSM M4 core Beleswar Padhi
2025-05-06 10:41 ` [PATCH v2 1/7] arm: mach-k3: Add config option for booting HSM core Beleswar Padhi
2025-05-06 10:41 ` [PATCH v2 2/7] spl: Use FIT data address as fallback when 'load' property is absent Beleswar Padhi
2025-05-06 10:41 ` [PATCH v2 3/7] arm: dts: k3-binman: Add template for packing HSM firmware Beleswar Padhi
2025-05-06 10:41 ` [PATCH v2 4/7] arm: dts: k3-{j721s2/j784s4}-binman: Pack HSM firmware inside tispl.bin Beleswar Padhi
2025-05-07  9:39   ` Anshul Dalal
2025-05-07 14:56     ` Beleswar Prasad Padhi
2025-05-07 15:23       ` Andrew Davis
2025-05-08 11:55         ` Anshul Dalal
2025-05-08 11:59         ` Anshul Dalal
2025-05-08 15:03           ` Beleswar Prasad Padhi
2025-05-08 15:28             ` Andrew Davis
2025-05-09  5:15               ` Beleswar Prasad Padhi [this message]
2025-11-19 10:15           ` Beleswar Prasad Padhi
2025-05-06 10:42 ` [PATCH v2 5/7] arm: mach-k3: Use FIT image data addr as fallback if 'load' prop is missing Beleswar Padhi
2025-05-06 10:42 ` [PATCH v2 6/7] arm: mach-k3: Explicitly identify TIFSSTUB images when discarding buffers Beleswar Padhi
2025-05-06 10:42 ` [PATCH v2 7/7] arm: mach-k3: r5: common: Add support to boot HSM M4 core Beleswar Padhi
2025-05-06 11:06   ` Andrew Davis
2025-05-06 14:36     ` Beleswar Prasad Padhi
2025-05-08 12:10   ` Anshul Dalal
2025-05-06 11:08 ` [PATCH v2 0/7] Add support to boot TI K3 " Andrew Davis
2025-05-06 14:51   ` Beleswar Prasad Padhi
2025-05-06 15:08     ` Andrew Davis
2025-05-06 17:17       ` Kumar, Udit
2025-05-06 17:19         ` Tom Rini
2025-05-06 18:12           ` Andrew Davis
2025-05-07  4:16             ` Kumar, Udit
2025-05-07 10:28             ` Beleswar Prasad Padhi
2025-05-07 15:53               ` Andrew Davis

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=00107029-5e1c-4e41-a21f-7dbfd024e8ac@ti.com \
    --to=b-padhi@ti.com \
    --cc=afd@ti.com \
    --cc=anshuld@ti.com \
    --cc=bb@ti.com \
    --cc=cfsworks@gmail.com \
    --cc=d-gole@ti.com \
    --cc=hnagalla@ti.com \
    --cc=j-choudhary@ti.com \
    --cc=j-humphreys@ti.com \
    --cc=jm@ti.com \
    --cc=kamlesh@ti.com \
    --cc=m-chawdhry@ti.com \
    --cc=n-francis@ti.com \
    --cc=nm@ti.com \
    --cc=s-k6@ti.com \
    --cc=sjg@chromium.org \
    --cc=trini@konsulko.com \
    --cc=u-boot@lists.denx.de \
    --cc=u-kumar1@ti.com \
    --cc=xypron.glpk@gmx.de \
    /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 an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.