[<prev] [next>] [<thread-prev] [day] [month] [year] [list]
Message-ID: <8ff96355-4a53-4790-9d2c-ea7d63be77c4@oss.qualcomm.com>
Date: Thu, 5 Feb 2026 22:37:26 -0800
From: Trilok Soni <trilokkumar.soni@....qualcomm.com>
To: Salman Nabi <salman.nabi@....com>, vvidwans@...dia.com,
andre.przywara@....com, sudeep.holla@....com, mark.rutland@....com,
lpieralisi@...nel.org
Cc: ardb@...nel.org, chao.gao@...el.com, linux-arm-kernel@...ts.infradead.org,
linux-coco@...ts.linux.dev, linux-kernel@...r.kernel.org,
sdonthineni@...dia.com, vsethi@...dia.com, vwadekar@...dia.com
Subject: Re: [PATCH 1/1] firmware: smccc: add support for Live Firmware
Activation (LFA)
On 2/2/2026 7:52 AM, Salman Nabi wrote:
> Hi Trilok,
>
> On 1/31/26 01:35, Trilok Soni wrote:
>> On 1/19/2026 4:27 AM, Salman Nabi wrote:
>>> The Arm Live Firmware Activation (LFA) is a specification [1] to describe
>>> activating firmware components without a reboot. Those components
>>> (like TF-A's BL31, EDK-II, TF-RMM, secure paylods) would be updated the
s/paylods/payloads
>>> usual way: via fwupd, FF-A or other secure storage methods, or via some
>>> IMPDEF Out-Of-Bound method. The user can then activate this new firmware,
>>> at system runtime, without requiring a reboot.
>>> The specification covers the SMCCC interface to list and query available
>>> components and eventually trigger the activation.
>>>
>>> Add a new directory under /sys/firmware to present firmware components
>>> capable of live activation. Each of them is a directory under lfa/,
>>> and is identified via its GUID. The activation will be triggered by echoing
>>> "1" into the "activate" file:
>>> ==========================================
>>> /sys/firmware/lfa # ls -l . 6c*
>>> .:
>>> total 0
>>> drwxr-xr-x 2 0 0 0 Jan 19 11:33 47d4086d-4cfe-9846-9b95-2950cbbd5a00
>>> drwxr-xr-x 2 0 0 0 Jan 19 11:33 6c0762a6-12f2-4b56-92cb-ba8f633606d9
>>> drwxr-xr-x 2 0 0 0 Jan 19 11:33 d6d0eea7-fcea-d54b-9782-9934f234b6e4
>> Can you please explain or add a note on why we don't have name of the firmware
>> as the directory name and why you have selected GUID as top-level
>> directory name?
>
>
> We obtain the GUIDs of firmware components from the LFA agent in TF-A, which does not provide their names. For convenience, we have added a C structure in the driver to associate each firmware GUID with its corresponding name. Because new firmware components may be supported in the LFA agent before their GUID-to-name mapping is added to the driver, we avoid using the firmware name as the directory (kobject) name.
>
> Additionally, sysfs requires directory names to be unique among siblings. Since GUIDs are inherently unique, they provide a convenient, collision-free choice for directory names.
Thank you for the explanation. Please add these details in the commit text.
---Trilok Soni
Powered by blists - more mailing lists