RE: [RFC PATCH 2/6] firmware: smccc: Detect hypervisor via RSI host call in CCA Realms
"Kameron Carr" <[email protected]>
| Newsgroups | org.kernel.vger.linux-hyperv,org.infradead.lists.linux-arm-kernel,org.kernel.vger.linux-arch,org.kernel.vger.linux-kernel |
|---|---|
| Message-ID | <[email protected]> |
On Thursday, June 18, 2026 10:46 AM, Michael Kelley wrote: > From: Kameron Carr <[email protected]> Sent: Tuesday, June > 9, 2026 11:10 AM > > diff --git a/drivers/firmware/smccc/smccc.c > b/drivers/firmware/smccc/smccc.c > > index bdee057db2fd3..6b465e65472b0 100644 > > --- a/drivers/firmware/smccc/smccc.c > > +++ b/drivers/firmware/smccc/smccc.c > > @@ -12,6 +12,12 @@ > > #include <linux/platform_device.h> > > #include <asm/archrandom.h> > > > > +#ifdef CONFIG_ARM64 > > +#include <linux/cleanup.h> > > +#include <linux/spinlock.h> > > +#include <asm/rsi.h> > > +#endif > > + > > static u32 smccc_version = ARM_SMCCC_VERSION_1_0; > > static enum arm_smccc_conduit smccc_conduit = SMCCC_CONDUIT_NONE; > > > > @@ -67,12 +73,45 @@ s32 arm_smccc_get_soc_id_revision(void) > > } > > EXPORT_SYMBOL_GPL(arm_smccc_get_soc_id_revision); > > > > +#ifdef CONFIG_ARM64 > > +static struct rsi_host_call uuid_hc; > > +static DEFINE_SPINLOCK(uuid_hc_lock); > > So evidently Sashiko is wrong in saying that struct rsi_host_call must be > in decrypted memory? Yes, Sashiko is wrong. The RMM spec clearly states that the rsi_host_call struct must be encrypted / "protected". The other two requirements are 256 aligned and not RIPAS_EMPTY.