Re: [PATCH] firmware: smccc: default ARM_SMCCC_SOC_ID to disabled
From: Satya Durga Srinivasu Prabhala
Date: Wed Jan 14 2026 - 11:50:26 EST
Hello Sudeep,
On 1/13/2026 4:29 AM, Sudeep Holla wrote:
On Mon, Jan 12, 2026 at 10:24:06PM -0800, Satya Durga Srinivasu Prabhala wrote:Would like to add some history here. Vendor interface existed [1] even before
The ARM SMCCC SoC ID driver is currently enabled by default and publishesInstead of relying on a vendor-specific SoC driver, we should consider
SMCCC-provided SoC identification into /sys/bus/soc/devices/socX/*.
On platforms where a vendor SoC driver already exposes widely-consumed
attributes (e.g. Qualcomm socinfo [1]), enabling the SMCCC driver changes
the format of /sys/devices/soc0/soc_id (e.g. "jep106:XXYY:ZZZZ" instead
of a vendor logical ID like "519") and breaks existing userspace consumers.
disabling it and using the OS-agnostic SoC information interface provided by
the firmware.
SMCCC SMC ID was introduced [2]. And there are several user space entities which
uses the soc0 interface already.
The presence of this interface strongly suggests that theThat is correct. We started seeing the issue with user space when our firmware
firmware is designed to support multiple operating systems or software stacks
that already depend on it.
started implementing support for SMCCC SOC ID recently for non-Linux based product.
As the firmware remain same across OSes, user space is broken on Linux.
Aligning the Linux kernel with thisAgree. Updating entire use space would need time and we are looking to see
firmware-defined, OS-agnostic mechanism would reduce vendor-specific
dependencies and improve portability. Any gaps can be addressed by enhancing
userspace to correctly parse and consume this information.
if vendor specific interface can be given priority over the standard interface.
Given theseAs mentioned above, existing user space will be broken and fixing existing user
advantages, why would this approach not be the better long-term solution?
space is going to take time. As the feature itself is "optional" from SMCCC
specification, if we can't disable by default, we should at-least have a way
to disable the feature by other means.
[1]
https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git/commit/drivers/soc/qcom/socinfo.c?id=efb448d0a3fca01bb987dd70963da6185b81751e
[2]
https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git/commit/drivers/firmware/smccc/soc_id.c?id=821b67fa46390baea0ac5139a60eaa48805261b2