vitasdk
Documentation of the vitasdk

Detailed Description

Exports for Kernel.


Using this library in your project

Include the header file in your project:

#include <psp2/perf.h>


Link the library to the executable:

ScePerf_stub


Load the required module:

@ SCE_PERF_ARM_PMON_MAIN_PIPE
Definition: perf.h:49
int sceSysmoduleLoadModule(SceSysmoduleModuleId id)
Load a module.



Functions

int scePerfArmPmonReset (SceUID thid)
 
int scePerfArmPmonSelectEvent (SceUID thid, SceUInt32 counter, SceUInt8 event_code)
 
int scePerfArmPmonStart (SceUID thid)
 
int scePerfArmPmonStop (SceUID thid)
 
int scePerfArmPmonGetCounterValue (SceUID thid, SceUInt32 counter, SceUInt32 *value)
 
int scePerfArmPmonSetCounterValue (SceUID thid, SceUInt32 counter, SceUInt32 value)
 
int scePerfArmPmonSoftwareIncrement (SceUInt32 mask)
 
SceUInt64 scePerfGetTimebaseValue (void)
 
SceUInt32 scePerfGetTimebaseFrequency (void)
 

Macros

#define SCE_PERF_ARM_PMON_THREAD_ID_SELF   (SCE_KERNEL_THREAD_ID_SELF)
 

Macro Definition Documentation

◆ SCE_PERF_ARM_PMON_THREAD_ID_SELF

#define SCE_PERF_ARM_PMON_THREAD_ID_SELF   (SCE_KERNEL_THREAD_ID_SELF)

Enumeration Type Documentation

◆ ScePerfArmPmonEventCode

Enumerator
SCE_PERF_ARM_PMON_SOFT_INCREMENT 
SCE_PERF_ARM_PMON_ICACHE_MISS 
SCE_PERF_ARM_PMON_ITLB_MISS 
SCE_PERF_ARM_PMON_DCACHE_MISS 
SCE_PERF_ARM_PMON_DCACHE_ACCESS 
SCE_PERF_ARM_PMON_DTLB_MISS 
SCE_PERF_ARM_PMON_DATA_READ 
SCE_PERF_ARM_PMON_DATA_WRITE 
SCE_PERF_ARM_PMON_EXCEPTION_TAKEN 
SCE_PERF_ARM_PMON_EXCEPTION_RETURN 
SCE_PERF_ARM_PMON_WRITE_CONTEXTID 
SCE_PERF_ARM_PMON_SOFT_CHANGEPC 
SCE_PERF_ARM_PMON_IMMEDIATE_BRANCH 
SCE_PERF_ARM_PMON_UNALIGNED 
SCE_PERF_ARM_PMON_BRANCH_MISPREDICT 
SCE_PERF_ARM_PMON_CYCLE_COUNT 
SCE_PERF_ARM_PMON_PREDICT_BRANCH 
SCE_PERF_ARM_PMON_COHERENT_LF_MISS 
SCE_PERF_ARM_PMON_COHERENT_LF_HIT 
SCE_PERF_ARM_PMON_ICACHE_STALL 
SCE_PERF_ARM_PMON_DCACHE_STALL 
SCE_PERF_ARM_PMON_MAINTLB_STALL 
SCE_PERF_ARM_PMON_STREX_PASSED 
SCE_PERF_ARM_PMON_STREX_FAILED 
SCE_PERF_ARM_PMON_DATA_EVICTION 
SCE_PERF_ARM_PMON_ISSUE_NO_DISPATCH 
SCE_PERF_ARM_PMON_ISSUE_EMPTY 
SCE_PERF_ARM_PMON_INST_RENAME 
SCE_PERF_ARM_PMON_PREDICT_FUNC_RET 
SCE_PERF_ARM_PMON_MAIN_PIPE 
SCE_PERF_ARM_PMON_SECOND_PIPE 
SCE_PERF_ARM_PMON_LS_PIPE 
SCE_PERF_ARM_PMON_FPU_RENAME 
SCE_PERF_ARM_PMON_NEON_RENAME 
SCE_PERF_ARM_PMON_PLD_STALL 
SCE_PERF_ARM_PMON_WRITE_STALL 
SCE_PERF_ARM_PMON_INST_MAINTLB_STALL 
SCE_PERF_ARM_PMON_DATA_MAINTLB_STALL 
SCE_PERF_ARM_PMON_INST_UTLB_STALL 
SCE_PERF_ARM_PMON_DATA_UTLB_STALL 
SCE_PERF_ARM_PMON_DMB_STALL 
SCE_PERF_ARM_PMON_INTEGER_CLOCK 
SCE_PERF_ARM_PMON_DATAENGINE_CLOCK 
SCE_PERF_ARM_PMON_ISB 
SCE_PERF_ARM_PMON_DSB 
SCE_PERF_ARM_PMON_DMB 
SCE_PERF_ARM_PMON_EXT_INTERRUPT 
SCE_PERF_ARM_PMON_PLE_LINE_REQ_COMPLETED 
SCE_PERF_ARM_PMON_PLE_CHANNEL_SKIPPED 
SCE_PERF_ARM_PMON_PLE_FIFO_FLUSH 
SCE_PERF_ARM_PMON_PLE_REQ_COMPLETED 
SCE_PERF_ARM_PMON_PLE_FIFO_OVERFLOW 
SCE_PERF_ARM_PMON_PLE_REQ_PROGRAMMED 

Function Documentation

◆ scePerfArmPmonReset()

int scePerfArmPmonReset ( SceUID  thid)

◆ scePerfArmPmonSelectEvent()

int scePerfArmPmonSelectEvent ( SceUID  thid,
SceUInt32  counter,
SceUInt8  event_code 
)

◆ scePerfArmPmonStart()

int scePerfArmPmonStart ( SceUID  thid)

◆ scePerfArmPmonStop()

int scePerfArmPmonStop ( SceUID  thid)

◆ scePerfArmPmonGetCounterValue()

int scePerfArmPmonGetCounterValue ( SceUID  thid,
SceUInt32  counter,
SceUInt32 value 
)

◆ scePerfArmPmonSetCounterValue()

int scePerfArmPmonSetCounterValue ( SceUID  thid,
SceUInt32  counter,
SceUInt32  value 
)

◆ scePerfArmPmonSoftwareIncrement()

int scePerfArmPmonSoftwareIncrement ( SceUInt32  mask)

◆ scePerfGetTimebaseValue()

SceUInt64 scePerfGetTimebaseValue ( void  )

◆ scePerfGetTimebaseFrequency()

SceUInt32 scePerfGetTimebaseFrequency ( void  )