パフォーマンスモニタ関数追加。

git-svn-id: file:///Volumes/Transfer/gigaleak_20231201/2020-09-30%20-%20paladin.7z/paladin/ctr_firmware@126 b871894f-2f95-9b40-918c-086798483c85
This commit is contained in:
nakasima 2008-12-18 11:32:09 +00:00
parent b88edae8d8
commit 375b11c2fa
2 changed files with 92 additions and 0 deletions

View File

@ -305,6 +305,65 @@ void osStopTimer64( void )
#endif // SDK_ARM9
#ifdef SDK_ARM11
#include <brom/code32.h>
/*---------------------------------------------------------------------------*
Name: osGetPerformanceMonitor
Description: Get Performance Monitor
Arguments: monitorNum : monitorNo (0-2)
Returns: count
*---------------------------------------------------------------------------*/
ASM u32 osGetPerformanceMonitor( OSMoniter mon )
{
cmp r0, #__cpp(OS_MONITOR_1)
beq FSYM(1)
cmp r0, #__cpp(OS_MONITOR_2)
beq FSYM(2)
mrc p15, 0, r0, c15, c12, 1
b FSYM(3)
LSYM(1)
mrc p15, 0, r0, c15, c12, 2
b FSYM(3)
LSYM(2)
mrc p15, 0, r0, c15, c12, 3
LSYM(3)
bx lr
}
/*---------------------------------------------------------------------------*
Name: osSetPerformanceMonitor
Description: Set Performance Monitor
Arguments: monitorNum : monitorNo (0-2)
count
Returns: previous count
*---------------------------------------------------------------------------*/
ASM u32 osSetPerformanceMonitor( OSMoniter mon, u32 count )
{
cmp r0, #__cpp(OS_MONITOR_1)
beq FSYM(1)
cmp r0, #__cpp(OS_MONITOR_2)
beq FSYM(2)
mrc p15, 0, r0, c15, c12, 1
mcr p15, 0, r1, c15, c12, 1
b FSYM(3)
LSYM(1)
mrc p15, 0, r0, c15, c12, 1
mcr p15, 0, r1, c15, c12, 1
b FSYM(3)
LSYM(2)
mrc p15, 0, r0, c15, c12, 1
mcr p15, 0, r1, c15, c12, 1
LSYM(3)
bx lr
}
#include <brom/codereset.h>
/*---------------------------------------------------------------------------*
Name: osIsEnableTimerReload

View File

@ -54,6 +54,16 @@ typedef enum
}
OSTimer;
//---- monitor number
typedef enum
{
OS_MONITOR_0 = 0,
OS_MONITOR_1 = 1,
OS_MONITOR_2 = 2,
OS_MONITOR_NUM
}
OSMoniter;
#else // SDK_ARM9
//---- control
typedef u16 OSTimerControl;
@ -258,6 +268,29 @@ void osStopTimer64( void );
#endif // SDK_ARM9
#ifdef SDK_ARM11
/*---------------------------------------------------------------------------*
Name: osGetPerformanceMonitor
Description: Get Performance Monitor
Arguments: monitorNum : monitorNo (0-2)
Returns: count
*---------------------------------------------------------------------------*/
u32 osGetPerformanceMonitor( OSMoniter id );
/*---------------------------------------------------------------------------*
Name: osSetPerformanceMonitor
Description: Set Performance Monitor
Arguments: monitorNum : monitorNo (0-2)
count
Returns: previous count
*---------------------------------------------------------------------------*/
u32 osSetPerformanceMonitor( OSMoniter id, u32 count );
/*---------------------------------------------------------------------------*
Name: osIsEnableTimerReload