diff --git a/arch/arm64/kvm/hyp/nvhe/ffa.c b/arch/arm64/kvm/hyp/nvhe/ffa.c index d199f868583e..969d72390844 100644 --- a/arch/arm64/kvm/hyp/nvhe/ffa.c +++ b/arch/arm64/kvm/hyp/nvhe/ffa.c @@ -45,16 +45,6 @@ static void ffa_to_smccc_error(struct arm_smccc_res *res, u64 ffa_errno) }; } -static void ffa_to_smccc_res_prop(struct arm_smccc_res *res, int ret, u64 prop) -{ - if (ret == FFA_RET_SUCCESS) { - *res = (struct arm_smccc_res) { .a0 = FFA_SUCCESS, - .a2 = prop }; - } else { - ffa_to_smccc_error(res, ret); - } -} - static void ffa_set_retval(struct kvm_cpu_context *ctxt, struct arm_smccc_res *res) { @@ -99,35 +89,6 @@ static bool ffa_call_unsupported(u64 func_id) return false; } -static bool do_ffa_features(struct arm_smccc_res *res, - struct kvm_cpu_context *ctxt) -{ - DECLARE_REG(u32, id, ctxt, 1); - u64 prop = 0; - int ret = 0; - - if (ffa_call_unsupported(id)) { - ret = FFA_RET_NOT_SUPPORTED; - goto out_handled; - } - - switch (id) { - case FFA_MEM_SHARE: - case FFA_FN64_MEM_SHARE: - case FFA_MEM_LEND: - case FFA_FN64_MEM_LEND: - ret = FFA_RET_SUCCESS; - prop = 0; /* No support for dynamic buffers */ - goto out_handled; - default: - return false; - } - -out_handled: - ffa_to_smccc_res_prop(res, ret, prop); - return true; -} - bool kvm_host_ffa_handler(struct kvm_cpu_context *host_ctxt) { DECLARE_REG(u64, func_id, host_ctxt, 0); @@ -137,10 +98,6 @@ bool kvm_host_ffa_handler(struct kvm_cpu_context *host_ctxt) return false; switch (func_id) { - case FFA_FEATURES: - if (!do_ffa_features(&res, host_ctxt)) - return false; - goto out_handled; /* Memory management */ case FFA_FN64_RXTX_MAP: case FFA_RXTX_UNMAP: @@ -157,7 +114,6 @@ bool kvm_host_ffa_handler(struct kvm_cpu_context *host_ctxt) return false; /* Pass through */ ffa_to_smccc_error(&res, FFA_RET_NOT_SUPPORTED); -out_handled: ffa_set_retval(host_ctxt, &res); return true; }