Re: [PATCH v11 7/7] coco: guest: arm64: Replace dummy CCA device with sysfs ABI
From: Jonathan Cameron
Date: Mon Sep 14 2026 - 17:00:37 EST
On Mon, 14 Sep 2026 11:35:11 +0530
"Aneesh Kumar K.V (Arm)" <aneesh.kumar@xxxxxxxxxx> wrote:
> The SMCCC firmware driver now creates the arm-smccc platform device and
> instantiates the CCA RSI auxiliary devices once the RSI ABI is discovered.
> The arm64-specific arm-cca-dev platform device stub is therefore no longer
> needed.
>
> However, userspace has used the arm-cca-dev platform device to detect Arm
> CCA Realm guests [1]. Removing it without a replacement would break that
> detection and would also leave userspace depending on kernel device-model
> details.
>
> Add /sys/firmware/cca/realm_guest as a stable, architecture-provided ABI
> for detecting whether the kernel is running as an Arm CCA Realm guest. The
> file returns 1 in Realm world and 0 otherwise, similar to the existing s390
> /sys/firmware/uv/prot_virt_guest interface for protected virtualization
> guests.
>
> Remove the dummy arm-cca-dev registration now that userspace has a
> dedicated CCA Realm guest indicator, and document the new ABI in
> Documentation/ABI/testing/sysfs-firmware-cca.
My gut feeling would be to split this in to the new stuff in first patch
and the removal in second. That would make a revert simpler should it
turn out that someone has userspace that will actually notice and can't
be easily updated. I'm not that bothered though as it will be your problem
not mine (hopefully!) ;)
>
> [1] https://lore.kernel.org/all/4a7d84b2-2ec4-4773-a2d5-7b63d5c683cf@xxxxxxx
Could make that a link tag.
Link: https://lore.kernel.org/all/4a7d84b2-2ec4-4773-a2d5-7b63d5c683cf@xxxxxxx #[1]
> Reviewed-by: Jason Gunthorpe <jgg@xxxxxxxxxx>
> Signed-off-by: Aneesh Kumar K.V (Arm) <aneesh.kumar@xxxxxxxxxx>
One trivial thing inline.
Reviewed-by: Jonathan Cameron <jonathan.cameron@xxxxxxxxxxxxxxxx>
> ---
> Documentation/ABI/testing/sysfs-firmware-cca | 10 +++++
> drivers/firmware/arm_rmm/rsi.c | 42 +++++++++++++++-----
> 2 files changed, 42 insertions(+), 10 deletions(-)
> create mode 100644 Documentation/ABI/testing/sysfs-firmware-cca
>
> diff --git a/Documentation/ABI/testing/sysfs-firmware-cca b/Documentation/ABI/testing/sysfs-firmware-cca
> new file mode 100644
> index 000000000000..bf177d636b92
> --- /dev/null
> +++ b/Documentation/ABI/testing/sysfs-firmware-cca
> @@ -0,0 +1,10 @@
> +What: /sys/firmware/cca/realm_guest
> +Date: May 2026
> +Contact: Linux ARM Kernel Mailing list <linux-arm-kernel@xxxxxxxxxxxxxxxxxxx>
> +Description: Read-only. Indicates whether the kernel is running as an
> + Arm Confidential Compute Architecture (CCA) Realm guest.
> +
> + The value is one of:
> +
> + 0: the kernel is not running as a Realm guest
> + 1: the kernel is running as a Realm guest
> diff --git a/drivers/firmware/arm_rmm/rsi.c b/drivers/firmware/arm_rmm/rsi.c
> index 2dd69febedbd..52f40256bd78 100644
> --- a/drivers/firmware/arm_rmm/rsi.c
> +++ b/drivers/firmware/arm_rmm/rsi.c
> +static const struct attribute *cca_realm_attrs[] = {
> + &cca_realm_guest.attr,
> + NULL,
Given we don't want anything added after this, no comma ideally.
> };