Lines Matching defs:pcr

121 	uint32_t	opl_bits;	/* %pcr event code unshifted */
149 * ULRO and OVRO bits should be on upon accessing pcr unless
196 #define SPARC64_VI_PCR_SEL_PIC(pcr, picno) { \
197 pcr &= ~((CPC_SPARC64_VI_PCR_SC_MASK \
200 pcr |= (((picno) & CPC_SPARC64_VI_PCR_SC_MASK) \
204 #define SPARC64_VI_PCR_SEL_EVENT(pcr, sl, su) { \
205 pcr &= ~((CPC_SPARC64_VI_PCR_PIC_MASK \
210 pcr |= (((sl) & CPC_SPARC64_VI_PCR_PIC_MASK) \
212 pcr |= (((su) & CPC_SPARC64_VI_PCR_PIC_MASK) \
216 #define SPARC64_VI_CHK_OVF(pcr, picno) \
217 ((pcr) & (UINT64_C(1) << (CPC_SPARC64_VI_PCR_OVF_SHIFT + picno)))
219 #define SPARC64_VI_CLR_OVF(pcr, picno) { \
220 pcr &= ~(UINT64_C(1) << (CPC_SPARC64_VI_PCR_OVF_SHIFT + picno)); \
649 uint64_t pcr;
651 pcr = ultra_getpcr();
652 DTRACE_PROBE1(sparc64__getpcr, uint64_t, pcr);
654 return ((pcr & SPARC64_VI_PCR_OVF) >> CPC_SPARC64_VI_PCR_OVF_SHIFT);
717 uint64_t pcr;
751 pcr = allstopped;
752 pcr &= ~SPARC64_VI_PCR_ULRO;
754 SPARC64_VI_PCR_SEL_PIC(pcr, i);
755 SPARC64_VI_PCR_SEL_EVENT(pcr, pic[i*2]->opl_bits,
758 ultra_setpcr(pcr);
771 pcr = ultra_getpcr();
772 pcr |= SPARC64_VI_PCR_ULRO;
773 pcr &= ~(SPARC64_VI_PCR_OVRO | SPARC64_VI_PCR_OVF);
776 pcr |= SPARC64_VI_PCR_USR;
778 pcr |= SPARC64_VI_PCR_SYS;
783 SPARC64_VI_PCR_SEL_PIC(pcr, i);
784 SPARC64_VI_PCR_SEL_EVENT(pcr, pic[i*2]->opl_bits,
787 ultra_setpcr(pcr);
788 DTRACE_PROBE1(sparc64__setpcr, uint64_t, pcr);
795 pcr |= SPARC64_VI_PCR_OVRO;
796 ultra_setpcr(pcr);
810 uint64_t pcr;
850 pcr = ultra_getpcr();
851 pcr &= ~SPARC64_VI_PCR_OVRO;
852 pcr |= SPARC64_VI_PCR_ULRO;
855 SPARC64_VI_PCR_SEL_PIC(pcr, i);
856 SPARC64_VI_PCR_SEL_EVENT(pcr, pic[i*2]->opl_bits,
859 ultra_setpcr(pcr);
865 overflow = SPARC64_VI_CHK_OVF(pcr, i*2);
867 SPARC64_VI_CLR_OVF(pcr, i*2);
868 ultra_setpcr(pcr);
874 overflow = SPARC64_VI_CHK_OVF(pcr, i*2 + 1);
876 SPARC64_VI_CLR_OVF(pcr, i*2 + 1);
877 ultra_setpcr(pcr);
885 pcr = ultra_getpcr();
886 pcr |= SPARC64_VI_PCR_OVRO;
887 ultra_setpcr(pcr);