Devicetree
 help / color / mirror / Atom feed
From: Andre Przywara <andre.przywara@arm.com>
To: Sudeep Holla <sudeep.holla@kernel.org>
Cc: Mark Rutland <mark.rutland@arm.com>,
	Lorenzo Pieralisi <lpieralisi@kernel.org>,
	Salman Nabi <salman.nabi@arm.com>,
	Vedashree Vidwans <vvidwans@nvidia.com>,
	Trilok Soni <trilokkumar.soni@oss.qualcomm.com>,
	Nirmoy Das <nirmoyd@nvidia.com>,
	vsethi@nvidia.com, Varun Wadekar <vwadekar@nvidia.com>,
	linux-arm-kernel@lists.infradead.org,
	linux-kernel@vger.kernel.org, Rob Herring <robh@kernel.org>,
	Krzysztof Kozlowski <krzk+dt@kernel.org>,
	Conor Dooley <conor+dt@kernel.org>,
	devicetree@vger.kernel.org
Subject: Re: [PATCH v4 8/8] firmware: smccc: lfa: add sysfs ABI documentation
Date: Fri, 16 Oct 2026 19:35:00 +0100	[thread overview]
Message-ID: <cb22948f-4e46-4b26-ba66-5b10054d6088@arm.com> (raw)
In-Reply-To: <20260921-essential-inquisitive-spaniel-9801eb@sudeepholla>

Hi Sudeep,

On 9/21/26 18:19, Sudeep Holla wrote:
> On Fri, Sep 18, 2026 at 04:11:11PM +0200, Andre Przywara wrote:
>> Document the sysfs attribute files as exported by the LFA driver.
>>
> 
> Looking at the sysfs output in 2/8 message log,
> activation_pending is missing from the documentation.

Ah, good point, added now.

> 
>> Signed-off-by: Andre Przywara <andre.przywara@arm.com>
>> ---
>>   Documentation/ABI/testing/sysfs-firmware-lfa | 106 +++++++++++++++++++
>>   1 file changed, 106 insertions(+)
>>   create mode 100644 Documentation/ABI/testing/sysfs-firmware-lfa
>>
>> diff --git a/Documentation/ABI/testing/sysfs-firmware-lfa b/Documentation/ABI/testing/sysfs-firmware-lfa
>> new file mode 100644
>> index 0000000000000..afd349af9cf14
>> --- /dev/null
>> +++ b/Documentation/ABI/testing/sysfs-firmware-lfa
>> @@ -0,0 +1,106 @@
>> +What:		/sys/firmware/lfa
>> +Date:		May 2026
>> +Contact:	Andre Przywara <andre.przywara@arm.com>
>> +Description:
>> +		The Arm Live Firmware Activation (LFA) spec describes an
>> +		interface between platform firmware (an agent) and any user
>> +		on the non-secure side (like the Linux kernel) to activate
>> +		pending firmware updates at runtime. The actual firmware
>> +		update would be provided independently (out-of-band, or
>> +		via any existing explicit firmware update mechanisms), then,
>> +		if supported, can be activated immediately, without rebooting
>> +		the system.
>> +		This directory contains one directory for each of the LFA
>> +		capable firmware images supported by the agent, identified by
>> +		its GUID. Within each directory, the same set of sysfs files
>> +		provides access to the properties and actions for this
>> +		particular firmware image.
>> +
>> +What:		/sys/firmware/lfa/<GUID>/activate
>> +Date:		May 2026
>> +Contact:	Andre Przywara <andre.przywara@arm.com>
>> +Description:
>> +		(WO) Write a boolean 'true' value to trigger the
>> +		activation of that firmware component. An update must be
>> +		pending for this to be successful.
>> +
>> +What:		/sys/firmware/lfa/<GUID>/activation_capable
>> +Date:		May 2026
>> +Contact:	Andre Przywara <andre.przywara@arm.com>
>> +Description:
>> +		(RO) A boolean value to show whether this firmware image is
>> +		capable of being activated.
>> +
>> +What:		/sys/firmware/lfa/<GUID>/auto_activate
>> +Date:		May 2026
>> +Contact:	Andre Przywara <andre.przywara@arm.com>
>> +Description:
>> +		(RW) Write a boolean 'true' value to allow a firmware image
>> +		to be automatically activated once a new firmware update
>> +		becomes available ("pending"). This depends on a working
>> +		notification scheme, for instance via an ACPI notification
>> +		or an interrupt to notify the kernel.
>> +
>> +What:		/sys/firmware/lfa/<GUID>/cancel
>> +Date:		May 2026
>> +Contact:	Andre Przywara <andre.przywara@arm.com>
>> +Description:
>> +		(WO) Write a boolean 'true' value to cancel a recently
>> +		triggered activation, if that has not finished yet.
>> +
>> +What:		/sys/firmware/lfa/<GUID>/cpu_rendezvous
>> +Date:		May 2026
>> +Contact:	Andre Przywara <andre.przywara@arm.com>
>> +Description:
>> +		(RO) A boolean value to show whether this image requires
>> +		a CPU rendezvous in firmware to be activated. If true, this
>> +		means all CPUs will enter the firmware during the activation
>> +		process, so will not be able to execute kernel code or
>> +		handle interrupts for a brief moment.
> 
> What use does the userspace have with this 'activation_pending' and

activation_pending is probably the most useful of those attributes, 
since it tells the user that an update image has been deployed and is 
ready to be activated. For out-of-band updates this is the only 
information that we have, if we don't allow automatic updates. Userland 
could poll this file, or rather use some udev magic to be notified, as 
Nirmoy sketched up a while ago.

> 'may_reset_cpu' ? We should drop them unless you convince otherwise.

The consequence of may_reset_cpu is that a component cannot be updated 
at the moment. I think that's an important information to have.

Besides, the idea is to rather not filter too much here, but just expose 
the information that the firmware gives us. I am expecting some userland 
component (either a daemon or fwupd) to process this information, and 
let the kernel act more or less as a middle man to do the SMC calls.

Cheers,
Andre


      reply	other threads:[~2026-10-16 18:35 UTC|newest]

Thread overview: 27+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2026-09-18 14:11 [PATCH v4 0/8] Arm Live Firmware Activation (LFA) support Andre Przywara
2026-09-18 14:11 ` [PATCH v4 1/8] dt-bindings: arm: Add Live Firmware Activation Andre Przywara
2026-09-21 15:10   ` Sudeep Holla
2026-09-21 15:41     ` Andre Przywara
2026-09-18 14:11 ` [PATCH v4 2/8] firmware: smccc: Add support for Live Firmware Activation (LFA) Andre Przywara
2026-09-18 15:24   ` Mark Rutland
2026-09-21 15:25     ` Andre Przywara
2026-10-13 14:48       ` Mark Rutland
2026-10-16 17:42         ` Andre Przywara
2026-10-16 18:13           ` Mark Rutland
2026-09-21 15:32   ` Sudeep Holla
2026-09-23 11:46     ` Andre Przywara
2026-09-23 11:58       ` Sudeep Holla
2026-09-18 14:11 ` [PATCH v4 3/8] firmware: smccc: lfa: Add timeout and trigger watchdog Andre Przywara
2026-09-21 15:36   ` Sudeep Holla
2026-10-02 13:57     ` Andre Przywara
2026-09-18 14:11 ` [PATCH v4 4/8] firmware: smccc: lfa: Register ACPI notification Andre Przywara
2026-09-21 16:04   ` Sudeep Holla
2026-10-02 13:37     ` Andre Przywara
2026-09-18 14:11 ` [PATCH v4 5/8] firmware: smccc: lfa: Add auto_activate sysfs file Andre Przywara
2026-09-18 14:11 ` [PATCH v4 6/8] firmware: smccc: lfa: Register DT interrupt Andre Przywara
2026-09-21 16:09   ` Sudeep Holla
2026-10-16 17:43     ` Andre Przywara
2026-09-18 14:11 ` [PATCH v4 7/8] firmware: smccc: lfa: introduce SMC access lock Andre Przywara
2026-09-18 14:11 ` [PATCH v4 8/8] firmware: smccc: lfa: add sysfs ABI documentation Andre Przywara
2026-09-21 16:19   ` Sudeep Holla
2026-10-16 18:35     ` Andre Przywara [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=cb22948f-4e46-4b26-ba66-5b10054d6088@arm.com \
    --to=andre.przywara@arm.com \
    --cc=conor+dt@kernel.org \
    --cc=devicetree@vger.kernel.org \
    --cc=krzk+dt@kernel.org \
    --cc=linux-arm-kernel@lists.infradead.org \
    --cc=linux-kernel@vger.kernel.org \
    --cc=lpieralisi@kernel.org \
    --cc=mark.rutland@arm.com \
    --cc=nirmoyd@nvidia.com \
    --cc=robh@kernel.org \
    --cc=salman.nabi@arm.com \
    --cc=sudeep.holla@kernel.org \
    --cc=trilokkumar.soni@oss.qualcomm.com \
    --cc=vsethi@nvidia.com \
    --cc=vvidwans@nvidia.com \
    --cc=vwadekar@nvidia.com \
    /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