From: Catalin Marinas <catalin.marinas@arm.com>
To: "Aneesh Kumar K.V (Arm)" <aneesh.kumar@kernel.org>
Cc: linux-coco@lists.linux.dev, linux-arm-kernel@lists.infradead.org,
linux-kernel@vger.kernel.org, Jason Gunthorpe <jgg@nvidia.com>,
Greg KH <gregkh@linuxfoundation.org>,
Jeremy Linton <jeremy.linton@arm.com>,
Jonathan Cameron <jic23@kernel.org>,
Lorenzo Pieralisi <lpieralisi@kernel.org>,
Mark Rutland <mark.rutland@arm.com>,
Sudeep Holla <sudeep.holla@arm.com>,
Will Deacon <will@kernel.org>,
Steven Price <steven.price@arm.com>,
Suzuki K Poulose <Suzuki.Poulose@arm.com>,
Andre Przywara <andre.przywara@arm.com>,
Jonathan Cameron <jonathan.cameron@oss.qualcomm.com>
Subject: Re: [PATCH v12 7/7] coco: guest: arm64: Replace dummy CCA device with sysfs ABI
Date: Mon, 21 Sep 2026 10:00:27 +0100 [thread overview]
Message-ID: <arDyK8QDtCEc5SzU@arm.com> (raw)
In-Reply-To: <20260921053807.354802-8-aneesh.kumar@kernel.org>
On Mon, Sep 21, 2026 at 11:08:07AM +0530, Aneesh Kumar K.V (Arm) wrote:
> diff --git a/Documentation/ABI/testing/sysfs-firmware-cca b/Documentation/ABI/testing/sysfs-firmware-cca
> new file mode 100644
> index 000000000000..9cc355724f94
> --- /dev/null
> +++ b/Documentation/ABI/testing/sysfs-firmware-cca
> @@ -0,0 +1,7 @@
> +What: /sys/firmware/cca/realm_guest
> +Date: May 2026
Still May?
> +Contact: Linux ARM Kernel Mailing list <linux-arm-kernel@lists.infradead.org>
> +Description: Read-only. Present only when the kernel is running as an
> + Arm Confidential Compute Architecture (CCA) Realm guest, in
> + which case it reads 1. If the file does not exist, the kernel
> + is not running as a Realm guest.
> diff --git a/drivers/firmware/arm_rmm/rsi.c b/drivers/firmware/arm_rmm/rsi.c
> index 2dd69febedbd..425b27c0cad4 100644
> --- a/drivers/firmware/arm_rmm/rsi.c
> +++ b/drivers/firmware/arm_rmm/rsi.c
> @@ -7,14 +7,16 @@
> #include <linux/memblock.h>
> #include <linux/psci.h>
> #include <linux/swiotlb.h>
> -#include <linux/platform_device.h>
> #include <linux/arm-rsi-cmds.h>
> +#include <linux/kobject.h>
> +#include <linux/sysfs.h>
>
> #include <asm/io.h>
> #include <asm/mem_encrypt.h>
> #include <asm/pgtable.h>
>
> static struct realm_config config;
> +static struct kobject *cca_kobj;
Nit: do we need this static cca_kobj? Can you not just use a local
variable in realm_sysfs_init()?
>
> unsigned long prot_ns_shared;
> EXPORT_SYMBOL(prot_ns_shared);
> @@ -182,17 +184,36 @@ void __init arm64_rsi_init(void)
> static_branch_enable(&rsi_present);
> }
>
> -static struct platform_device rsi_dev = {
> - .name = "arm-cca-dev",
> - .id = PLATFORM_DEVID_NONE
> +static ssize_t realm_guest_show(struct kobject *kobj,
> + struct kobj_attribute *attr, char *buf)
> +{
> + return sysfs_emit(buf, "1\n");
> +}
> +
> +static struct kobj_attribute cca_realm_guest =
> + __ATTR(realm_guest, 0444, realm_guest_show, NULL);
Nit: __ATTR_RO,
> +
> +static const struct attribute *cca_realm_attrs[] = {
> + &cca_realm_guest.attr,
> + NULL
> };
>
> -static int __init arm64_create_dummy_rsi_dev(void)
> +static int __init realm_sysfs_init(void)
> {
> - if (is_realm_world() &&
> - platform_device_register(&rsi_dev))
> - pr_err("failed to register rsi platform device\n");
> - return 0;
> -}
> + int ret;
>
> -arch_initcall(arm64_create_dummy_rsi_dev)
> + if (!is_realm_world())
> + return 0;
> +
> + cca_kobj = kobject_create_and_add("cca", firmware_kobj);
> + if (!cca_kobj)
> + return -ENOMEM;
> +
> + ret = sysfs_create_files(cca_kobj, cca_realm_attrs);
> + if (!ret)
> + return 0;
> +
> + kobject_put(cca_kobj);
> + return ret;
> +}
> +device_initcall(realm_sysfs_init);
If you make it to here ;), I'd also split this patch in two as per
Jonathan's suggestion on the previous version.
--
Catalin
prev parent reply other threads:[~2026-09-21 9:00 UTC|newest]
Thread overview: 19+ messages / expand[flat|nested] mbox.gz Atom feed top
2026-09-21 5:38 [PATCH v12 0/7] Switch Arm SMCCC firmware services to an SMCCC bus Aneesh Kumar K.V (Arm)
2026-09-21 5:38 ` [PATCH v12 1/7] firmware: smccc: Add an Arm " Aneesh Kumar K.V (Arm)
2026-09-21 8:39 ` Catalin Marinas
2026-09-21 9:03 ` Aneesh Kumar K.V
2026-09-21 5:38 ` [PATCH v12 2/7] firmware: hwrng: arm_smccc_trng: Register as an SMCCC device Aneesh Kumar K.V (Arm)
2026-09-21 8:45 ` Catalin Marinas
2026-09-21 9:01 ` Aneesh Kumar K.V
2026-09-21 5:38 ` [PATCH v12 3/7] firmware: arm_rmm: Move RSI support out of arch/arm64 Aneesh Kumar K.V (Arm)
2026-09-21 8:50 ` Catalin Marinas
2026-09-21 5:38 ` [PATCH v12 4/7] arm64: realm: Move Realm memory encryption ops to RSI code Aneesh Kumar K.V (Arm)
2026-09-21 8:52 ` Catalin Marinas
2026-09-21 9:05 ` Aneesh Kumar K.V
2026-09-21 10:00 ` Suzuki K Poulose
2026-09-21 22:24 ` Jonathan Cameron
2026-09-21 5:38 ` [PATCH v12 5/7] virt: coco: arm-cca-guest: Rename TSM report source file Aneesh Kumar K.V (Arm)
2026-09-21 22:25 ` Jonathan Cameron
2026-09-21 5:38 ` [PATCH v12 6/7] firmware: smccc: arm-cca-guest: Bind the TSM provider to an SMCCC device Aneesh Kumar K.V (Arm)
2026-09-21 5:38 ` [PATCH v12 7/7] coco: guest: arm64: Replace dummy CCA device with sysfs ABI Aneesh Kumar K.V (Arm)
2026-09-21 9:00 ` Catalin Marinas [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=arDyK8QDtCEc5SzU@arm.com \
--to=catalin.marinas@arm.com \
--cc=Suzuki.Poulose@arm.com \
--cc=andre.przywara@arm.com \
--cc=aneesh.kumar@kernel.org \
--cc=gregkh@linuxfoundation.org \
--cc=jeremy.linton@arm.com \
--cc=jgg@nvidia.com \
--cc=jic23@kernel.org \
--cc=jonathan.cameron@oss.qualcomm.com \
--cc=linux-arm-kernel@lists.infradead.org \
--cc=linux-coco@lists.linux.dev \
--cc=linux-kernel@vger.kernel.org \
--cc=lpieralisi@kernel.org \
--cc=mark.rutland@arm.com \
--cc=steven.price@arm.com \
--cc=sudeep.holla@arm.com \
--cc=will@kernel.org \
/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.