Searched refs:mm (Results 1 - 25 of 1303) sorted by relevance

1234567891011>>

/arch/sparc/include/asm/
H A Dmmu_context_32.h8 static inline void enter_lazy_tlb(struct mm_struct *mm, struct task_struct *tsk) argument
15 int init_new_context(struct task_struct *tsk, struct mm_struct *mm);
22 void destroy_context(struct mm_struct *mm);
25 void switch_mm(struct mm_struct *old_mm, struct mm_struct *mm,
28 #define deactivate_mm(tsk,mm) do { } while (0)
31 #define activate_mm(active_mm, mm) switch_mm((active_mm), (mm), NULL)
H A Dmmu_context_64.h12 static inline void enter_lazy_tlb(struct mm_struct *mm, struct task_struct *tsk) argument
20 void get_new_mmu_context(struct mm_struct *mm);
27 int init_new_context(struct task_struct *tsk, struct mm_struct *mm);
28 void destroy_context(struct mm_struct *mm);
35 static inline void tsb_context_switch(struct mm_struct *mm) argument
37 __tsb_context_switch(__pa(mm->pgd),
38 &mm->context.tsb_block[0],
40 (mm->context.tsb_block[1].tsb ?
41 &mm->context.tsb_block[1] :
46 , __pa(&mm
74 switch_mm(struct mm_struct *old_mm, struct mm_struct *mm, struct task_struct *tsk) argument
136 activate_mm(struct mm_struct *active_mm, struct mm_struct *mm) argument
[all...]
H A Dtlbflush_64.h11 struct mm_struct *mm; member in struct:tlb_batch
19 void flush_tsb_user_page(struct mm_struct *mm, unsigned long vaddr);
23 static inline void flush_tlb_mm(struct mm_struct *mm) argument
53 static inline void global_flush_tlb_page(struct mm_struct *mm, unsigned long vaddr) argument
55 __flush_tlb_page(CTX_HWBITS(mm->context), vaddr);
61 void smp_flush_tlb_page(struct mm_struct *mm, unsigned long vaddr);
63 #define global_flush_tlb_page(mm, vaddr) \
64 smp_flush_tlb_page(mm, vaddr)
/arch/arm/include/asm/
H A Dmmu_context.h24 void __check_vmalloc_seq(struct mm_struct *mm);
28 void check_and_switch_context(struct mm_struct *mm, struct task_struct *tsk);
29 #define init_new_context(tsk,mm) ({ atomic64_set(&mm->context.id, 0); 0; })
32 void a15_erratum_get_cpumask(int this_cpu, struct mm_struct *mm,
35 static inline void a15_erratum_get_cpumask(int this_cpu, struct mm_struct *mm, argument
45 static inline void check_and_switch_context(struct mm_struct *mm, argument
48 if (unlikely(mm->context.vmalloc_seq != init_mm.context.vmalloc_seq))
49 __check_vmalloc_seq(mm);
55 * running with the old mm
68 struct mm_struct *mm = current->mm; local
105 enter_lazy_tlb(struct mm_struct *mm, struct task_struct *tsk) argument
[all...]
/arch/arm64/mm/
H A Dcontext.c2 * Based on arch/arm/mm/context.c
22 #include <linux/mm.h>
41 void __init_new_context(struct task_struct *tsk, struct mm_struct *mm) argument
43 mm->context.id = 0;
44 raw_spin_lock_init(&mm->context.id_lock);
58 static void set_mm_context(struct mm_struct *mm, unsigned int asid) argument
64 * mm->context.id could be set from different CPUs during the
66 * mm->context.id_lock has to be IRQ-safe.
68 raw_spin_lock_irqsave(&mm->context.id_lock, flags);
69 if (likely((mm
93 struct mm_struct *mm = current->active_mm; local
107 set_mm_context(struct mm_struct *mm, unsigned int asid) argument
115 __new_context(struct mm_struct *mm) argument
[all...]
/arch/arm64/include/asm/
H A Dmmu_context.h35 void __init_new_context(struct task_struct *tsk, struct mm_struct *mm);
36 void __new_context(struct mm_struct *mm);
67 static inline void switch_new_context(struct mm_struct *mm) argument
71 __new_context(mm);
74 cpu_switch_mm(mm->pgd, mm);
78 static inline void check_and_switch_context(struct mm_struct *mm, argument
87 if (!((mm->context.id ^ cpu_last_asid) >> MAX_ASID_BITS))
93 cpu_switch_mm(mm->pgd, mm);
117 struct mm_struct *mm = current->mm; local
138 enter_lazy_tlb(struct mm_struct *mm, struct task_struct *tsk) argument
[all...]
/arch/mn10300/include/asm/
H A Dmmu_context.h37 #define enter_lazy_tlb(mm, tsk) do {} while (0)
39 static inline void cpu_ran_vm(int cpu, struct mm_struct *mm) argument
42 cpumask_set_cpu(cpu, mm_cpumask(mm));
46 static inline bool cpu_maybe_ran_vm(int cpu, struct mm_struct *mm) argument
49 return cpumask_test_and_set_cpu(cpu, mm_cpumask(mm));
57 #define mm_context(mm) (mm->context.tlbpid[smp_processor_id()])
61 * @mm: The userspace VM context being set up
63 static inline unsigned long allocate_mmu_context(struct mm_struct *mm) argument
78 mm_context(mm)
85 get_mmu_context(struct mm_struct *mm) argument
103 init_new_context(struct task_struct *tsk, struct mm_struct *mm) argument
117 activate_context(struct mm_struct *mm) argument
[all...]
/arch/s390/include/asm/
H A Dpgalloc.h16 #include <linux/mm.h>
27 int set_guest_storage_key(struct mm_struct *mm, unsigned long addr,
56 static inline unsigned long pgd_entry_type(struct mm_struct *mm) argument
61 #define pud_alloc_one(mm,address) ({ BUG(); ((pud_t *)2); })
62 #define pud_free(mm, x) do { } while (0)
64 #define pmd_alloc_one(mm,address) ({ BUG(); ((pmd_t *)2); })
65 #define pmd_free(mm, x) do { } while (0)
67 #define pgd_populate(mm, pgd, pud) BUG()
68 #define pud_populate(mm, pud, pmd) BUG()
72 static inline unsigned long pgd_entry_type(struct mm_struct *mm) argument
84 pud_alloc_one(struct mm_struct *mm, unsigned long address) argument
93 pmd_alloc_one(struct mm_struct *mm, unsigned long vmaddr) argument
107 pmd_free(struct mm_struct *mm, pmd_t *pmd) argument
113 pgd_populate(struct mm_struct *mm, pgd_t *pgd, pud_t *pud) argument
118 pud_populate(struct mm_struct *mm, pud_t *pud, pmd_t *pmd) argument
125 pgd_alloc(struct mm_struct *mm) argument
134 pmd_populate(struct mm_struct *mm, pmd_t *pmd, pgtable_t pte) argument
[all...]
H A Dmmu_context.h16 struct mm_struct *mm)
18 cpumask_clear(&mm->context.cpu_attach_mask);
19 atomic_set(&mm->context.attach_count, 0);
20 mm->context.flush_mm = 0;
21 mm->context.asce_bits = _ASCE_TABLE_LENGTH | _ASCE_USER_BITS;
23 mm->context.asce_bits |= _ASCE_TYPE_REGION3;
25 mm->context.has_pgste = 0;
26 mm->context.use_skey = 0;
27 mm->context.asce_limit = STACK_TOP_MAX;
28 crst_table_init((unsigned long *) mm
15 init_new_context(struct task_struct *tsk, struct mm_struct *mm) argument
34 set_user_asce(struct mm_struct *mm) argument
83 struct mm_struct *mm = tsk->mm; local
110 arch_dup_mmap(struct mm_struct *oldmm, struct mm_struct *mm) argument
119 arch_exit_mmap(struct mm_struct *mm) argument
[all...]
H A Dtlbflush.h4 #include <linux/mm.h>
22 /* Global TLB flush for the mm */
33 /* Local TLB flush for the mm */
68 * Flush TLB entries for a specific mm on all CPUs (in case gmap is used
71 static inline void __tlb_flush_full(struct mm_struct *mm) argument
74 atomic_add(0x10000, &mm->context.attach_count);
75 if (cpumask_equal(mm_cpumask(mm), cpumask_of(smp_processor_id()))) {
83 cpumask_copy(mm_cpumask(mm),
84 &mm->context.cpu_attach_mask);
86 atomic_sub(0x10000, &mm
93 __tlb_flush_asce(struct mm_struct *mm, unsigned long asce) argument
132 __tlb_flush_asce(struct mm_struct *mm, unsigned long asce) argument
150 __tlb_flush_mm(struct mm_struct * mm) argument
164 __tlb_flush_mm_lazy(struct mm_struct * mm) argument
194 flush_tlb_mm(struct mm_struct *mm) argument
[all...]
/arch/powerpc/include/asm/
H A Dcopro.h18 int copro_handle_mm_fault(struct mm_struct *mm, unsigned long ea,
21 int copro_calculate_slb(struct mm_struct *mm, u64 ea, struct copro_slb *slb);
25 void copro_flush_all_slbs(struct mm_struct *mm);
27 static inline void copro_flush_all_slbs(struct mm_struct *mm) {} argument
/arch/xtensa/include/asm/
H A Dnommu_context.h1 static inline void enter_lazy_tlb(struct mm_struct *mm, struct task_struct *tsk) argument
5 static inline int init_new_context(struct task_struct *tsk,struct mm_struct *mm) argument
10 static inline void destroy_context(struct mm_struct *mm) argument
23 static inline void deactivate_mm(struct task_struct *tsk, struct mm_struct *mm) argument
/arch/cris/include/asm/
H A Dmmu_context.h6 extern int init_new_context(struct task_struct *tsk, struct mm_struct *mm);
7 extern void get_mmu_context(struct mm_struct *mm);
8 extern void destroy_context(struct mm_struct *mm);
12 #define deactivate_mm(tsk,mm) do { } while (0)
20 /* defined in arch/cris/mm/fault.c */
23 static inline void enter_lazy_tlb(struct mm_struct *mm, struct task_struct *tsk) argument
/arch/alpha/include/asm/
H A Dtlbflush.h4 #include <linux/mm.h>
21 ev4_flush_tlb_current(struct mm_struct *mm) argument
23 __load_new_mm_context(mm);
28 ev5_flush_tlb_current(struct mm_struct *mm) argument
30 __load_new_mm_context(mm);
38 ev4_flush_tlb_current_page(struct mm_struct * mm, argument
44 __load_new_mm_context(mm);
51 ev5_flush_tlb_current_page(struct mm_struct * mm, argument
56 __load_new_mm_context(mm);
89 flush_tlb_other(struct mm_struct *mm) argument
107 flush_tlb_mm(struct mm_struct *mm) argument
119 struct mm_struct *mm = vma->vm_mm; local
[all...]
/arch/m32r/include/asm/
H A Dmmu_context.h26 #define mm_context(mm) mm->context
30 #define mm_context(mm) mm->context[smp_processor_id()]
37 #define enter_lazy_tlb(mm, tsk) do { } while (0)
39 static inline void get_new_mmu_context(struct mm_struct *mm) argument
52 mm_context(mm) = mc;
58 static inline void get_mmu_context(struct mm_struct *mm) argument
60 if (mm) {
65 if ((mm_context(mm)
74 init_new_context(struct task_struct *tsk, struct mm_struct *mm) argument
115 activate_context(struct mm_struct *mm) argument
[all...]
H A Dpgalloc.h4 #include <linux/mm.h>
8 #define pmd_populate_kernel(mm, pmd, pte) \
11 static __inline__ void pmd_populate(struct mm_struct *mm, pmd_t *pmd, argument
21 static __inline__ pgd_t *pgd_alloc(struct mm_struct *mm) argument
28 static inline void pgd_free(struct mm_struct *mm, pgd_t *pgd) argument
33 static __inline__ pte_t *pte_alloc_one_kernel(struct mm_struct *mm, argument
41 static __inline__ pgtable_t pte_alloc_one(struct mm_struct *mm, argument
55 static inline void pte_free_kernel(struct mm_struct *mm, pte_t *pte) argument
60 static inline void pte_free(struct mm_struct *mm, pgtable_t pte) argument
66 #define __pte_free_tlb(tlb, pte, addr) pte_free((tlb)->mm, (pt
[all...]
/arch/m68k/include/asm/
H A Dmmu_context.h6 static inline void enter_lazy_tlb(struct mm_struct *mm, struct task_struct *tsk) argument
30 static inline void get_mmu_context(struct mm_struct *mm) argument
34 if (mm->context != NO_CONTEXT)
47 mm->context = ctx;
48 context_mm[ctx] = mm;
54 #define init_new_context(tsk, mm) (((mm)->context = NO_CONTEXT), 0)
59 static inline void destroy_context(struct mm_struct *mm) argument
61 if (mm->context != NO_CONTEXT) {
62 clear_bit(mm
84 activate_mm(struct mm_struct *active_mm, struct mm_struct *mm) argument
99 struct mm_struct *mm; local
168 init_new_context(struct task_struct *tsk, struct mm_struct *mm) argument
177 get_mmu_context(struct mm_struct *mm) argument
184 destroy_context(struct mm_struct *mm) argument
190 activate_context(struct mm_struct *mm) argument
216 init_new_context(struct task_struct *tsk, struct mm_struct *mm) argument
225 switch_mm_0230(struct mm_struct *mm) argument
258 switch_mm_0460(struct mm_struct *mm) argument
309 init_new_context(struct task_struct *tsk, struct mm_struct *mm) argument
[all...]
/arch/powerpc/mm/
H A Dmmu_context_hash64.c18 #include <linux/mm.h>
62 int init_new_context(struct task_struct *tsk, struct mm_struct *mm) argument
74 if (slice_mm_new_context(mm))
75 slice_set_user_psize(mm, mmu_virtual_psize);
76 subpage_prot_init_new_context(mm);
77 mm->context.id = index;
79 mm->context.cop_lockp = kmalloc(sizeof(spinlock_t), GFP_KERNEL);
80 if (!mm->context.cop_lockp) {
82 subpage_prot_free(mm);
83 mm
104 destroy_pagetable_page(struct mm_struct *mm) argument
126 destroy_pagetable_page(struct mm_struct *mm) argument
133 destroy_context(struct mm_struct *mm) argument
[all...]
/arch/cris/mm/
H A Dtlb.c2 * linux/arch/cris/mm/tlb.c
16 /* The TLB can host up to 64 different mm contexts at the same time.
19 * of which mm we have assigned to which page_id, so that we know when
36 alloc_context(struct mm_struct *mm) argument
40 D(printk("tlb: alloc context %d (%p)\n", map_replace_ptr, mm));
42 /* did we replace an mm ? */
47 /* throw out any TLB entries belonging to the mm we replace
57 mm->context.page_id = map_replace_ptr;
58 page_id_map[map_replace_ptr] = mm;
67 * if needed, get a new MMU context for the mm
71 get_mmu_context(struct mm_struct *mm) argument
86 destroy_context(struct mm_struct *mm) argument
[all...]
/arch/um/include/asm/
H A Dmmu_context.h12 extern void uml_setup_stubs(struct mm_struct *mm);
13 extern void arch_exit_mmap(struct mm_struct *mm);
15 #define deactivate_mm(tsk,mm) do { } while (0)
23 * when the new ->mm is used for the first time.
44 static inline void arch_dup_mmap(struct mm_struct *oldmm, struct mm_struct *mm) argument
46 uml_setup_stubs(mm);
49 static inline void enter_lazy_tlb(struct mm_struct *mm, argument
54 extern int init_new_context(struct task_struct *task, struct mm_struct *mm);
56 extern void destroy_context(struct mm_struct *mm);
/arch/c6x/include/asm/
H A Dtlb.h4 #define tlb_flush(tlb) flush_tlb_mm((tlb)->mm)
/arch/microblaze/include/asm/
H A Dmmu_context_mm.h36 static inline void enter_lazy_tlb(struct mm_struct *mm, struct task_struct *tsk) argument
79 * Get a new mmu context for the address space described by `mm'.
81 static inline void get_mmu_context(struct mm_struct *mm) argument
85 if (mm->context != NO_CONTEXT)
96 mm->context = ctx;
97 context_mm[ctx] = mm;
103 # define init_new_context(tsk, mm) (((mm)->context = NO_CONTEXT), 0)
108 static inline void destroy_context(struct mm_struct *mm) argument
110 if (mm
129 activate_mm(struct mm_struct *active_mm, struct mm_struct *mm) argument
[all...]
/arch/mn10300/mm/
H A Dcache-disabled.c11 #include <linux/mm.h>
/arch/openrisc/include/asm/
H A Dmmu_context.h24 extern int init_new_context(struct task_struct *tsk, struct mm_struct *mm);
25 extern void destroy_context(struct mm_struct *mm);
29 #define deactivate_mm(tsk, mm) do { } while (0)
37 extern volatile pgd_t *current_pgd; /* defined in arch/openrisc/mm/fault.c */
39 static inline void enter_lazy_tlb(struct mm_struct *mm, struct task_struct *tsk) argument
/arch/sparc/power/
H A Dhibernate.c7 #include <linux/mm.h>
36 struct mm_struct *mm = current->active_mm; local
38 load_secondary_context(mm);
39 tsb_context_switch(mm);

Completed in 4141 milliseconds

1234567891011>>