Lines Matching refs:g4
184 * Get the diagnostic logout data. %g4 must be initialized to
189 ldxa [%g0]ASI_ESTATE_ERR, %g4
190 and %g4, EN_REG_CEEN, %g4
192 DO_TL1_CPU_LOGOUT(%g3, %g2, %g4, %g5, %g6, %g3, %g4)
216 PN_L2_FLUSHALL(%g3, %g4, %g5)
218 set CH_ECACHE_MAX_SIZE, %g4
225 set PN_L3_SIZE, %g4
228 CHP_ECACHE_FLUSHALL(%g4, %g5, %g3)
247 ASM_LD(%g4, dcache_size)
249 CH_DCACHE_FLUSHALL(%g4, %g5, %g6)
274 set CH_ICACHE_SIZE, %g4
277 movz %xcc, %g3, %g4
279 CH_ICACHE_FLUSHALL(%g4, %g5, %g6, %g3)
303 ld [%g6 + TRAPTR_OFFSET], %g4
304 add %g5, %g4, %g5
311 rd STICK, %g4
312 stxa %g4, [%g5 + TRAP_ENT_TICK]%asi
313 rdpr %tl, %g4
314 stha %g4, [%g5 + TRAP_ENT_TL]%asi
315 rdpr %tt, %g4
316 stha %g4, [%g5 + TRAP_ENT_TT]%asi
317 rdpr %tpc, %g4
318 stna %g4, [%g5 + TRAP_ENT_TPC]%asi
319 rdpr %tstate, %g4
320 stxa %g4, [%g5 + TRAP_ENT_TSTATE]%asi
325 ldxa [%g1 + CH_ERR_TL1_SDW_AFSR]%asi, %g4
328 stna %g4, [%g5 + TRAP_ENT_F2]%asi
331 ldxa [%g1 + CH_ERR_TL1_AFSR]%asi, %g4
334 stna %g4, [%g5 + TRAP_ENT_F4]%asi
341 ld [%g6 + TRAPTR_LIMIT], %g4
344 sub %g4, TRAP_ENT_SIZE, %g4
345 cmp %g5, %g4
367 set 1, %g4
368 sllx %g4, C_AFSR_UCU_SHIFT, %g4
369 btst %g4, %g3 ! UCU in original shadow AFSR?
381 ldxa [%g1 + CH_ERR_TL1_AFSR]%asi, %g4 ! original AFSR
383 or %g3, %g4, %g3 ! %g3 = original + current AFSR
384 set 1, %g4
385 sllx %g4, C_AFSR_WDU_SHIFT, %g4
386 btst %g4, %g3 ! WDU in original or current AFSR?
393 ldxa [%g1 + CH_ERR_TL1_SDW_AFSR_EXT]%asi, %g4 ! original AFSR_EXT
396 or %g3, %g4, %g3 ! %g3 = original + current AFSR_EXT
643 set PN_ITLB_PGSZ_MASK, %g4
644 and %g3, %g4, %g3
645 ldxa [MMU_TAG_ACCESS]%asi, %g4
647 and %g4, %g5, %g4
648 or %g4, %g3, %g3 ! 'or' in the trap context and
649 mov 1, %g4 ! add the IMMU flag to complete
650 sllx %g4, PN_TLO_INFO_IMMU_SHIFT, %g4
651 or %g4, %g3, %g3 ! the tlo_info field for logout
662 mov %g2, %g4 ! We need the ITLB index
666 PN_GET_TLB_INDEX(%g4, %g5) ! %g4 has the index
667 sllx %g4, PN_TLB_ACC_IDX_SHIFT, %g4 ! shift the index into place
669 or %g4, %g5, %g4 ! and add in the TLB ID
675 * %g4 - contains the TLB access index value for the
692 * Record the logout information. %g4 contains our index + TLB ID
702 ldxa [%g4]ASI_ITLB_ACCESS, %g5 ! read the data
704 ldxa [%g4]ASI_ITLB_TAGREAD, %g5 ! read the tag
708 or %g4, %g6, %g4
711 ldxa [%g4]ASI_ITLB_ACCESS, %g5 ! read the data
713 ldxa [%g4]ASI_ITLB_TAGREAD, %g5 ! read the tag
716 andn %g4, %g6, %g4 ! back to way 0
723 * %g4 - contains the TLB access index value for the
730 stxa %g0, [%g4]ASI_ITLB_ACCESS ! Write the data and tag
734 or %g4, %g6, %g4
736 stxa %g0, [%g4]ASI_ITLB_ACCESS ! Write same data and tag
750 rdpr %pil, %g4
751 cmp %g4, PIL_14
752 movl %icc, PIL_14, %g4
794 set PN_DTLB_PGSZ_MASK, %g4
795 and %g3, %g4, %g3
796 ldxa [MMU_TAG_ACCESS]%asi, %g4
798 and %g4, %g5, %g4 ! to complete the tlo_info
799 or %g4, %g3, %g3 ! field for logout
812 mov %g2, %g4 ! First we get the DTLB_0 index
816 PN_GET_TLB_INDEX(%g4, %g5) ! %g4 has the DTLB_0 index
817 sllx %g4, PN_TLB_ACC_IDX_SHIFT, %g4 ! shift the index into place
819 or %g4, %g5, %g4 ! and add in the TLB ID
834 * %g4 - contains the T512_0 access index value for the
864 * %g4 - contains the T512_0 access index value for the
883 * Record the logout information. %g4 contains our DTLB_0
896 ldxa [%g4]ASI_DTLB_ACCESS, %g5 ! read the data from DTLB_0
898 ldxa [%g4]ASI_DTLB_TAGREAD, %g5 ! read the tag from DTLB_0
907 or %g4, %g6, %g4 ! of each TLB.
911 ldxa [%g4]ASI_DTLB_ACCESS, %g5 ! read the data from DTLB_0
913 ldxa [%g4]ASI_DTLB_TAGREAD, %g5 ! read the tag from DTLB_0
921 andn %g4, %g6, %g4 ! back to way 0
929 * %g4 - contains the T512_0 access index value for the
938 stxa %g0, [%g4]ASI_DTLB_ACCESS ! Write the data and tag.
943 or %g4, %g6, %g4
946 stxa %g0, [%g4]ASI_DTLB_ACCESS ! Write same data and tag.
963 rdpr %pil, %g4
964 cmp %g4, PIL_14
965 movl %icc, PIL_14, %g4