[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index] Re: [PATCH v2 4/8] xen/arm: vsmc: Enable handling SiP-owned SCMI SMC calls
Hi, On 30/09/2024 12:47, Andrei Cherechesu (OSS) wrote: From: Andrei Cherechesu <andrei.cherechesu@xxxxxxx> Change the handling of SiP SMC calls to be more generic, instead of directly relying on the `platform_smc()` callback implementation. Try to handle the SiP SMC first through the `platform_smc()` callback (if implemented). If not handled, check if the SCMI layer is available and that the SMC is a valid SCMI message. Handle it then within the SCMI layer which forwards it to EL3 FW, only if the SMC comes from Dom0. NIT: I would remove the last sentence as this is implementation details. But if you want to keep it, then s/Dom0/Hardware domain/ Signed-off-by: Andrei Cherechesu <andrei.cherechesu@xxxxxxx> --- xen/arch/arm/vsmc.c | 19 ++++++++++++++++++- 1 file changed, 18 insertions(+), 1 deletion(-) diff --git a/xen/arch/arm/vsmc.c b/xen/arch/arm/vsmc.c index 7f2f5eb9ce..0de194a132 100644 --- a/xen/arch/arm/vsmc.c +++ b/xen/arch/arm/vsmc.c @@ -14,6 +14,7 @@ #include <asm/cpufeature.h> #include <asm/monitor.h> #include <asm/regs.h> +#include <asm/scmi-smc.h> #include <asm/smccc.h> #include <asm/tee/ffa.h> #include <asm/tee/tee.h> @@ -224,6 +225,22 @@ static bool handle_sssc(struct cpu_user_regs *regs) } }+/* Secure Calls defined by the Silicon Provider (SiP) */+static bool handle_sip(struct cpu_user_regs *regs) +{ + uint32_t fid = (uint32_t)get_user_reg(regs, 0); + + /* Firstly, let each platform define custom handling for these SMCs */ + if ( platform_smc(regs) ) + return true; + + /* Otherwise, if valid SCMI SMC, forward the call to EL3 */ This comment is likely going to stale. This is up to smci_handle_smc() to decide what to do. So I would remove this comment. With that: Acked-by: Julien Grall <jgrall@xxxxxxxxxx> Cheers, -- Julien Grall
|
![]() |
Lists.xenproject.org is hosted with RackSpace, monitoring our |