Lines Matching defs:tte

204  * tte = TSBE TTE (ro)
211 #define TSB_INSERT_UNLOCK_ENTRY(tsbep, tte, tagtarget, tmp1) \
213 stxa tte, [tmp1]ASI_MEM /* write tte data */ ;\
216 stxa tagtarget, [tmp1]ASI_MEM /* write tte tag & unlock */
220 #define TSB_INSERT_UNLOCK_ENTRY(tsbep, tte, tagtarget,tmp1) \
221 stxa tte, [tsbep + TSBE_TTE]%asi /* write tte data */ ;\
223 stxa tagtarget, [tsbep + TSBE_TAG]%asi /* write tte tag & unlock */
231 * tte = value of the TTE retrieved and loaded (wo)
242 #define TSB_UPDATE_TL(tsbep, tte, tagtarget, ttepa, tmp1, tmp2, label) \
245 * I don't need to update the TSB then check for the valid tte. ;\
250 ldxa [ttepa]ASI_MEM, tte ;\
254 brgez,a,pn tte, label ;\
256 TSB_INSERT_UNLOCK_ENTRY(tsbep, tte, tagtarget, tmp1) ;\
261 #define TSB_UPDATE_TL(tsbep, tte, tagtarget, ttepa, tmp1, tmp2, label) \
264 * I don't need to update the TSB then check for the valid tte. ;\
269 ldxa [ttepa]ASI_MEM, tte ;\
272 brgez,a,pn tte, label ;\
274 TSB_INSERT_UNLOCK_ENTRY(tsbep, tte, tagtarget, tmp1) ;\
284 * tte = 4M pfn offset (in), value of the TTE retrieved and loaded (out)
294 #define TSB_UPDATE_TL_PN(tsbep, tte, tagtarget, ttepa, tmp1, tmp2, label) \
297 * I don't need to update the TSB then check for the valid tte. ;\
304 mov tte, tmp1 ;\
305 ldxa [ttepa]ASI_MEM, tte ;\
308 brgez,a,pn tte, label ;\
310 or tte, tmp1, tte ;\
311 andn tte, TTE_EXECPRM_INT, tte ;\
312 or tte, TTE_E_SYNTH_INT, tte ;\
313 TSB_INSERT_UNLOCK_ENTRY(tsbep, tte, tagtarget, tmp1) ;\
319 * tte = value of the TTE, used to get tte_size bits (ro)
321 * pfn = 4M pfn bits shifted to offset for tte (out)
326 #define GET_4M_PFN_OFF(tte, tagaccess, pfn, tmp, label) \
332 srlx tte, TTE_SZ_SHFT, tmp /* isolate the */ ;\
341 * Add 4M TTE size code to a tte for a Panther 32M/256M page,
344 * tte = value of the TTE, used to get tte_size bits (rw)
348 #define SET_TTE4M_PN(tte, tmp) \
350 * Set 4M pagesize tte bits. ;\
354 or tte, tmp, tte
372 ldx [tteva], tteva /* load tte */ ;\
385 ldx [tteva], tteva /* load tte */ ;\
495 * Use cas, if tte has changed underneath us then reread and try again.
504 * Use cas, if tte has changed underneath us then return 1, else return 0
1571 sfmmu_ttetopfn(tte_t *tte, caddr_t vaddr)
1577 ldx [%o0], %g1 /* read tte */
2206 * tte = tte for TLB miss if found, otherwise clobbered (out)
2215 * foundlabel = label to jump to when tte is found.
2216 * suspendlabel= label to jump to when tte is suspended.
2217 * exitlabel = label to jump to when tte is not found.
2220 #define GET_TTE(tagacc, hatid, tte, hmeblkpa, tsbarea, hmemisc, hmeshift, \
2225 HMEHASH_FUNC_ASM(tagacc, hatid, tsbarea, hmeshift, tte, \
2232 * tte = hmebp (hme bucket pointer) ;\
2242 * tte = hmebp ;\
2247 stn tte, [tsbarea + (TSBMISS_SCRATCH + TSBMISS_HMEBP)] ;\
2248 HMEHASH_SEARCH(tte, hmemisc, hatid, hmeblkpa, \
2252 * tte = CLOBBERED ;\
2264 * Now we calculate the corresponding tte. ;\
2268 * tte = clobbered ;\
2273 HMEBLK_TO_HMENT(tagacc, hmeblkpa, hatid, hmemisc, tte, \
2279 * tte = clobbered ;\
2287 ldxa [hmeblkpa]ASI_MEM, tte /* MMU_READTTE through pa */ ;\
2291 btst tte, hatid ;\
2304 * If valid tte is found, hmemisc = shctx flag, i.e., shme is
2307 #define GET_SHME_TTE(tagacc, hatid, tte, hmeblkpa, tsbarea, hmemisc, \
2313 HMEHASH_FUNC_ASM(tagacc, hatid, tsbarea, hmeshift, tte, \
2320 * tte = hmebp (hme bucket pointer) ;\
2330 * tte = hmebp ;\
2335 stn tte, [tsbarea + (TSBMISS_SCRATCH + TSBMISS_HMEBP)] ;\
2337 add tte, HMEBUCK_NEXTPA, hmeblkpa ;\
2339 HAT_HSEARCH_DBSTAT(hatid, tsbarea, tagacc, tte) ;\
2343 tsbarea, tagacc, tte, label/**/1) ;\
2346 * tte = CLOBBERED ;\
2358 * Now we calculate the corresponding tte. ;\
2362 * tte = clobbered ;\
2368 HMEBLK_TO_HMENT(tagacc, hmeblkpa, hatid, hmemisc, tte, \
2374 * tte = clobbered ;\
2383 ldxa [hmeblkpa]ASI_MEM, tte /* MMU_READTTE through pa */ ;\
2384 brlz,pt tte, label/**/6 ;\
2391 * We found an invalid 8K tte in shme. ;\
2398 srlx tagacc, hmeshift, tte ;\
2401 MAKE_HASHTAG(tte, hatid, hmeshift, hashno, hmemisc) ;\
2409 btst tte, hatid ;\
2607 /* trapstat expects tte in %g5 */
2658 /* trapstat expects tte in %g5 */
3176 * g3 = tte
3177 * g4 = tte pa
3272 * g3 = tte
3273 * g4 = tte pa
3289 * g3 = tte
3290 * g4 = tte pa
3338 * g3 = tte
3490 * saves them in the modified 32M/256M ttes in the TSB. If the tte is
3496 * g3 = tte
3620 * If we can't find the tte then pagefault
3705 * we get here if we couldn't find a valid tte in the hash.
3955 * g1 = tte
3956 * g2 = tte pa
3961 brgez,a,pn %g1, 6f /* if tte invalid goto tl0 */
3963 stx %g1,[%o2] /* put tte into *ttep */
4010 * g1 = tte
4011 * g2 = tte pa
4012 * g3 = tte va
4015 stx %g1,[%o2] /* put tte into *ttep */
4016 brgez,a,pn %g1, 8f /* if tte invalid goto 8: */
4051 * tte for specified rehash # is not found, invalid or suspended.
4094 * %g3 = tte
4097 brgez,a,pn %g3, 1f /* check if tte is invalid */
4322 * Assemble tte
4341 or %g5, %g4, %g5 /* tte */
4347 * g1=kp_pa g2=ttarget g3=hlck_pa g4=kpmtsbp4m g5=tte g6=kpmtsbm_area
4376 * If we fail to lock the TSB entry then just load the tte into the
4381 /* TSB_INSERT_UNLOCK_ENTRY(tsbp, tte, tagtarget, tmp) */
4578 * Assemble non-cacheable tte initially
4587 or %g5, %g4, %g5 /* tte */
4593 * g1=ksp_pa g2=ttarget g3=hlck_pa g4=ktsbp g5=tte (non-cacheable)
4620 * If we fail to lock the TSB entry then just load the tte into the
4625 /* TSB_INSERT_UNLOCK_ENTRY(tsbp, tte, tagtarget, tmp) */