diff --git a/arch/arm64/kvm/hyp/include/nvhe/mem_protect.h b/arch/arm64/kvm/hyp/include/nvhe/mem_protect.h index 0118a3b6b943..167a8577807d 100644 --- a/arch/arm64/kvm/hyp/include/nvhe/mem_protect.h +++ b/arch/arm64/kvm/hyp/include/nvhe/mem_protect.h @@ -57,8 +57,7 @@ extern struct host_kvm host_kvm; typedef u32 pkvm_id; static const pkvm_id pkvm_host_id = 0; static const pkvm_id pkvm_hyp_id = (1 << 16); -static const pkvm_id pkvm_ffa_id = pkvm_hyp_id + 1; /* Secure world */ -static const pkvm_id pkvm_host_poison = pkvm_ffa_id + 1; +static const pkvm_id pkvm_host_poison = pkvm_hyp_id + 1; extern unsigned long hyp_nr_cpus; @@ -72,8 +71,6 @@ int __pkvm_host_share_guest(u64 pfn, u64 gfn, struct kvm_vcpu *vcpu); int __pkvm_host_donate_guest(u64 pfn, u64 gfn, struct kvm_vcpu *vcpu); int __pkvm_guest_share_host(struct kvm_vcpu *vcpu, u64 ipa); int __pkvm_guest_unshare_host(struct kvm_vcpu *vcpu, u64 ipa); -int __pkvm_host_share_ffa(u64 pfn, u64 nr_pages); -int __pkvm_host_unshare_ffa(u64 pfn, u64 nr_pages); int __pkvm_install_ioguard_page(struct kvm_vcpu *vcpu, u64 ipa); int __pkvm_remove_ioguard_page(struct kvm_vcpu *vcpu, u64 ipa); bool __pkvm_check_ioguard_page(struct kvm_vcpu *vcpu); diff --git a/arch/arm64/kvm/hyp/nvhe/mem_protect.c b/arch/arm64/kvm/hyp/nvhe/mem_protect.c index aead9a12a971..25b30cc98c55 100644 --- a/arch/arm64/kvm/hyp/nvhe/mem_protect.c +++ b/arch/arm64/kvm/hyp/nvhe/mem_protect.c @@ -646,7 +646,6 @@ enum pkvm_component_id { PKVM_ID_HOST, PKVM_ID_HYP, PKVM_ID_GUEST, - PKVM_ID_FFA, }; struct pkvm_mem_transition { @@ -1223,13 +1222,6 @@ static int check_share(struct pkvm_mem_share *share) case PKVM_ID_GUEST: ret = guest_ack_share(completer_addr, tx, share->completer_prot); break; - case PKVM_ID_FFA: - /* - * We only check the host; the secure side will check the other - * end when we forward the FFA call. - */ - ret = 0; - break; default: ret = -EINVAL; } @@ -1267,13 +1259,6 @@ static int __do_share(struct pkvm_mem_share *share) case PKVM_ID_GUEST: ret = guest_complete_share(completer_addr, tx, share->completer_prot); break; - case PKVM_ID_FFA: - /* - * We're not responsible for any secure page-tables, so there's - * nothing to do here. - */ - ret = 0; - break; default: ret = -EINVAL; } @@ -1328,10 +1313,6 @@ static int check_unshare(struct pkvm_mem_share *share) case PKVM_ID_HYP: ret = hyp_ack_unshare(completer_addr, tx); break; - case PKVM_ID_FFA: - /* See check_share() */ - ret = 0; - break; default: ret = -EINVAL; } @@ -1366,10 +1347,6 @@ static int __do_unshare(struct pkvm_mem_share *share) case PKVM_ID_HYP: ret = hyp_complete_unshare(completer_addr, tx); break; - case PKVM_ID_FFA: - /* See __do_share() */ - ret = 0; - break; default: ret = -EINVAL; } @@ -1801,52 +1778,6 @@ int __pkvm_host_donate_guest(u64 pfn, u64 gfn, struct kvm_vcpu *vcpu) return ret; } -int __pkvm_host_share_ffa(u64 pfn, u64 nr_pages) -{ - int ret; - struct pkvm_mem_share share = { - .tx = { - .nr_pages = nr_pages, - .initiator = { - .id = PKVM_ID_HOST, - .addr = hyp_pfn_to_phys(pfn), - }, - .completer = { - .id = PKVM_ID_FFA, - }, - }, - }; - - host_lock_component(); - ret = do_share(&share); - host_unlock_component(); - - return ret; -} - -int __pkvm_host_unshare_ffa(u64 pfn, u64 nr_pages) -{ - int ret; - struct pkvm_mem_share share = { - .tx = { - .nr_pages = nr_pages, - .initiator = { - .id = PKVM_ID_HOST, - .addr = hyp_pfn_to_phys(pfn), - }, - .completer = { - .id = PKVM_ID_FFA, - }, - }, - }; - - host_lock_component(); - ret = do_unshare(&share); - host_unlock_component(); - - return ret; -} - static int hyp_zero_page(phys_addr_t phys) { void *addr;