702 struct arm_smccc_res res;
709 arm_smccc_1_1_smc(FFA_VERSION, FFA_VERSION_1_0, 0, 0, 0, 0, 0, 0, &res);
710 if (res.a0 == FFA_RET_NOT_SUPPORTED)
726 if (FFA_MAJOR_VERSION(res.a0) != 1)
729 arm_smccc_1_1_smc(FFA_ID_GET, 0, 0, 0, 0, 0, 0, 0, &res);
730 if (res.a0 != FFA_SUCCESS)
736 arm_smccc_1_1_smc(FFA_FEATURES, FFA_FN64_RXTX_MAP,
737 0, 0, 0, 0, 0, 0, &res);
738 if (res.a0 != FFA_SUCCESS)
742 case FFA_FEAT_RXTX_MIN_SZ_4K:
745 case FFA_FEAT_RXTX_MIN_SZ_16K:
746 min_rxtx_sz = SZ_16K;
748 case FFA_FEAT_RXTX_MIN_SZ_64K:
749 min_rxtx_sz = SZ_64K;
755 if (min_rxtx_sz > PAGE_SIZE)
759 pages += KVM_FFA_MBOX_NR_PAGES * PAGE_SIZE;
761 pages += KVM_FFA_MBOX_NR_PAGES * PAGE_SIZE;
766 (hyp_ffa_proxy_pages() - (2 * KVM_FFA_MBOX_NR_PAGES)),
static struct kvm_ffa_buffers host_buffers
static struct kvm_ffa_buffers hyp_buffers
static struct kvm_ffa_descriptor_buffer ffa_desc_buf
struct kvm_host_psci_config __ro_after_init kvm_host_psci_config
#define __HYP_SPIN_LOCK_UNLOCKED