[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: [PATCH v2 3/8] xen/arm: Add SCMI over SMC calls handling layer
Hi Andrei,
On 30/09/2024 12:47, Andrei Cherechesu (OSS) wrote:
+/*
+ * Generic handler for SCMI-SMC requests, currently only forwarding the
+ * request to FW running at EL3 if it came from Dom0. Is called from the vSMC
+ * layer for SiP SMCs, since SCMI calls are usually provided this way.
+ * Can also be called from `platform_smc()` plat-specific callback.
+ *
+ * Returns true if SMC was handled (regardless of response), false otherwise.
+ */
+bool scmi_handle_smc(struct cpu_user_regs *regs)
+{
+ struct arm_smccc_res res;
+
+ /* Only the hardware domain should use SCMI calls */
+ if ( !is_hardware_domain(current->domain) )
+ {
+ gprintk(XENLOG_ERR, "SCMI: Unprivileged d%d cannot use SCMI.\n",
+ current->domain->domain_id);
+ return false;
+ }
+
+ /* For the moment, forward the SCMI Request to FW running at EL3 */
+ arm_smccc_1_1_smc(scmi_smc_id,
Actually, shouldn't this be get_user_reg(regs, 0) so we don't rely on
scmi_handle_smc() to be called only when this is equal to scmi_smc_id?
The other option is to move the check for scmi_smc_id in this function.
Cheers,
--
Julien Grall
|