All of lore.kernel.org
 help / color / mirror / Atom feed
From: Aneesh Kumar K.V <aneesh.kumar@kernel.org>
To: Catalin Marinas <catalin.marinas@arm.com>
Cc: linux-coco@lists.linux.dev, linux-arm-kernel@lists.infradead.org,
	linux-kernel@vger.kernel.org,
	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>
Subject: Re: [PATCH v9 3/7] firmware: arm_rmm: Move RSI support out of arch/arm64
Date: Wed, 05 Aug 2026 18:35:42 +0530	[thread overview]
Message-ID: <yq5atsp83eft.fsf@kernel.org> (raw)
In-Reply-To: <anMcw5lTFN7OYreL@arm.com>

Catalin Marinas <catalin.marinas@arm.com> writes:

> On Wed, Aug 05, 2026 at 12:02:51PM +0530, Aneesh Kumar K.V (Arm) wrote:
>> The RSI SMCCC function IDs describe a firmware ABI and are not arm64
>> architecture specific definitions. Follow-up changes need to use them from
>> non-arch code, including drivers/firmware/smccc and the Arm CCA guest
>> driver.
>> 
>> Move the complete Realm Service Interface (RSI) implementation from
>> arch/arm64 to drivers/firmware/arm_rmm. The RSI SMCCC definitions and
>> command helpers are also moved to include/linux so they can be shared by
>> architecture code and firmware or driver code. This also keeps the
>> firmware interface outside architecture code, as requested [1].
>> 
>> [1] https://lore.kernel.org/all/agsNO9cc7H-b0H8L@willie-the-truck
>> 
>> Signed-off-by: Aneesh Kumar K.V (Arm) <aneesh.kumar@kernel.org>
>
> I haven't checked but Sashiko has some points that it may break the
> build on other architectures with COMPILE_TEST.
>
> https://sashiko.dev/#/patchset/20260805063255.1638614-1-aneesh.kumar@kernel.org
>
> (for some reason I get error 502 above; hopefully it's temporary)
>

Below is the sashiko output

>> -#endif /* __ASM_RSI_CMDS_H */
>> +#endif /* __LINUX_ARM_RSI_CMDS_H_ */
> Now that this header is moved to include/linux/ to be shared by cross
> architecture code, will it break non-ARM64 builds?
> Looking at rsi_attestation_token_init() further up in this file:
>    struct arm_smccc_1_2_regs regs;
>    ...
>    arm_smccc_1_2_smc(&args.regs, &args.regs);
>    
> Both struct arm_smccc_1_2_regs and arm_smccc_1_2_smc() are guarded by
> CONFIG_ARM64 in include/linux/arm-smccc.h. If a generic firmware driver
> using COMPILE_TEST includes this header on a different architecture, it
> seems compilation will fail.

Only arm64 code is including that header for now.

arch/arm64/mm/init.c:37:#include <linux/arm-rsi-cmds.h>
arch/arm64/include/asm/mem_encrypt.h:5:#include <linux/arm-rsi-cmds.h>
arch/arm64/include/asm/pgtable-prot.h:69:#include <linux/arm-rsi-cmds.h>
arch/arm64/include/asm/io.h:11:#include <linux/arm-rsi-cmds.h>
arch/arm64/kernel/setup.c:10:#include <linux/arm-rsi-cmds.h>
drivers/virt/coco/arm-cca-guest/arm-cca.c:6:#include <linux/arm-rsi-cmds.h>
drivers/firmware/arm_rmm/rsi.c:11:#include <linux/arm-rsi-cmds.h>

-aneesh

  reply	other threads:[~2026-08-05 13:05 UTC|newest]

Thread overview: 18+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2026-08-05  6:32 [PATCH v9 0/7] Switch Arm SMCCC firmware services to an SMCCC bus Aneesh Kumar K.V (Arm)
2026-08-05  6:32 ` [PATCH v9 1/7] firmware: smccc: Add an Arm " Aneesh Kumar K.V (Arm)
2026-08-05  6:32 ` [PATCH v9 2/7] firmware: hwrng: arm_smccc_trng: Register as an SMCCC device Aneesh Kumar K.V (Arm)
2026-08-05 11:08   ` Catalin Marinas
2026-08-05  6:32 ` [PATCH v9 3/7] firmware: arm_rmm: Move RSI support out of arch/arm64 Aneesh Kumar K.V (Arm)
2026-08-05 11:21   ` Catalin Marinas
2026-08-05 13:05     ` Aneesh Kumar K.V [this message]
2026-08-10 10:03   ` Suzuki K Poulose
2026-08-05  6:32 ` [PATCH v9 4/7] arm64: realm: Move Realm memory encryption ops to RSI code Aneesh Kumar K.V (Arm)
2026-08-10 10:12   ` Suzuki K Poulose
2026-08-10 12:15     ` Aneesh Kumar K.V
2026-08-05  6:32 ` [PATCH v9 5/7] virt: coco: arm-cca-guest: Rename TSM report source file Aneesh Kumar K.V (Arm)
2026-08-05  6:32 ` [PATCH v9 6/7] firmware: smccc: arm-cca-guest: Bind the TSM provider to an SMCCC device Aneesh Kumar K.V (Arm)
2026-08-05  6:32 ` [PATCH v9 7/7] coco: guest: arm64: Replace dummy CCA device with sysfs ABI Aneesh Kumar K.V (Arm)
2026-08-05  9:51 ` [PATCH v9 0/7] Switch Arm SMCCC firmware services to an SMCCC bus Catalin Marinas
2026-08-05 12:22   ` Aneesh Kumar K.V
2026-08-10  9:35     ` Aneesh Kumar K.V
2026-08-10 10:24       ` Will Deacon

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=yq5atsp83eft.fsf@kernel.org \
    --to=aneesh.kumar@kernel.org \
    --cc=Suzuki.Poulose@arm.com \
    --cc=andre.przywara@arm.com \
    --cc=catalin.marinas@arm.com \
    --cc=gregkh@linuxfoundation.org \
    --cc=jeremy.linton@arm.com \
    --cc=jic23@kernel.org \
    --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.