Home
last modified time | relevance | path

Searched refs:pkvm (Results 1 – 9 of 9) sorted by relevance

/arch/arm64/kvm/hyp/include/nvhe/
Dpkvm.h92 return kvm->arch.pkvm.enabled; in kvm_is_protected()
147 return vm->kvm.arch.pkvm.pvmfw_load_addr != PVMFW_INVALID_LOAD_ADDR; in pkvm_hyp_vm_has_pvmfw()
153 struct kvm_protected_vm *pkvm = &vm->kvm.arch.pkvm; in pkvm_ipa_range_has_pvmfw() local
154 u64 pvmfw_load_end = pkvm->pvmfw_load_addr + pvmfw_size; in pkvm_ipa_range_has_pvmfw()
159 return ipa_end > pkvm->pvmfw_load_addr && ipa_start < pvmfw_load_end; in pkvm_ipa_range_has_pvmfw()
/arch/arm64/kvm/
Dpkvm.c209 pkvm_handle_t handle = host_kvm->arch.pkvm.handle; in __pkvm_create_hyp_vcpu()
316 host_kvm->arch.pkvm.handle, in __reclaim_dying_guest_page_call()
327 if (!host_kvm->arch.pkvm.handle) in __pkvm_destroy_hyp_vm()
330 WARN_ON(kvm_call_hyp_nvhe(__pkvm_start_teardown_vm, host_kvm->arch.pkvm.handle)); in __pkvm_destroy_hyp_vm()
332 mt_for_each(&host_kvm->arch.pkvm.pinned_pages, ppage, ipa, ULONG_MAX) { in __pkvm_destroy_hyp_vm()
339 unpin_user_pages_dirty_lock(&ppage->page, 1, host_kvm->arch.pkvm.enabled); in __pkvm_destroy_hyp_vm()
342 mtree_destroy(&host_kvm->arch.pkvm.pinned_pages); in __pkvm_destroy_hyp_vm()
344 WARN_ON(kvm_call_hyp_nvhe(__pkvm_finalize_teardown_vm, host_kvm->arch.pkvm.handle)); in __pkvm_destroy_hyp_vm()
347 host_kvm->arch.pkvm.handle = 0; in __pkvm_destroy_hyp_vm()
349 atomic64_sub(host_kvm->arch.pkvm.stage2_teardown_mc.nr_pages << PAGE_SHIFT, in __pkvm_destroy_hyp_vm()
[all …]
Dmmu.c177 kvm_call_hyp_nvhe(__pkvm_tlb_flush_vmid, kvm->arch.pkvm.handle); in kvm_arch_flush_remote_tlbs()
296 return kvm_call_hyp_nvhe(__pkvm_host_unmap_guest, kvm->arch.pkvm.handle, in __pkvm_unmap_guest_call()
313 mtree_erase(&kvm->arch.pkvm.pinned_pages, ppage->ipa); in pkvm_unmap_guest()
327 mt_for_each(&kvm->arch.pkvm.pinned_pages, entry, index, end - 1) { in pkvm_unmap_range()
394 if (is_protected_kvm_enabled() && kvm->arch.pkvm.enabled) in __unmap_stage2_range()
425 mt_for_each(&kvm->arch.pkvm.pinned_pages, entry, index, ULONG_MAX) { in pkvm_stage2_flush()
1010 mt_init(&kvm->arch.pkvm.pinned_pages); in kvm_init_stage2_mmu()
1256 return kvm_call_hyp_nvhe(__pkvm_wrprotect, kvm->arch.pkvm.handle, pfn, in __pkvm_wrprotect_call()
1265 mt_for_each(&kvm->arch.pkvm.pinned_pages, entry, index, end - 1) { in pkvm_wp_range()
1601 mt_for_each(&kvm->arch.pkvm.pinned_pages, entry, index, ULONG_MAX) in find_ppage_or_above()
[all …]
DMakefile16 vgic-sys-reg-v3.o fpsimd.o pkvm.o \
Dptdump.c244 pkvm_handle_t handle = kvm->arch.pkvm.handle; in kvm_ptdump_get_guest_snapshot()
440 handle = kvm ? kvm->arch.pkvm.handle : 0; in kvm_pgtable_debugfs_open()
Darm.c576 vcpu->kvm->arch.pkvm.handle, in kvm_arch_vcpu_load()
/arch/arm64/kvm/hyp/nvhe/
DMakefile8 cache.o setup.o mm.o mem_protect.o sys_regs.o pkvm.o stacktrace.o ffa.o \
21 hyp-obj-$(CONFIG_ARM_SMMU_V3_PKVM) += ../../../../../drivers/iommu/arm/arm-smmu-v3/pkvm/arm-smmu-v3…
22 hyp-obj-$(CONFIG_ARM_SMMU_V3_PKVM) += ../../../../../drivers/iommu/arm/arm-smmu-v3/pkvm/io-pgtable-…
Dpkvm.c394 drain_hyp_pool(hyp_vm, &hyp_vm->host_kvm->arch.pkvm.stage2_teardown_mc); in __pkvm_reclaim_dying_guest_page()
641 hyp_vm->kvm.arch.pkvm.enabled = READ_ONCE(host_kvm->arch.pkvm.enabled); in init_pkvm_hyp_vm()
643 if (hyp_vm->kvm.arch.pkvm.enabled) in init_pkvm_hyp_vm()
644 pvmfw_load_addr = READ_ONCE(host_kvm->arch.pkvm.pvmfw_load_addr); in init_pkvm_hyp_vm()
645 hyp_vm->kvm.arch.pkvm.pvmfw_load_addr = pvmfw_load_addr; in init_pkvm_hyp_vm()
796 hyp_vm->kvm.arch.pkvm.handle = idx_to_vm_handle(idx); in insert_vm_table_entry()
805 return hyp_vm->kvm.arch.pkvm.handle; in insert_vm_table_entry()
886 return hyp_vm->kvm.arch.pkvm.handle; in __pkvm_init_vm()
889 remove_vm_table_entry(hyp_vm->kvm.arch.pkvm.handle); in __pkvm_init_vm()
1014 mc = &host_kvm->arch.pkvm.stage2_teardown_mc; in __pkvm_finalize_teardown_vm()
[all …]
/arch/arm64/include/asm/
Dkvm_host.h321 struct kvm_protected_vm pkvm; member
1298 #define kvm_vm_is_protected(kvm) ((kvm)->arch.pkvm.enabled)