Home
last modified time | relevance | path

Searched refs:mmu_notifier (Results 1 – 25 of 33) sorted by relevance

12

/linux-6.12.1/include/linux/
Dmmu_notifier.h13 struct mmu_notifier;
88 void (*release)(struct mmu_notifier *subscription,
100 int (*clear_flush_young)(struct mmu_notifier *subscription,
110 int (*clear_young)(struct mmu_notifier *subscription,
121 int (*test_young)(struct mmu_notifier *subscription,
175 int (*invalidate_range_start)(struct mmu_notifier *subscription,
177 void (*invalidate_range_end)(struct mmu_notifier *subscription,
198 struct mmu_notifier *subscription,
213 struct mmu_notifier *(*alloc_notifier)(struct mm_struct *mm);
214 void (*free_notifier)(struct mmu_notifier *subscription);
[all …]
/linux-6.12.1/mm/
Dmmu_notifier.c304 struct mmu_notifier *subscription; in mn_hlist_release()
326 struct mmu_notifier, hlist); in mn_hlist_release()
371 struct mmu_notifier *subscription; in __mmu_notifier_clear_flush_young()
391 struct mmu_notifier *subscription; in __mmu_notifier_clear_young()
410 struct mmu_notifier *subscription; in __mmu_notifier_test_young()
464 struct mmu_notifier *subscription; in mn_hlist_invalidate_range_start()
541 struct mmu_notifier *subscription; in mn_hlist_invalidate_end()
576 struct mmu_notifier *subscription; in __mmu_notifier_arch_invalidate_secondary_tlbs()
596 int __mmu_notifier_register(struct mmu_notifier *subscription, in __mmu_notifier_register()
699 int mmu_notifier_register(struct mmu_notifier *subscription, in mmu_notifier_register()
[all …]
DMakefile85 obj-$(CONFIG_MMU_NOTIFIER) += mmu_notifier.o
/linux-6.12.1/drivers/iommu/arm/arm-smmu-v3/
Darm-smmu-v3-sva.c127 static void arm_smmu_mm_arch_invalidate_secondary_tlbs(struct mmu_notifier *mn, in arm_smmu_mm_arch_invalidate_secondary_tlbs()
133 container_of(mn, struct arm_smmu_domain, mmu_notifier); in arm_smmu_mm_arch_invalidate_secondary_tlbs()
159 static void arm_smmu_mm_release(struct mmu_notifier *mn, struct mm_struct *mm) in arm_smmu_mm_release()
162 container_of(mn, struct arm_smmu_domain, mmu_notifier); in arm_smmu_mm_release()
191 static void arm_smmu_mmu_notifier_free(struct mmu_notifier *mn) in arm_smmu_mmu_notifier_free()
193 kfree(container_of(mn, struct arm_smmu_domain, mmu_notifier)); in arm_smmu_mmu_notifier_free()
378 mmu_notifier_put(&smmu_domain->mmu_notifier); in arm_smmu_sva_domain_free()
408 smmu_domain->mmu_notifier.ops = &arm_smmu_mmu_notifier_ops; in arm_smmu_sva_domain_alloc()
409 ret = mmu_notifier_register(&smmu_domain->mmu_notifier, mm); in arm_smmu_sva_domain_alloc()
Darm-smmu-v3.h815 struct mmu_notifier mmu_notifier; member
/linux-6.12.1/drivers/misc/sgi-gru/
Dgrutlbpurge.c207 static int gru_invalidate_range_start(struct mmu_notifier *mn, in gru_invalidate_range_start()
222 static void gru_invalidate_range_end(struct mmu_notifier *mn, in gru_invalidate_range_end()
236 static struct mmu_notifier *gru_alloc_notifier(struct mm_struct *mm) in gru_alloc_notifier()
250 static void gru_free_notifier(struct mmu_notifier *mn) in gru_free_notifier()
265 struct mmu_notifier *mn; in gru_register_mmu_notifier()
Dgrutables.h310 struct mmu_notifier ms_notifier;
/linux-6.12.1/arch/x86/kernel/cpu/sgx/
Dencl.h48 struct mmu_notifier mmu_notifier; member
Dencl.c773 static void sgx_mmu_notifier_release(struct mmu_notifier *mn, in sgx_mmu_notifier_release()
776 struct sgx_encl_mm *encl_mm = container_of(mn, struct sgx_encl_mm, mmu_notifier); in sgx_mmu_notifier_release()
800 static void sgx_mmu_notifier_free(struct mmu_notifier *mn) in sgx_mmu_notifier_free()
802 struct sgx_encl_mm *encl_mm = container_of(mn, struct sgx_encl_mm, mmu_notifier); in sgx_mmu_notifier_free()
864 encl_mm->mmu_notifier.ops = &sgx_mmu_notifier_ops; in sgx_encl_mm_add()
866 ret = __mmu_notifier_register(&encl_mm->mmu_notifier, mm); in sgx_encl_mm_add()
Ddriver.c73 mmu_notifier_unregister(&encl_mm->mmu_notifier, encl_mm->mm); in sgx_release()
/linux-6.12.1/drivers/misc/ocxl/
Dlink.c49 struct mmu_notifier mmu_notifier; member
494 static void arch_invalidate_secondary_tlbs(struct mmu_notifier *mn, in arch_invalidate_secondary_tlbs()
498 struct pe_data *pe_data = container_of(mn, struct pe_data, mmu_notifier); in arch_invalidate_secondary_tlbs()
572 pe_data->mmu_notifier.ops = &ocxl_mmu_notifier_ops; in ocxl_link_add_pe()
596 mmu_notifier_register(&pe_data->mmu_notifier, mm); in ocxl_link_add_pe()
733 mmu_notifier_unregister(&pe_data->mmu_notifier, in ocxl_link_remove_pe()
/linux-6.12.1/drivers/iommu/amd/
Dpasid.c59 static void sva_arch_invalidate_secondary_tlbs(struct mmu_notifier *mn, in sva_arch_invalidate_secondary_tlbs()
80 static void sva_mn_release(struct mmu_notifier *mn, struct mm_struct *mm) in sva_mn_release()
/linux-6.12.1/Documentation/translations/zh_CN/mm/
Dindex.rst49 mmu_notifier
Dmmu_notifier.rst1 :Original: Documentation/mm/mmu_notifier.rst
/linux-6.12.1/arch/s390/kvm/
Dpv.c535 static void kvm_s390_pv_mmu_notifier_release(struct mmu_notifier *subscription, in kvm_s390_pv_mmu_notifier_release()
538 struct kvm *kvm = container_of(subscription, struct kvm, arch.pv.mmu_notifier); in kvm_s390_pv_mmu_notifier_release()
603 if (kvm->arch.pv.mmu_notifier.ops != &kvm_s390_pv_mmu_notifier_ops) { in kvm_s390_pv_init_vm()
604 kvm->arch.pv.mmu_notifier.ops = &kvm_s390_pv_mmu_notifier_ops; in kvm_s390_pv_init_vm()
605 mmu_notifier_register(&kvm->arch.pv.mmu_notifier, kvm->mm); in kvm_s390_pv_init_vm()
/linux-6.12.1/drivers/infiniband/hw/hfi1/
Dmmu_rb.h39 struct mmu_notifier mn;
Dmmu_rb.c18 static int mmu_notifier_range_start(struct mmu_notifier *,
261 static int mmu_notifier_range_start(struct mmu_notifier *mn, in mmu_notifier_range_start()
/linux-6.12.1/drivers/gpu/drm/nouveau/
Dnouveau_svm.h10 struct mmu_notifier notifier;
/linux-6.12.1/drivers/gpu/drm/amd/amdkfd/
Dkfd_process.c1187 static struct mmu_notifier *kfd_process_alloc_notifier(struct mm_struct *mm) in kfd_process_alloc_notifier()
1194 return p ? &p->mmu_notifier : ERR_PTR(-ESRCH); in kfd_process_alloc_notifier()
1197 static void kfd_process_free_notifier(struct mmu_notifier *mn) in kfd_process_free_notifier()
1199 kfd_unref_process(container_of(mn, struct kfd_process, mmu_notifier)); in kfd_process_free_notifier()
1239 mmu_notifier_put(&p->mmu_notifier); in kfd_process_notifier_release_internal()
1242 static void kfd_process_notifier_release(struct mmu_notifier *mn, in kfd_process_notifier_release()
1251 p = container_of(mn, struct kfd_process, mmu_notifier); in kfd_process_notifier_release()
1498 struct mmu_notifier *mn; in create_process()
1565 BUG_ON(mn != &process->mmu_notifier); in create_process()
Dkfd_priv.h909 struct mmu_notifier mmu_notifier; member
/linux-6.12.1/Documentation/mm/
Dindex.rst50 mmu_notifier
/linux-6.12.1/drivers/iommu/intel/
Dsvm.c137 static void intel_arch_invalidate_secondary_tlbs(struct mmu_notifier *mn, in intel_arch_invalidate_secondary_tlbs()
156 static void intel_mm_release(struct mmu_notifier *mn, struct mm_struct *mm) in intel_mm_release()
185 static void intel_mm_free_notifier(struct mmu_notifier *mn) in intel_mm_free_notifier()
/linux-6.12.1/Documentation/core-api/
Dmm-api.rst139 .. kernel-doc:: mm/mmu_notifier.c
/linux-6.12.1/virt/kvm/
Dkvm_main.c537 static inline struct kvm *mmu_notifier_to_kvm(struct mmu_notifier *mn) in mmu_notifier_to_kvm()
539 return container_of(mn, struct kvm, mmu_notifier); in mmu_notifier_to_kvm()
669 static __always_inline int kvm_handle_hva_range(struct mmu_notifier *mn, in kvm_handle_hva_range()
687 static __always_inline int kvm_handle_hva_range_no_flush(struct mmu_notifier *mn, in kvm_handle_hva_range_no_flush()
753 static int kvm_mmu_notifier_invalidate_range_start(struct mmu_notifier *mn, in kvm_mmu_notifier_invalidate_range_start()
829 static void kvm_mmu_notifier_invalidate_range_end(struct mmu_notifier *mn, in kvm_mmu_notifier_invalidate_range_end()
860 static int kvm_mmu_notifier_clear_flush_young(struct mmu_notifier *mn, in kvm_mmu_notifier_clear_flush_young()
870 static int kvm_mmu_notifier_clear_young(struct mmu_notifier *mn, in kvm_mmu_notifier_clear_young()
893 static int kvm_mmu_notifier_test_young(struct mmu_notifier *mn, in kvm_mmu_notifier_test_young()
903 static void kvm_mmu_notifier_release(struct mmu_notifier *mn, in kvm_mmu_notifier_release()
[all …]
/linux-6.12.1/arch/s390/include/asm/
Dkvm_host.h957 struct mmu_notifier mmu_notifier; member

12