Lines Matching refs:cpu
68 MGR_ATTR static int evict_one_icplb(unsigned int cpu) in evict_one_icplb() argument
72 if ((icplb_tbl[cpu][i].data & CPLB_VALID) == 0) in evict_one_icplb()
74 i = first_switched_icplb + icplb_rr_index[cpu]; in evict_one_icplb()
77 icplb_rr_index[cpu] -= MAX_CPLBS - first_switched_icplb; in evict_one_icplb()
79 icplb_rr_index[cpu]++; in evict_one_icplb()
83 MGR_ATTR static int evict_one_dcplb(unsigned int cpu) in evict_one_dcplb() argument
87 if ((dcplb_tbl[cpu][i].data & CPLB_VALID) == 0) in evict_one_dcplb()
89 i = first_switched_dcplb + dcplb_rr_index[cpu]; in evict_one_dcplb()
92 dcplb_rr_index[cpu] -= MAX_CPLBS - first_switched_dcplb; in evict_one_dcplb()
94 dcplb_rr_index[cpu]++; in evict_one_dcplb()
98 MGR_ATTR static noinline int dcplb_miss(unsigned int cpu) in dcplb_miss() argument
106 nr_dcplb_miss[cpu]++; in dcplb_miss()
124 mask = current_rwx_mask[cpu]; in dcplb_miss()
146 mask = current_rwx_mask[cpu]; in dcplb_miss()
160 idx = evict_one_dcplb(cpu); in dcplb_miss()
163 dcplb_tbl[cpu][idx].addr = addr; in dcplb_miss()
164 dcplb_tbl[cpu][idx].data = d_data; in dcplb_miss()
174 MGR_ATTR static noinline int icplb_miss(unsigned int cpu) in icplb_miss() argument
181 nr_icplb_miss[cpu]++; in icplb_miss()
188 nr_icplb_supv_miss[cpu]++; in icplb_miss()
196 if (icplb_tbl[cpu][idx].data & CPLB_VALID) { in icplb_miss()
197 unsigned long this_addr = icplb_tbl[cpu][idx].addr; in icplb_miss()
223 unsigned long *mask = current_rwx_mask[cpu]; in icplb_miss()
254 unsigned long *mask = current_rwx_mask[cpu]; in icplb_miss()
267 idx = evict_one_icplb(cpu); in icplb_miss()
269 icplb_tbl[cpu][idx].addr = addr; in icplb_miss()
270 icplb_tbl[cpu][idx].data = i_data; in icplb_miss()
280 MGR_ATTR static noinline int dcplb_protection_fault(unsigned int cpu) in dcplb_protection_fault() argument
284 nr_dcplb_prot[cpu]++; in dcplb_protection_fault()
288 unsigned long data = dcplb_tbl[cpu][idx].data; in dcplb_protection_fault()
292 dcplb_tbl[cpu][idx].data = data; in dcplb_protection_fault()
303 unsigned int cpu = raw_smp_processor_id(); in cplb_hdr() local
306 return dcplb_protection_fault(cpu); in cplb_hdr()
308 return icplb_miss(cpu); in cplb_hdr()
310 return dcplb_miss(cpu); in cplb_hdr()
316 void flush_switched_cplbs(unsigned int cpu) in flush_switched_cplbs() argument
321 nr_cplb_flush[cpu]++; in flush_switched_cplbs()
326 icplb_tbl[cpu][i].data = 0; in flush_switched_cplbs()
333 dcplb_tbl[cpu][i].data = 0; in flush_switched_cplbs()
341 void set_mask_dcplbs(unsigned long *masks, unsigned int cpu) in set_mask_dcplbs() argument
349 current_rwx_mask[cpu] = masks; in set_mask_dcplbs()
354 current_rwx_mask[cpu] = masks; in set_mask_dcplbs()
371 dcplb_tbl[cpu][i].addr = addr; in set_mask_dcplbs()
372 dcplb_tbl[cpu][i].data = d_data; in set_mask_dcplbs()