// Copyright 2018 The Fuchsia Authors // // Use of this source code is governed by a MIT-style // license that can be found in the LICENSE file or at // https://opensource.org/licenses/MIT #include "ddk_priv.h" #include zx_status_t arch_smc_call(const zx_smc_parameters_t* params, zx_smc_result_t* result) { auto arm_result = arm_smccc_smc(params->func_id, params->arg1, params->arg2, params->arg3, params->arg4, params->arg5, params->arg6, static_cast(params->secure_os_id) << 16 | static_cast(params->client_id)); result->arg0 = arm_result.x0; result->arg1 = arm_result.x1; result->arg2 = arm_result.x2; result->arg3 = arm_result.x3; return ZX_OK; }