Lines Matching refs:tsb

2 /* arch/sparc64/mm/tsb.c
16 #include <asm/tsb.h>
20 extern struct tsb swapper_tsb[KERNEL_TSB_NENTRIES];
38 struct tsb *ent = &swapper_tsb[idx];
62 struct tsb *ent = &swapper_tsb[hash];
69 static void __flush_tsb_one_entry(unsigned long tsb, unsigned long v,
77 ent = tsb + (hash * sizeof(struct tsb));
84 unsigned long tsb, unsigned long nentries)
89 __flush_tsb_one_entry(tsb, tb->vaddrs[i], hash_shift, nentries);
93 static void __flush_huge_tsb_one_entry(unsigned long tsb, unsigned long v,
103 __flush_tsb_one_entry(tsb, v + (i << hash_shift), hash_shift,
108 unsigned long tsb, unsigned long nentries,
114 __flush_huge_tsb_one_entry(tsb, tb->vaddrs[i], hash_shift,
127 base = (unsigned long) mm->context.tsb_block[MM_TSB_BASE].tsb;
140 else if (mm->context.tsb_block[MM_TSB_HUGE].tsb) {
141 base = (unsigned long) mm->context.tsb_block[MM_TSB_HUGE].tsb;
160 base = (unsigned long) mm->context.tsb_block[MM_TSB_BASE].tsb;
174 else if (mm->context.tsb_block[MM_TSB_HUGE].tsb) {
175 base = (unsigned long) mm->context.tsb_block[MM_TSB_HUGE].tsb;
200 tsb_bytes / sizeof(struct tsb);
216 tsb_paddr = __pa(mm->context.tsb_block[tsb_idx].tsb);
372 unsigned long num_ents = (new_size / sizeof(struct tsb));
400 struct tsb *old_tsb, *new_tsb;
432 if (mm->context.tsb_block[tsb_index].tsb == NULL &&
443 if (mm->context.tsb_block[tsb_index].tsb != NULL)
475 old_tsb = mm->context.tsb_block[tsb_index].tsb;
479 sizeof(struct tsb));
514 mm->context.tsb_block[tsb_index].tsb = new_tsb;
531 /* Now it is safe to free the old tsb. */
570 mm->context.tsb_block[i].tsb = NULL;
584 if (unlikely(!mm->context.tsb_block[MM_TSB_BASE].tsb))
594 if (!tp->tsb)
597 kmem_cache_free(tsb_caches[cache_index], tp->tsb);
598 tp->tsb = NULL;