| /kernel/linux/linux-6.6/arch/x86/include/asm/ |
| D | mmu_context.h | 1 /* SPDX-License-Identifier: GPL-2.0 */ 32 * Xen requires page-aligned LDTs with special permissions. This is 45 * of an older, still-in-use LDT. 47 * slot will be -1 if this LDT doesn't have an alias mapping. 55 static inline void init_new_context_ldt(struct mm_struct *mm) in init_new_context_ldt() argument 57 mm->context.ldt = NULL; in init_new_context_ldt() 58 init_rwsem(&mm->context.ldt_usr_sem); in init_new_context_ldt() 60 int ldt_dup_context(struct mm_struct *oldmm, struct mm_struct *mm); 61 void destroy_context_ldt(struct mm_struct *mm); 62 void ldt_arch_exit_mmap(struct mm_struct *mm); [all …]
|
| /kernel/linux/linux-5.10/arch/m68k/include/asm/ |
| D | mmu_context.h | 1 /* SPDX-License-Identifier: GPL-2.0 */ 5 #include <asm-generic/mm_hooks.h> 8 static inline void enter_lazy_tlb(struct mm_struct *mm, struct task_struct *tsk) in enter_lazy_tlb() argument 32 static inline void get_mmu_context(struct mm_struct *mm) in get_mmu_context() argument 36 if (mm->context != NO_CONTEXT) in get_mmu_context() 46 ctx = 0; in get_mmu_context() 49 mm->context = ctx; in get_mmu_context() 50 context_mm[ctx] = mm; in get_mmu_context() 56 #define init_new_context(tsk, mm) (((mm)->context = NO_CONTEXT), 0) argument 61 static inline void destroy_context(struct mm_struct *mm) in destroy_context() argument [all …]
|
| /kernel/linux/linux-6.6/drivers/gpu/drm/tests/ |
| D | drm_buddy_test.c | 1 // SPDX-License-Identifier: MIT 46 static void __dump_block(struct kunit *test, struct drm_buddy *mm, in __dump_block() argument 50 block->header, drm_buddy_block_state(block), in __dump_block() 52 drm_buddy_block_size(mm, block), !block->parent, buddy); in __dump_block() 55 static void dump_block(struct kunit *test, struct drm_buddy *mm, in dump_block() argument 60 __dump_block(test, mm, block, false); in dump_block() 64 __dump_block(test, mm, buddy, true); in dump_block() 67 static int check_block(struct kunit *test, struct drm_buddy *mm, in check_block() argument 74 int err = 0; in check_block() 81 err = -EINVAL; in check_block() [all …]
|
| D | drm_mm_test.c | 1 // SPDX-License-Identifier: GPL-2.0-only 36 [BOTTOMUP] = { "bottom-up", DRM_MM_INSERT_LOW }, 37 [TOPDOWN] = { "top-down", DRM_MM_INSERT_HIGH }, 41 { "bottom-up", DRM_MM_INSERT_LOW }, 42 { "top-down", DRM_MM_INSERT_HIGH }, 46 static bool assert_no_holes(struct kunit *test, const struct drm_mm *mm) in assert_no_holes() argument 52 count = 0; in assert_no_holes() 53 drm_mm_for_each_hole(hole, mm, hole_start, hole_end) in assert_no_holes() 61 drm_mm_for_each_node(hole, mm) { in assert_no_holes() 71 static bool assert_one_hole(struct kunit *test, const struct drm_mm *mm, u64 start, u64 end) in assert_one_hole() argument [all …]
|
| /kernel/linux/linux-5.10/arch/s390/mm/ |
| D | pgtable.c | 1 // SPDX-License-Identifier: GPL-2.0 11 #include <linux/mm.h> 25 #include <asm/page-states.h> 47 static inline void ptep_ipte_local(struct mm_struct *mm, unsigned long addr, in ptep_ipte_local() argument 53 opt = 0; in ptep_ipte_local() 54 asce = READ_ONCE(mm->context.gmap_asce); in ptep_ipte_local() 55 if (asce == 0UL || nodat) in ptep_ipte_local() 57 if (asce != -1UL) { in ptep_ipte_local() 58 asce = asce ? : mm->context.asce; in ptep_ipte_local() 63 __ptep_ipte(addr, ptep, 0, 0, IPTE_LOCAL); in ptep_ipte_local() [all …]
|
| /kernel/linux/linux-6.6/arch/s390/mm/ |
| D | pgtable.c | 1 // SPDX-License-Identifier: GPL-2.0 11 #include <linux/mm.h> 25 #include <asm/page-states.h> 47 static inline void ptep_ipte_local(struct mm_struct *mm, unsigned long addr, in ptep_ipte_local() argument 53 opt = 0; in ptep_ipte_local() 54 asce = READ_ONCE(mm->context.gmap_asce); in ptep_ipte_local() 55 if (asce == 0UL || nodat) in ptep_ipte_local() 57 if (asce != -1UL) { in ptep_ipte_local() 58 asce = asce ? : mm->context.asce; in ptep_ipte_local() 63 __ptep_ipte(addr, ptep, 0, 0, IPTE_LOCAL); in ptep_ipte_local() [all …]
|
| /kernel/linux/linux-6.6/arch/m68k/include/asm/ |
| D | mmu_context.h | 1 /* SPDX-License-Identifier: GPL-2.0 */ 5 #include <asm-generic/mm_hooks.h> 28 static inline void get_mmu_context(struct mm_struct *mm) in get_mmu_context() argument 32 if (mm->context != NO_CONTEXT) in get_mmu_context() 42 ctx = 0; in get_mmu_context() 45 mm->context = ctx; in get_mmu_context() 46 context_mm[ctx] = mm; in get_mmu_context() 52 #define init_new_context(tsk, mm) (((mm)->context = NO_CONTEXT), 0) argument 58 static inline void destroy_context(struct mm_struct *mm) in destroy_context() argument 60 if (mm->context != NO_CONTEXT) { in destroy_context() [all …]
|
| /kernel/linux/linux-6.6/drivers/gpu/drm/ |
| D | drm_buddy.c | 1 // SPDX-License-Identifier: MIT 14 static struct drm_buddy_block *drm_block_alloc(struct drm_buddy *mm, in drm_block_alloc() argument 27 block->header = offset; in drm_block_alloc() 28 block->header |= order; in drm_block_alloc() 29 block->parent = parent; in drm_block_alloc() 31 BUG_ON(block->header & DRM_BUDDY_HEADER_UNUSED); in drm_block_alloc() 35 static void drm_block_free(struct drm_buddy *mm, in drm_block_free() argument 41 static void list_insert_sorted(struct drm_buddy *mm, in list_insert_sorted() argument 47 head = &mm->free_list[drm_buddy_block_order(block)]; in list_insert_sorted() 49 list_add(&block->link, head); in list_insert_sorted() [all …]
|
| /kernel/linux/linux-5.10/arch/s390/include/asm/ |
| D | mmu_context.h | 1 /* SPDX-License-Identifier: GPL-2.0 */ 5 * Derived from "include/asm-i386/mmu_context.h" 16 #include <asm-generic/mm_hooks.h> 19 struct mm_struct *mm) in init_new_context() argument 23 spin_lock_init(&mm->context.lock); in init_new_context() 24 INIT_LIST_HEAD(&mm->context.pgtable_list); in init_new_context() 25 INIT_LIST_HEAD(&mm->context.gmap_list); in init_new_context() 26 cpumask_clear(&mm->context.cpu_attach_mask); in init_new_context() 27 atomic_set(&mm->context.flush_count, 0); in init_new_context() 28 atomic_set(&mm->context.is_protected, 0); in init_new_context() [all …]
|
| /kernel/linux/linux-5.10/arch/x86/include/asm/ |
| D | mmu_context.h | 1 /* SPDX-License-Identifier: GPL-2.0 */ 38 * Xen requires page-aligned LDTs with special permissions. This is 51 * of an older, still-in-use LDT. 53 * slot will be -1 if this LDT doesn't have an alias mapping. 61 static inline void init_new_context_ldt(struct mm_struct *mm) in init_new_context_ldt() argument 63 mm->context.ldt = NULL; in init_new_context_ldt() 64 init_rwsem(&mm->context.ldt_usr_sem); in init_new_context_ldt() 66 int ldt_dup_context(struct mm_struct *oldmm, struct mm_struct *mm); 67 void destroy_context_ldt(struct mm_struct *mm); 68 void ldt_arch_exit_mmap(struct mm_struct *mm); [all …]
|
| /kernel/linux/linux-5.10/arch/powerpc/include/asm/ |
| D | mmu_context.h | 1 /* SPDX-License-Identifier: GPL-2.0 */ 7 #include <linux/mm.h> 17 extern int init_new_context(struct task_struct *tsk, struct mm_struct *mm); 18 extern void destroy_context(struct mm_struct *mm); 23 extern bool mm_iommu_preregistered(struct mm_struct *mm); 24 extern long mm_iommu_new(struct mm_struct *mm, 27 extern long mm_iommu_newdev(struct mm_struct *mm, unsigned long ua, 30 extern long mm_iommu_put(struct mm_struct *mm, 32 extern void mm_iommu_init(struct mm_struct *mm); 33 extern void mm_iommu_cleanup(struct mm_struct *mm); [all …]
|
| /kernel/linux/linux-6.6/arch/s390/include/asm/ |
| D | mmu_context.h | 1 /* SPDX-License-Identifier: GPL-2.0 */ 5 * Derived from "include/asm-i386/mmu_context.h" 16 #include <asm-generic/mm_hooks.h> 20 struct mm_struct *mm) in init_new_context() argument 24 spin_lock_init(&mm->context.lock); in init_new_context() 25 INIT_LIST_HEAD(&mm->context.pgtable_list); in init_new_context() 26 INIT_LIST_HEAD(&mm->context.gmap_list); in init_new_context() 27 cpumask_clear(&mm->context.cpu_attach_mask); in init_new_context() 28 atomic_set(&mm->context.flush_count, 0); in init_new_context() 29 atomic_set(&mm->context.protected_count, 0); in init_new_context() [all …]
|
| /kernel/linux/linux-5.10/drivers/gpu/drm/i915/selftests/ |
| D | i915_buddy.c | 1 // SPDX-License-Identifier: MIT 11 static void __igt_dump_block(struct i915_buddy_mm *mm, in __igt_dump_block() argument 16 block->header, in __igt_dump_block() 20 i915_buddy_block_size(mm, block), in __igt_dump_block() 21 yesno(!block->parent), in __igt_dump_block() 25 static void igt_dump_block(struct i915_buddy_mm *mm, in igt_dump_block() argument 30 __igt_dump_block(mm, block, false); in igt_dump_block() 34 __igt_dump_block(mm, buddy, true); in igt_dump_block() 37 static int igt_check_block(struct i915_buddy_mm *mm, in igt_check_block() argument 44 int err = 0; in igt_check_block() [all …]
|
| /kernel/linux/linux-5.10/mm/ |
| D | rss_threshold.c | 1 // SPDX-License-Identifier: GPL-2.0 3 * mm/rss_threshold.c 8 #include <linux/mm.h> 9 #include <linux/sched/mm.h> 15 struct mm_struct *mm = get_task_mm(task); in proc_pid_rss() local 18 if (mm) { in proc_pid_rss() 19 total_rss = get_mm_rss(mm); in proc_pid_rss() 20 seq_printf(m, "VMRss:%lu KB\n", total_rss << (PAGE_SHIFT - 10)); in proc_pid_rss() 21 mmput(mm); in proc_pid_rss() 23 return 0; in proc_pid_rss() [all …]
|
| /kernel/linux/linux-5.10/drivers/gpu/drm/i915/ |
| D | i915_buddy.c | 1 // SPDX-License-Identifier: MIT 39 return -ENOMEM; in i915_global_buddy_init() 42 return 0; in i915_global_buddy_init() 55 block->header = offset; in i915_block_alloc() 56 block->header |= order; in i915_block_alloc() 57 block->parent = parent; in i915_block_alloc() 69 block->header &= ~I915_BUDDY_HEADER_STATE; in mark_allocated() 70 block->header |= I915_BUDDY_ALLOCATED; in mark_allocated() 72 list_del(&block->link); in mark_allocated() 75 static void mark_free(struct i915_buddy_mm *mm, in mark_free() argument [all …]
|
| /kernel/linux/linux-6.6/include/linux/ |
| D | mmap_lock.h | 8 #include <linux/tracepoint-defs.h> 20 void __mmap_lock_do_trace_start_locking(struct mm_struct *mm, bool write); 21 void __mmap_lock_do_trace_acquire_returned(struct mm_struct *mm, bool write, 23 void __mmap_lock_do_trace_released(struct mm_struct *mm, bool write); 25 static inline void __mmap_lock_trace_start_locking(struct mm_struct *mm, in __mmap_lock_trace_start_locking() argument 29 __mmap_lock_do_trace_start_locking(mm, write); in __mmap_lock_trace_start_locking() 32 static inline void __mmap_lock_trace_acquire_returned(struct mm_struct *mm, in __mmap_lock_trace_acquire_returned() argument 36 __mmap_lock_do_trace_acquire_returned(mm, write, success); in __mmap_lock_trace_acquire_returned() 39 static inline void __mmap_lock_trace_released(struct mm_struct *mm, bool write) in __mmap_lock_trace_released() argument 42 __mmap_lock_do_trace_released(mm, write); in __mmap_lock_trace_released() [all …]
|
| /kernel/linux/linux-5.10/drivers/gpu/drm/selftests/ |
| D | test-drm_mm.c | 1 // SPDX-License-Identifier: GPL-2.0-only 38 [BOTTOMUP] = { "bottom-up", DRM_MM_INSERT_LOW }, 39 [TOPDOWN] = { "top-down", DRM_MM_INSERT_HIGH }, 43 { "bottom-up", DRM_MM_INSERT_LOW }, 44 { "top-down", DRM_MM_INSERT_HIGH }, 50 pr_info("%s - ok!\n", __func__); in igt_sanitycheck() 51 return 0; in igt_sanitycheck() 54 static bool assert_no_holes(const struct drm_mm *mm) in assert_no_holes() argument 60 count = 0; in assert_no_holes() 61 drm_mm_for_each_hole(hole, mm, hole_start, hole_end) in assert_no_holes() [all …]
|
| /kernel/linux/linux-5.10/arch/um/kernel/skas/ |
| D | mmu.c | 1 // SPDX-License-Identifier: GPL-2.0 4 * Copyright (C) 2002 - 2007 Jeff Dike (jdike@{addtoit,linux.intel}.com) 7 #include <linux/mm.h> 13 #include <as-layout.h> 17 static int init_stub_pte(struct mm_struct *mm, unsigned long proc, in init_stub_pte() argument 26 pgd = pgd_offset(mm, proc); in init_stub_pte() 28 p4d = p4d_alloc(mm, pgd, proc); in init_stub_pte() 32 pud = pud_alloc(mm, p4d, proc); in init_stub_pte() 36 pmd = pmd_alloc(mm, pud, proc); in init_stub_pte() 40 pte = pte_alloc_map(mm, pmd, proc); in init_stub_pte() [all …]
|
| /kernel/linux/linux-5.10/arch/sparc/mm/ |
| D | tlb.c | 1 // SPDX-License-Identifier: GPL-2.0 2 /* arch/sparc64/mm/tlb.c 9 #include <linux/mm.h> 25 struct mm_struct *mm = tb->mm; in flush_tlb_pending() local 27 if (!tb->tlb_nr) in flush_tlb_pending() 32 if (CTX_VALID(mm->context)) { in flush_tlb_pending() 33 if (tb->tlb_nr == 1) { in flush_tlb_pending() 34 global_flush_tlb_page(mm, tb->vaddrs[0]); in flush_tlb_pending() 37 smp_flush_tlb_pending(tb->mm, tb->tlb_nr, in flush_tlb_pending() 38 &tb->vaddrs[0]); in flush_tlb_pending() [all …]
|
| /kernel/linux/linux-6.6/drivers/net/ethernet/mscc/ |
| D | ocelot_mm.c | 1 // SPDX-License-Identifier: (GPL-2.0 OR MIT) 3 * Hardware library for MAC Merge Layer and Frame Preemption on TSN-capable 6 * Copyright 2022-2023 NXP 37 case 0: in ocelot_mm_verify_status() 54 struct ocelot_port *ocelot_port = ocelot->ports[port]; in ocelot_port_update_active_preemptible_tcs() 55 struct ocelot_mm_state *mm = &ocelot->mm[port]; in ocelot_port_update_active_preemptible_tcs() local 56 u32 val = 0; in ocelot_port_update_active_preemptible_tcs() 58 lockdep_assert_held(&ocelot->fwd_domain_lock); in ocelot_port_update_active_preemptible_tcs() 65 if ((ocelot_port->phy_mode != PHY_INTERFACE_MODE_QSGMII || in ocelot_port_update_active_preemptible_tcs() 66 ocelot_port->speed == SPEED_1000) && mm->tx_active) in ocelot_port_update_active_preemptible_tcs() [all …]
|
| /kernel/linux/linux-5.10/arch/powerpc/mm/ |
| D | slice.c | 1 // SPDX-License-Identifier: GPL-2.0-or-later 3 * address space "slices" (meta-segments) support 15 #include <linux/mm.h> 21 #include <linux/sched/mm.h> 39 (int)SLICE_NUM_LOW, &mask->low_slices); in slice_print_mask() 41 (int)SLICE_NUM_HIGH, mask->high_slices); in slice_print_mask() 44 #define slice_dbg(fmt...) do { if (_slice_debug) pr_devel(fmt); } while (0) 63 unsigned long end = start + len - 1; in slice_range_to_mask() 65 ret->low_slices = 0; in slice_range_to_mask() 67 bitmap_zero(ret->high_slices, SLICE_NUM_HIGH); in slice_range_to_mask() [all …]
|
| /kernel/linux/linux-5.10/arch/powerpc/mm/book3s64/ |
| D | mmu_context.c | 1 // SPDX-License-Identifier: GPL-2.0-or-later 3 * MMU context allocation for 64-bit kernels. 13 #include <linux/mm.h> 59 * id 0 (aka. ctx->id) is special, we always allocate a new one, even if in realloc_context_ids() 64 * the array, so that we can test if they're non-zero to decide if we in realloc_context_ids() 70 for (i = 0; i < ARRAY_SIZE(ctx->extended_id); i++) { in realloc_context_ids() 71 if (i == 0 || ctx->extended_id[i]) { in realloc_context_ids() 73 if (id < 0) in realloc_context_ids() 76 ctx->extended_id[i] = id; in realloc_context_ids() 81 return ctx->id; in realloc_context_ids() [all …]
|
| /kernel/linux/linux-6.6/fs/proc/ |
| D | task_nommu.c | 1 // SPDX-License-Identifier: GPL-2.0 3 #include <linux/mm.h> 11 #include <linux/sched/mm.h> 17 * "non-shared". Shared memory may get counted more than once, for 18 * each process that owns it. Non-shared memory is counted 21 void task_mem(struct seq_file *m, struct mm_struct *mm) in task_mem() argument 23 VMA_ITERATOR(vmi, mm, 0); in task_mem() 26 unsigned long bytes = 0, sbytes = 0, slack = 0, size; in task_mem() 28 mmap_read_lock(mm); in task_mem() 32 region = vma->vm_region; in task_mem() [all …]
|
| /kernel/linux/linux-6.6/arch/powerpc/include/asm/ |
| D | mmu_context.h | 1 /* SPDX-License-Identifier: GPL-2.0 */ 7 #include <linux/mm.h> 18 extern int init_new_context(struct task_struct *tsk, struct mm_struct *mm); 20 extern void destroy_context(struct mm_struct *mm); 24 extern bool mm_iommu_preregistered(struct mm_struct *mm); 25 extern long mm_iommu_new(struct mm_struct *mm, 28 extern long mm_iommu_newdev(struct mm_struct *mm, unsigned long ua, 31 extern long mm_iommu_put(struct mm_struct *mm, 33 extern void mm_iommu_init(struct mm_struct *mm); 34 extern struct mm_iommu_table_group_mem_t *mm_iommu_lookup(struct mm_struct *mm, [all …]
|
| /kernel/linux/linux-6.6/arch/powerpc/mm/book3s64/ |
| D | mmu_context.c | 1 // SPDX-License-Identifier: GPL-2.0-or-later 3 * MMU context allocation for 64-bit kernels. 13 #include <linux/mm.h> 62 * id 0 (aka. ctx->id) is special, we always allocate a new one, even if in realloc_context_ids() 67 * the array, so that we can test if they're non-zero to decide if we in realloc_context_ids() 73 for (i = 0; i < ARRAY_SIZE(ctx->extended_id); i++) { in realloc_context_ids() 74 if (i == 0 || ctx->extended_id[i]) { in realloc_context_ids() 76 if (id < 0) in realloc_context_ids() 79 ctx->extended_id[i] = id; in realloc_context_ids() 84 return ctx->id; in realloc_context_ids() [all …]
|