11 static inline int mmu_get_tsize(
int psize)
16 static inline int book3e_tlb_exists(
unsigned long ea,
unsigned long pid)
20 mtspr(SPRN_MAS6, pid << 16);
21 if (mmu_has_feature(MMU_FTR_USE_TLBRSRV)) {
28 :
"=&r"(found) :
"r"(ea));
34 :
"=&r"(found) :
"r"(ea));
43 unsigned long mas1, mas2;
45 unsigned long psize, tsize, shift;
49 #ifdef CONFIG_PPC_FSL_BOOK3E
58 #ifdef CONFIG_PPC_MM_SLICES
60 tsize = mmu_get_tsize(psize);
64 shift = __ilog2(psize);
79 #ifdef CONFIG_PPC_FSL_BOOK3E
93 mas2 = ea & ~((1
UL << shift) - 1);
100 mtspr(SPRN_MAS1, mas1);
101 mtspr(SPRN_MAS2, mas2);
103 if (mmu_has_feature(MMU_FTR_USE_PAIRED_MAS)) {
104 mtspr(SPRN_MAS7_MAS3, mas7_3);
110 asm volatile (
"tlbwe");