Lines Matching refs:cpu
37 #define asid_cache(cpu) (cpu_data[cpu].asid_cache) argument
40 #define cpu_context(cpu, mm) ((mm)->context.id[cpu]) argument
42 #define cpu_asid(cpu, mm) \ argument
43 (cpu_context((cpu), (mm)) & MMU_CONTEXT_ASID_MASK)
55 static inline void get_mmu_context(struct mm_struct *mm, unsigned int cpu) in get_mmu_context() argument
57 unsigned long asid = asid_cache(cpu); in get_mmu_context()
60 if (((cpu_context(cpu, mm) ^ asid) & MMU_CONTEXT_VERSION_MASK) == 0) in get_mmu_context()
80 cpu_context(cpu, mm) = asid_cache(cpu) = asid; in get_mmu_context()
103 static inline void activate_context(struct mm_struct *mm, unsigned int cpu) in activate_context() argument
105 get_mmu_context(mm, cpu); in activate_context()
106 set_asid(cpu_asid(cpu, mm)); in activate_context()
113 unsigned int cpu = smp_processor_id(); in switch_mm() local
116 cpumask_set_cpu(cpu, mm_cpumask(next)); in switch_mm()
118 activate_context(next, cpu); in switch_mm()
120 if (!cpumask_test_and_set_cpu(cpu, mm_cpumask(next))) in switch_mm()
121 activate_context(next, cpu); in switch_mm()
130 #define cpu_asid(cpu, mm) ({ (void)cpu; NO_CONTEXT; }) argument
147 unsigned int cpu = smp_processor_id(); in enable_mmu() local
153 if (asid_cache(cpu) == NO_CONTEXT) in enable_mmu()
154 asid_cache(cpu) = MMU_CONTEXT_FIRST_VERSION; in enable_mmu()
156 set_asid(asid_cache(cpu) & MMU_CONTEXT_ASID_MASK); in enable_mmu()