1 #ifndef _PAPI_SOLARIS_H 2 #define _PAPI_SOLARIS_H 7 #include <sys/procset.h> 23 #define _papi_hwd_lock(lck) rw_wrlock(&lock[lck]); 25 #define _papi_hwd_unlock(lck) rw_unlock(&lock[lck]); 31 #include <sys/asm_linkage.h> 32 ! #include
"solaris-ultra.h" 34 ! These functions blatantly stolen from perfmon
35 ! The author of the
package "perfmon" is Richard J. Enbody
36 ! and the home page for "perfmon" is
40 ! extern void cpu_sync(void);
42 ! Make sure all instructinos and memory references before us
43 ! have been completed.
46 membar #Sync ! Wait
for all outstanding things to finish
47 retl ! Return to the caller
52 !
extern unsigned long long get_tick(
void)
54 ! Read the tick
register and
return it
57 rd %tick, %o0 ! Get the current value of TICK
58 clruw %o0, %o1 ! put the
lower 32 bits into %o1
59 retl ! Return to the caller
60 srlx %o0, 32, %o0 ! put the
upper 32 bits into %o0
unsigned long long get_tick(void)
int _solaris_update_shlib_info(papi_mdi_t *mdi)
int _solaris_get_system_info(papi_mdi_t *mdi)
rwlock_t lock[PAPI_MAX_LOCK]
long long _solaris_get_real_usec(void)
long long _solaris_get_real_cycles(void)
long long _solaris_get_virt_usec(void)