| /Linux-v5.15/include/linux/ |
| D | mmu_notifier.h | 13 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, 129 void (*change_pte)(struct mmu_notifier *subscription, 184 int (*invalidate_range_start)(struct mmu_notifier *subscription, 186 void (*invalidate_range_end)(struct mmu_notifier *subscription, 207 void (*invalidate_range)(struct mmu_notifier *subscription, 222 struct mmu_notifier *(*alloc_notifier)(struct mm_struct *mm); [all …]
|
| D | kvm_host.h | 605 struct mmu_notifier mmu_notifier; member
|
| D | intel-iommu.h | 790 struct mmu_notifier notifier;
|
| /Linux-v5.15/mm/ |
| D | mmu_notifier.c | 302 struct mmu_notifier *subscription; in mn_hlist_release() 324 struct mmu_notifier, hlist); in mn_hlist_release() 369 struct mmu_notifier *subscription; in __mmu_notifier_clear_flush_young() 389 struct mmu_notifier *subscription; in __mmu_notifier_clear_young() 408 struct mmu_notifier *subscription; in __mmu_notifier_test_young() 430 struct mmu_notifier *subscription; in __mmu_notifier_change_pte() 479 struct mmu_notifier *subscription; in mn_hlist_invalidate_range_start() 556 struct mmu_notifier *subscription; in mn_hlist_invalidate_end() 610 struct mmu_notifier *subscription; in __mmu_notifier_invalidate_range() 629 int __mmu_notifier_register(struct mmu_notifier *subscription, in __mmu_notifier_register() [all …]
|
| D | Makefile | 83 obj-$(CONFIG_MMU_NOTIFIER) += mmu_notifier.o
|
| /Linux-v5.15/drivers/misc/sgi-gru/ |
| D | grutlbpurge.c | 209 static int gru_invalidate_range_start(struct mmu_notifier *mn, in gru_invalidate_range_start() 224 static void gru_invalidate_range_end(struct mmu_notifier *mn, in gru_invalidate_range_end() 238 static struct mmu_notifier *gru_alloc_notifier(struct mm_struct *mm) in gru_alloc_notifier() 252 static void gru_free_notifier(struct mmu_notifier *mn) in gru_free_notifier() 267 struct mmu_notifier *mn; in gru_register_mmu_notifier()
|
| D | grutables.h | 310 struct mmu_notifier ms_notifier;
|
| /Linux-v5.15/arch/x86/kernel/cpu/sgx/ |
| D | encl.h | 47 struct mmu_notifier mmu_notifier; member
|
| D | encl.c | 447 static void sgx_mmu_notifier_release(struct mmu_notifier *mn, in sgx_mmu_notifier_release() 450 struct sgx_encl_mm *encl_mm = container_of(mn, struct sgx_encl_mm, mmu_notifier); in sgx_mmu_notifier_release() 472 static void sgx_mmu_notifier_free(struct mmu_notifier *mn) in sgx_mmu_notifier_free() 474 struct sgx_encl_mm *encl_mm = container_of(mn, struct sgx_encl_mm, mmu_notifier); in sgx_mmu_notifier_free() 536 encl_mm->mmu_notifier.ops = &sgx_mmu_notifier_ops; in sgx_encl_mm_add() 538 ret = __mmu_notifier_register(&encl_mm->mmu_notifier, mm); in sgx_encl_mm_add()
|
| D | driver.c | 73 mmu_notifier_unregister(&encl_mm->mmu_notifier, encl_mm->mm); in sgx_release()
|
| /Linux-v5.15/drivers/misc/ocxl/ |
| D | link.c | 48 struct mmu_notifier mmu_notifier; member 493 static void invalidate_range(struct mmu_notifier *mn, in invalidate_range() 497 struct pe_data *pe_data = container_of(mn, struct pe_data, mmu_notifier); in invalidate_range() 571 pe_data->mmu_notifier.ops = &ocxl_mmu_notifier_ops; in ocxl_link_add_pe() 595 mmu_notifier_register(&pe_data->mmu_notifier, mm); in ocxl_link_add_pe() 732 mmu_notifier_unregister(&pe_data->mmu_notifier, in ocxl_link_remove_pe()
|
| /Linux-v5.15/drivers/iommu/arm/arm-smmu-v3/ |
| D | arm-smmu-v3-sva.c | 16 struct mmu_notifier mn; 180 static void arm_smmu_mm_invalidate_range(struct mmu_notifier *mn, in arm_smmu_mm_invalidate_range() 194 static void arm_smmu_mm_release(struct mmu_notifier *mn, struct mm_struct *mm) in arm_smmu_mm_release() 218 static void arm_smmu_mmu_notifier_free(struct mmu_notifier *mn) in arm_smmu_mmu_notifier_free()
|
| /Linux-v5.15/drivers/gpu/drm/amd/amdkfd/ |
| D | kfd_process.c | 870 mmu_notifier_put(&process->mmu_notifier); in kfd_create_process() 1079 static struct mmu_notifier *kfd_process_alloc_notifier(struct mm_struct *mm) in kfd_process_alloc_notifier() 1086 return p ? &p->mmu_notifier : ERR_PTR(-ESRCH); in kfd_process_alloc_notifier() 1089 static void kfd_process_free_notifier(struct mmu_notifier *mn) in kfd_process_free_notifier() 1091 kfd_unref_process(container_of(mn, struct kfd_process, mmu_notifier)); in kfd_process_free_notifier() 1094 static void kfd_process_notifier_release(struct mmu_notifier *mn, in kfd_process_notifier_release() 1104 p = container_of(mn, struct kfd_process, mmu_notifier); in kfd_process_notifier_release() 1149 mmu_notifier_put(&p->mmu_notifier); in kfd_process_notifier_release() 1301 struct mmu_notifier *mn; in create_process() 1353 BUG_ON(mn != &process->mmu_notifier); in create_process()
|
| D | kfd_priv.h | 790 struct mmu_notifier mmu_notifier; member
|
| /Linux-v5.15/drivers/infiniband/hw/hfi1/ |
| D | mmu_rb.h | 36 struct mmu_notifier mn;
|
| D | mmu_rb.c | 18 static int mmu_notifier_range_start(struct mmu_notifier *, 246 static int mmu_notifier_range_start(struct mmu_notifier *mn, in mmu_notifier_range_start()
|
| /Linux-v5.15/drivers/gpu/drm/nouveau/ |
| D | nouveau_svm.h | 10 struct mmu_notifier notifier;
|
| D | nouveau_svm.c | 249 nouveau_svmm_invalidate_range_start(struct mmu_notifier *mn, in nouveau_svmm_invalidate_range_start() 289 static void nouveau_svmm_free_notifier(struct mmu_notifier *mn) in nouveau_svmm_free_notifier()
|
| /Linux-v5.15/Documentation/vm/ |
| D | index.rst | 44 mmu_notifier
|
| /Linux-v5.15/drivers/iommu/amd/ |
| D | iommu_v2.c | 41 struct mmu_notifier mn; /* mmu_notifier handle */ 355 static struct pasid_state *mn_to_state(struct mmu_notifier *mn) in mn_to_state() 360 static void mn_invalidate_range(struct mmu_notifier *mn, in mn_invalidate_range() 377 static void mn_release(struct mmu_notifier *mn, struct mm_struct *mm) in mn_release()
|
| /Linux-v5.15/virt/kvm/ |
| D | kvm_main.c | 448 static inline struct kvm *mmu_notifier_to_kvm(struct mmu_notifier *mn) in mmu_notifier_to_kvm() 450 return container_of(mn, struct kvm, mmu_notifier); in mmu_notifier_to_kvm() 453 static void kvm_mmu_notifier_invalidate_range(struct mmu_notifier *mn, in kvm_mmu_notifier_invalidate_range() 561 static __always_inline int kvm_handle_hva_range(struct mmu_notifier *mn, in kvm_handle_hva_range() 581 static __always_inline int kvm_handle_hva_range_no_flush(struct mmu_notifier *mn, in kvm_handle_hva_range_no_flush() 599 static void kvm_mmu_notifier_change_pte(struct mmu_notifier *mn, in kvm_mmu_notifier_change_pte() 651 static int kvm_mmu_notifier_invalidate_range_start(struct mmu_notifier *mn, in kvm_mmu_notifier_invalidate_range_start() 702 static void kvm_mmu_notifier_invalidate_range_end(struct mmu_notifier *mn, in kvm_mmu_notifier_invalidate_range_end() 734 static int kvm_mmu_notifier_clear_flush_young(struct mmu_notifier *mn, in kvm_mmu_notifier_clear_flush_young() 744 static int kvm_mmu_notifier_clear_young(struct mmu_notifier *mn, in kvm_mmu_notifier_clear_young() [all …]
|
| /Linux-v5.15/Documentation/x86/ |
| D | sva.rst | 25 mmu_notifier() support to keep the device TLB cache and the CPU cache in 78 - Register for mmu_notifier() to track any page-table invalidations to keep
|
| /Linux-v5.15/drivers/iommu/intel/ |
| D | svm.c | 243 static void intel_invalidate_range(struct mmu_notifier *mn, in intel_invalidate_range() 253 static void intel_mm_release(struct mmu_notifier *mn, struct mm_struct *mm) in intel_mm_release()
|