Lines Matching refs:cpu
35 #define asid_cache(cpu) (cpu_data[cpu].asid_cache) argument
38 #define cpu_context(cpu, mm) ((mm)->context.id[cpu]) argument
40 #define cpu_asid(cpu, mm) \ argument
41 (cpu_context((cpu), (mm)) & MMU_CONTEXT_ASID_MASK)
57 static inline void get_mmu_context(struct mm_struct *mm, unsigned int cpu) in get_mmu_context() argument
59 unsigned long asid = asid_cache(cpu); in get_mmu_context()
62 if (((cpu_context(cpu, mm) ^ asid) & MMU_CONTEXT_VERSION_MASK) == 0) in get_mmu_context()
90 cpu_context(cpu, mm) = asid_cache(cpu) = asid; in get_mmu_context()
112 static inline void activate_context(struct mm_struct *mm, unsigned int cpu) in activate_context() argument
114 get_mmu_context(mm, cpu); in activate_context()
115 set_asid(cpu_asid(cpu, mm)); in activate_context()
122 unsigned int cpu = smp_processor_id(); in switch_mm() local
125 cpumask_set_cpu(cpu, mm_cpumask(next)); in switch_mm()
127 activate_context(next, cpu); in switch_mm()
129 if (!cpumask_test_and_set_cpu(cpu, mm_cpumask(next))) in switch_mm()
130 activate_context(next, cpu); in switch_mm()
141 #define cpu_asid(cpu, mm) ({ (void)cpu; NO_CONTEXT; }) argument
158 unsigned int cpu = smp_processor_id(); in enable_mmu() local
164 if (asid_cache(cpu) == NO_CONTEXT) in enable_mmu()
165 asid_cache(cpu) = MMU_CONTEXT_FIRST_VERSION; in enable_mmu()
167 set_asid(asid_cache(cpu) & MMU_CONTEXT_ASID_MASK); in enable_mmu()