Lines Matching refs:tmp1

170 #define	TSB_LOCK_ENTRY(tsbep, tmp1, tmp2, label)			\  argument
171 lda [tsbep]ASI_MEM, tmp1 ;\
173 cmp tmp1, tmp2 ;\
176 casa [tsbep]ASI_MEM, tmp1, tmp2 ;\
177 cmp tmp1, tmp2 ;\
185 #define TSB_LOCK_ENTRY(tsbep, tmp1, tmp2, label) \ argument
186 lda [tsbep]%asi, tmp1 ;\
188 cmp tmp1, tmp2 ;\
191 casa [tsbep]%asi, tmp1, tmp2 ;\
192 cmp tmp1, tmp2 ;\
211 #define TSB_INSERT_UNLOCK_ENTRY(tsbep, tte, tagtarget, tmp1) \ argument
212 add tsbep, TSBE_TTE, tmp1 ;\
213 stxa tte, [tmp1]ASI_MEM /* write tte data */ ;\
215 add tsbep, TSBE_TAG, tmp1 ;\
216 stxa tagtarget, [tmp1]ASI_MEM /* write tte tag & unlock */
220 #define TSB_INSERT_UNLOCK_ENTRY(tsbep, tte, tagtarget,tmp1) \ argument
242 #define TSB_UPDATE_TL(tsbep, tte, tagtarget, ttepa, tmp1, tmp2, label) \ argument
243 TSB_LOCK_ENTRY(tsbep, tmp1, tmp2, label) ;\
253 add tsbep, TSBE_TAG, tmp1 ;\
255 sta tmp2, [tmp1]ASI_MEM /* unlock */ ;\
256 TSB_INSERT_UNLOCK_ENTRY(tsbep, tte, tagtarget, tmp1) ;\
261 #define TSB_UPDATE_TL(tsbep, tte, tagtarget, ttepa, tmp1, tmp2, label) \ argument
262 TSB_LOCK_ENTRY(tsbep, tmp1, tmp2, label) ;\
274 TSB_INSERT_UNLOCK_ENTRY(tsbep, tte, tagtarget, tmp1) ;\
294 #define TSB_UPDATE_TL_PN(tsbep, tte, tagtarget, ttepa, tmp1, tmp2, label) \ argument
295 TSB_LOCK_ENTRY(tsbep, tmp1, tmp2, label) ;\
304 mov tte, tmp1 ;\
310 or tte, tmp1, tte ;\
313 TSB_INSERT_UNLOCK_ENTRY(tsbep, tte, tagtarget, tmp1) ;\
370 #define TSB_UPDATE(tsbep, tteva, tagtarget, tmp1, tmp2, label) \ argument
373 TSB_LOCK_ENTRY(tsbep, tmp1, tmp2, label) ;\
375 add tsbep, TSBE_TAG, tmp1 ;\
377 sta tmp2, [tmp1]ASI_MEM /* unlock */ ;\
378 TSB_INSERT_UNLOCK_ENTRY(tsbep, tteva, tagtarget, tmp1) ;\
383 #define TSB_UPDATE(tsbep, tteva, tagtarget, tmp1, tmp2, label) \ argument
386 TSB_LOCK_ENTRY(tsbep, tmp1, tmp2, label) ;\
390 TSB_INSERT_UNLOCK_ENTRY(tsbep, tteva, tagtarget, tmp1) ;\
413 #define TSB_INVALIDATE(tsbep, tag, tmp1, tmp2, tmp3, label) \ argument
414 lda [tsbep]ASI_MEM, tmp1 /* tmp1 = tsbe tag */ ;\
417 cmp tmp1, tmp2 /* see if tsbe is locked, if */ ;\
419 lda [tsbep]ASI_MEM, tmp1 /* reloading value each time */ ;\
424 casa [tsbep]ASI_MEM, tmp1, tmp3 /* try to set tag invalid */ ;\
425 cmp tmp1, tmp3 /* if not successful */ ;\
427 lda [tsbep]ASI_MEM, tmp1 /* reloading tsbe tag */ ;\
432 #define TSB_INVALIDATE(tsbep, tag, tmp1, tmp2, tmp3, label) \ argument
433 lda [tsbep]%asi, tmp1 /* tmp1 = tsbe tag */ ;\
436 cmp tmp1, tmp2 /* see if tsbe is locked, if */ ;\
438 lda [tsbep]%asi, tmp1 /* reloading value each time */ ;\
443 casa [tsbep]%asi, tmp1, tmp3 /* try to set tag invalid */ ;\
444 cmp tmp1, tmp3 /* if not successful */ ;\
446 lda [tsbep]%asi, tmp1 /* reloading tsbe tag */ ;\
1594 #define HAT_HSEARCH_DBSTAT(hatid, tsbarea, tmp1, tmp2) \ argument
1595 ldn [tsbarea + TSBMISS_KHATID], tmp1 ;\
1597 cmp tmp1, hatid ;\
1599 set sfmmu_global_stat, tmp1 ;\
1600 add tmp1, tmp2, tmp1 ;\
1601 ld [tmp1], tmp2 ;\
1603 st tmp2, [tmp1]
1605 #define HAT_HLINK_DBSTAT(hatid, tsbarea, tmp1, tmp2) \ argument
1606 ldn [tsbarea + TSBMISS_KHATID], tmp1 ;\
1608 cmp tmp1, hatid ;\
1610 set sfmmu_global_stat, tmp1 ;\
1611 add tmp1, tmp2, tmp1 ;\
1612 ld [tmp1], tmp2 ;\
1614 st tmp2, [tmp1]
1619 #define HAT_HSEARCH_DBSTAT(hatid, tsbarea, tmp1, tmp2) argument
1621 #define HAT_HLINK_DBSTAT(hatid, tsbarea, tmp1, tmp2) argument
1629 #define HAT_GLOBAL_STAT(statname, tmp1, tmp2) \ argument
1630 sethi %hi(sfmmu_global_stat), tmp1 ;\
1631 add tmp1, statname, tmp1 ;\
1632 ld [tmp1 + %lo(sfmmu_global_stat)], tmp2 ;\
1634 st tmp2, [tmp1 + %lo(sfmmu_global_stat)]
1640 #define HAT_PERCPU_STAT32(tsbarea, stat, tmp1) \ argument
1641 ld [tsbarea + stat], tmp1 ;\
1642 inc tmp1 ;\
1643 st tmp1, [tsbarea + stat]
1649 #define HAT_PERCPU_STAT16(tsbarea, stat, tmp1) \ argument
1650 lduh [tsbarea + stat], tmp1 ;\
1651 inc tmp1 ;\
1652 stuh tmp1, [tsbarea + stat]
1660 #define KPM_TLBMISS_STAT_INCR(tagacc, val, tsbma, tmp1, label) \ argument
1663 CPU_INDEX(tmp1, tsbma) ;\
1665 sllx tmp1, KPMTSBM_SHIFT, tmp1 ;\
1667 add tsbma, tmp1, tsbma /* kpmtsbm area */ ;\
1672 ldx [tsbma + KPMTSBM_VEND], tmp1 ;\
1673 cmp tagacc, tmp1 ;\
1680 #define KPM_TLBMISS_STAT_INCR(tagacc, val, tsbma, tmp1, label) argument
2016 #define ISM_CHECK(tagacc, tsbmiss, ismseg, ismhat, tmp1, tmp2, tmp3 \ argument
2018 ldx [tsbmiss + TSBMISS_ISMBLKPA], tmp1 /* tmp1 = &ismblk */ ;\
2019 brlz,pt tmp1, label/**/3 /* exit if -1 */ ;\
2020 add tmp1, IBLK_MAPS, ismhat /* ismhat = &ismblk.map[0] */ ;\
2023 mov tmp1, tmp3 /* update current ismblkpa head */ ;\
2026 add ismhat, IMAP_VB_SHIFT, tmp1 /* tmp1 = vb_shift addr */ ;\
2027 lduba [tmp1]ASI_MEM, tmp1 /* tmp1 = vb shift*/ ;\
2028 srlx ismseg, tmp1, tmp2 /* tmp2 = vbase */ ;\
2029 srlx tagacc, tmp1, tmp1 /* tmp1 = va seg*/ ;\
2030 sub tmp1, tmp2, tmp2 /* tmp2 = va - vbase */ ;\
2031 add ismhat, IMAP_SZ_MASK, tmp1 /* tmp1 = sz_mask addr */ ;\
2032 lda [tmp1]ASI_MEM, tmp1 /* tmp1 = sz_mask */ ;\
2033 and ismseg, tmp1, tmp1 /* tmp1 = size */ ;\
2034 cmp tmp2, tmp1 /* check va <= offset*/ ;\
2039 add tmp3, (IBLK_MAPS + ISM_MAP_SLOTS * ISM_MAP_SZ), tmp1 ;\
2040 cmp ismhat, tmp1 ;\
2044 add tmp3, IBLK_NEXTPA, tmp1 ;\
2045 ldxa [tmp1]ASI_MEM, tmp1 /* check blk->nextpa */ ;\
2046 brgez,pt tmp1, label/**/1 /* continue if not -1*/ ;\
2047 add tmp1, IBLK_MAPS, ismhat /* ismhat = &ismblk.map[0]*/ ;\
2064 vapg, label, tmp1, tmp2) \ argument
2065 sllx tagacc, TAGACC_CTX_LSHIFT, tmp1 ;\
2066 brnz,a,pt tmp1, label/**/1 ;\
2070 ldx [tsbarea + TSBMISS_KHASHSTART], tmp1 ;\
2072 ldx [tsbarea + TSBMISS_UHASHSTART], tmp1 ;\
2078 add hmebp, tmp1, hmebp
2105 tmp1, label) \ argument
2108 HAT_HSEARCH_DBSTAT(hatid, tsbarea, hmebp, tmp1) ;\
2112 HAT_HLINK_DBSTAT(hatid, tsbarea, hmebp, tmp1) ;\
2114 ldxa [hmebp]ASI_MEM, tmp1 /* read 1st part of tag */ ;\
2117 xor tmp1, hmeblktag, tmp1 ;\
2119 or hmebp, tmp1, hmebp ;\
2141 tmp1, tmp2, label) \ argument
2145 HAT_HLINK_DBSTAT(hatid, tsbarea, tmp1, tmp2) ;\
2147 ldxa [tmp2]ASI_MEM, tmp1 /* read 1st part of tag */ ;\
2150 xor tmp1, hmeblktag, tmp1 ;\
2158 cmp tmp1, SFMMU_MAX_HME_REGIONS ;\
2161 and tmp1, BT_ULMASK, tmp2 ;\
2162 srlx tmp1, BT_ULSHIFT, tmp1 ;\
2163 sllx tmp1, CLONGSHIFT, tmp1 ;\
2164 add tsbarea, tmp1, tmp1 ;\
2165 ldx [tmp1 + TSBMISS_SHMERMAP], tmp1 ;\
2166 srlx tmp1, tmp2, tmp1 ;\
2167 btst 0x1, tmp1 ;\
2189 #define HMEBLK_TO_HMENT(vaddr, hmeblkpa, hmentoff, hmemisc, tmp1, label1)\ argument
2195 srl vaddr, MMU_PAGESHIFT, tmp1 ;\
2196 and tmp1, NHMENTS - 1, tmp1 /* tmp1 = index */ ;\
2197 sllx tmp1, SFHME_SHIFT, tmp1 ;\
2198 add tmp1, HMEBLK_HME1, hmentoff ;\
4124 #define KPMLOCK_ENTER(kpmlckp, tmp1, label1, asi) \ argument
4125 mov 0xff, tmp1 ;\
4127 casa [kpmlckp]asi, %g0, tmp1 ;\
4128 brnz,pn tmp1, label1 ;\
4129 mov 0xff, tmp1 ;\
4150 #define PAGE_NUM2MEMSEG_NOLOCK_PA(pfn, mseg, tsbmp, tmp1, tmp2, tmp3, label) \ argument
4154 ldx [tsbmp + KPMTSBM_MSEGPHASHPA], tmp1 ;\
4157 add tmp1, mseg, tmp1 ;\
4158 ldxa [tmp1]%asi, mseg ;\
4162 ldxa [mseg + MEMSEG_PAGES_BASE]%asi, tmp1 ;\
4163 cmp pfn, tmp1 /* pfn - pages_base */ ;\
4168 sub pfn, tmp1, tmp1 /* pfn - pages_base */ ;\
4169 mulx tmp1, PAGE_SIZE, tmp1 ;\
4171 add tmp2, tmp1, tmp1 /* pp */ ;\
4172 lduwa [tmp1 + PAGE_PAGENUM]%asi, tmp2 ;\
4183 ldxa [mseg + MEMSEG_PAGES_BASE]%asi, tmp1 ;\
4184 cmp pfn, tmp1 /* pfn - pages_base */ ;\