tsbe
extern void prefetch_tsbe_read(struct tsbe *);
extern void prefetch_tsbe_write(struct tsbe *);
struct tsbe *old;
struct tsbe *new;
struct tsbe *new_base = (struct tsbe *)new_tsbinfo->tsb_va;
old = (struct tsbe *)old_tsbinfo->tsb_va;
struct tsbe *tsbe_addr;
struct tsbe *tsbe_addr;
struct tsbe *tsbptr; /* hardware computed ptr */
struct tsbe *tsbptr4m; /* hardware computed ptr */
struct tsbe *tsbscdptr; /* hardware computed ptr */
struct tsbe *tsbscdptr4m; /* hardware computed ptr */
struct tsbe *tsbptr; /* saved ktsb pointer */
extern struct tsbe *
extern void sfmmu_load_tsbe(struct tsbe *, uint64_t, tte_t *, int);
extern void sfmmu_unload_tsbe(struct tsbe *, uint64_t, int);
#define GET_4MBASE_TSBE_PTR(tagacc, tsbe, tmp1, tmp2) \
and tsbe, TSB_SOFTSZ_MASK, tmp2; /* tmp2=szc */ \
andn tsbe, TSB_SOFTSZ_MASK, tsbe; /* tsbbase */ \
add tsbe, tmp1, tsbe /* add entry offset to TSB base */
#define GET_2ND_TSBE_PTR(tagacc, tsbe, tmp1, tmp2) \
GET_4MBASE_TSBE_PTR(tagacc, tsbe, tmp1, tmp2)
#define GET_3RD_TSBE_PTR(tagacc, tsbe, tmp1, tmp2) \
and tsbe, TSB_SOFTSZ_MASK, tmp2; /* tmp2=szc */ \
andn tsbe, TSB_SOFTSZ_MASK, tsbe; /* tsbbase */ \
add tsbe, tmp1, tsbe /* add entry offset to TSB base */
#define GET_4TH_TSBE_PTR(tagacc, tsbe, tmp1, tmp2) \
GET_4MBASE_TSBE_PTR(tagacc, tsbe, tmp1, tmp2)
struct tsbe *tsbep;
for (tsbep = (struct tsbe *)tsbp;
tsbep < (struct tsbe *)end_tsbp; tsbep++) {
struct tsbe *tsbaddr;
for (tsbaddr = (struct tsbe *)tsb_base;
struct tsbe *tsbaddr;
for (tsbaddr = (struct tsbe *)(uintptr_t)tsb_base;
#define GET_1ST_TSBE_PTR(tagacc, tsbe, tmp1, tmp2) \
ldxa [tmp1]ASI_SCRATCHPAD, tsbe /* get tsbreg */ ;\
and tsbe, TSB_SOFTSZ_MASK, tmp2 /* tmp2=szc */ ;\
andn tsbe, TSB_SOFTSZ_MASK, tsbe /* tsbbase */ ;\
add tsbe, tmp1, tsbe /* add entry offset to TSB base */ ;\