Lines Matching full:phys

405 bool addr_is_memory(phys_addr_t phys)  in addr_is_memory()  argument
409 return !!find_mem_range(phys, &range); in addr_is_memory()
679 static void __hyp_set_page_state_range(phys_addr_t phys, u64 size, enum pkvm_page_state state) in __hyp_set_page_state_range() argument
681 for_each_hyp_page(page, phys, size) in __hyp_set_page_state_range()
685 static int __hyp_check_page_state_range(phys_addr_t phys, u64 size, enum pkvm_page_state state) in __hyp_check_page_state_range() argument
687 for_each_hyp_page(page, phys, size) { in __hyp_check_page_state_range()
717 u64 phys = hyp_pfn_to_phys(pfn); in __pkvm_host_share_hyp() local
724 ret = __host_check_page_state_range(phys, size, PKVM_PAGE_OWNED); in __pkvm_host_share_hyp()
727 ret = __hyp_check_page_state_range(phys, size, PKVM_NOPAGE); in __pkvm_host_share_hyp()
731 __hyp_set_page_state_range(phys, size, PKVM_PAGE_SHARED_BORROWED); in __pkvm_host_share_hyp()
732 WARN_ON(__host_set_page_state_range(phys, size, PKVM_PAGE_SHARED_OWNED)); in __pkvm_host_share_hyp()
743 u64 phys = hyp_pfn_to_phys(pfn); in __pkvm_host_unshare_hyp() local
744 u64 virt = (u64)__hyp_va(phys); in __pkvm_host_unshare_hyp()
751 ret = __host_check_page_state_range(phys, size, PKVM_PAGE_SHARED_OWNED); in __pkvm_host_unshare_hyp()
754 ret = __hyp_check_page_state_range(phys, size, PKVM_PAGE_SHARED_BORROWED); in __pkvm_host_unshare_hyp()
762 __hyp_set_page_state_range(phys, size, PKVM_NOPAGE); in __pkvm_host_unshare_hyp()
763 WARN_ON(__host_set_page_state_range(phys, size, PKVM_PAGE_OWNED)); in __pkvm_host_unshare_hyp()
774 u64 phys = hyp_pfn_to_phys(pfn); in __pkvm_host_donate_hyp() local
776 void *virt = __hyp_va(phys); in __pkvm_host_donate_hyp()
782 ret = __host_check_page_state_range(phys, size, PKVM_PAGE_OWNED); in __pkvm_host_donate_hyp()
785 ret = __hyp_check_page_state_range(phys, size, PKVM_NOPAGE); in __pkvm_host_donate_hyp()
789 __hyp_set_page_state_range(phys, size, PKVM_PAGE_OWNED); in __pkvm_host_donate_hyp()
791 WARN_ON(host_stage2_set_owner_locked(phys, size, PKVM_ID_HYP)); in __pkvm_host_donate_hyp()
802 u64 phys = hyp_pfn_to_phys(pfn); in __pkvm_hyp_donate_host() local
804 u64 virt = (u64)__hyp_va(phys); in __pkvm_hyp_donate_host()
810 ret = __hyp_check_page_state_range(phys, size, PKVM_PAGE_OWNED); in __pkvm_hyp_donate_host()
813 ret = __host_check_page_state_range(phys, size, PKVM_NOPAGE); in __pkvm_hyp_donate_host()
817 __hyp_set_page_state_range(phys, size, PKVM_NOPAGE); in __pkvm_hyp_donate_host()
819 WARN_ON(host_stage2_set_owner_locked(phys, size, PKVM_ID_HOST)); in __pkvm_hyp_donate_host()
832 u64 phys = __hyp_pa(start); in hyp_pin_shared_mem() local
840 ret = __host_check_page_state_range(phys, size, PKVM_PAGE_SHARED_OWNED); in hyp_pin_shared_mem()
844 ret = __hyp_check_page_state_range(phys, size, PKVM_PAGE_SHARED_BORROWED); in hyp_pin_shared_mem()
886 u64 phys = hyp_pfn_to_phys(pfn); in __pkvm_host_share_ffa() local
891 ret = __host_check_page_state_range(phys, size, PKVM_PAGE_OWNED); in __pkvm_host_share_ffa()
893 ret = __host_set_page_state_range(phys, size, PKVM_PAGE_SHARED_OWNED); in __pkvm_host_share_ffa()
901 u64 phys = hyp_pfn_to_phys(pfn); in __pkvm_host_unshare_ffa() local
906 ret = __host_check_page_state_range(phys, size, PKVM_PAGE_SHARED_OWNED); in __pkvm_host_unshare_ffa()
908 ret = __host_set_page_state_range(phys, size, PKVM_PAGE_OWNED); in __pkvm_host_unshare_ffa()
914 static int __guest_check_transition_size(u64 phys, u64 ipa, u64 nr_pages, u64 *size) in __guest_check_transition_size() argument
929 if (!IS_ALIGNED(phys | ipa, block_size)) in __guest_check_transition_size()
940 u64 phys = hyp_pfn_to_phys(pfn); in __pkvm_host_share_guest() local
948 ret = __guest_check_transition_size(phys, ipa, nr_pages, &size); in __pkvm_host_share_guest()
952 ret = check_range_allowed_memory(phys, phys + size); in __pkvm_host_share_guest()
963 for_each_hyp_page(page, phys, size) { in __pkvm_host_share_guest()
984 for_each_hyp_page(page, phys, size) { in __pkvm_host_share_guest()
989 WARN_ON(kvm_pgtable_stage2_map(&vm->pgt, ipa, size, phys, in __pkvm_host_share_guest()
1004 u64 phys; in __check_host_shared_guest() local
1020 phys = kvm_pte_to_phys(pte); in __check_host_shared_guest()
1021 ret = check_range_allowed_memory(phys, phys + size); in __check_host_shared_guest()
1025 for_each_hyp_page(page, phys, size) { in __check_host_shared_guest()
1032 *__phys = phys; in __check_host_shared_guest()
1040 u64 size, phys; in __pkvm_host_unshare_guest() local
1050 ret = __check_host_shared_guest(vm, &phys, ipa, size); in __pkvm_host_unshare_guest()
1058 for_each_hyp_page(page, phys, size) { in __pkvm_host_unshare_guest()
1074 u64 phys; in assert_host_shared_guest() local
1083 ret = __check_host_shared_guest(vm, &phys, ipa, size); in assert_host_shared_guest()
1223 u64 phys = hyp_virt_to_phys(virt); in assert_page_state() local
1230 WARN_ON(__host_check_page_state_range(phys, size, selftest_state.host)); in assert_page_state()
1234 WARN_ON(__hyp_check_page_state_range(phys, size, selftest_state.hyp)); in assert_page_state()
1255 u64 phys, size, pfn, gfn; in pkvm_ownership_selftest() local
1263 phys = hyp_virt_to_phys(virt); in pkvm_ownership_selftest()
1264 pfn = hyp_phys_to_pfn(phys); in pkvm_ownership_selftest()