Lines Matching refs:smc_fid
39 static bool get_handler_for_smc_fid(uint32_t smc_fid, rt_svc_handle_t *handler) in get_handler_for_smc_fid() argument
45 idx = get_unique_oen_from_smc_fid(smc_fid); in get_handler_for_smc_fid()
181 static u_register_t get_flags(uint32_t smc_fid, u_register_t scr_el3) in get_flags() argument
202 flags |= smc_fid & MASK(FUNCID_SVE_HINT); in get_flags()
207 static void sync_handler(cpu_context_t *ctx, uint32_t smc_fid) in sync_handler() argument
217 if (EXTRACT(FUNCID_TYPE, smc_fid) == SMC_TYPE_FAST && in sync_handler()
218 EXTRACT(FUNCID_FC_RESERVED, smc_fid) != 0) { in sync_handler()
222 smc_fid &= ~MASK(FUNCID_SVE_HINT); in sync_handler()
225 if (!get_handler_for_smc_fid(smc_fid, &handler)) { in sync_handler()
231 handler(smc_fid, x1, x2, x3, x4, NULL, ctx, get_flags(smc_fid, scr_el3)); in sync_handler()
236 uint32_t smc_fid = read_ctx_reg(get_gpregs_ctx(ctx), CTX_GPREG_X0); in handler_sync_exception() local
242 if (exc_class == EC_AARCH32_SMC && EXTRACT(FUNCID_CC, smc_fid) != 0) { in handler_sync_exception()
245 return sync_handler(ctx, smc_fid); in handler_sync_exception()
247 int ret = handle_sysreg_trap(esr_el3, ctx, get_flags(smc_fid, read_scr_el3())); in handler_sync_exception()
291 uintptr_t handle_runtime_svc(uint32_t smc_fid, in handle_runtime_svc() argument
301 if (!get_handler_for_smc_fid(smc_fid, &handler)) { in handle_runtime_svc()
307 return handler(smc_fid, x1, x2, x3, x4, cookie, handle, flags); in handle_runtime_svc()