PS2SDK
PS2 Homebrew Libraries
timer.c File Reference
#include <kernel.h>
#include <timer.h>
#include <string.h>
#include <mipscopaccess.h>
+ Include dependency graph for timer.c:

Go to the source code of this file.

Data Structures

struct  counter_struct_
 
struct  timer_ee_global_struct_
 

Macros

#define TIMER_MODE_START   0x00000001
 
#define TIMER_MODE_HANDLER   0x00000002
 
#define PTR_TO_TIMER_ID(ptr_)   ((s32)((((uiptr)(ptr_)) << 4) | ((ptr_)->timer_key)))
 
#define TIMER_ID_TO_PTR(id_)   ((counter_struct_t *)((((uiptr)(id_)) >> 10) << 6))
 
#define TIMER_ID_IS_VALID(id_)   ((TIMER_ID_TO_PTR(id_) != NULL) && ((siptr)(id_) >= 0) && (((uiptr)(id_) & 0x3FF) == ((TIMER_ID_TO_PTR(id_))->timer_key)))
 
#define COUNTER_COUNT   128
 

Typedefs

typedef struct timer_ee_global_struct_ timer_ee_global_struct
 

Functions

struct counter_struct_ __attribute__ ((aligned(64)))
 
void ForTimer_InitAlarm (void)
 
void SetT2 (volatile void *ptr, u32 val)
 
void SetT2_COUNT (u32 val)
 
void SetT2_MODE (u32 val)
 
void SetT2_COMP (u32 val)
 
void InsertAlarm_ForTimer (counter_struct_t *timer_link)
 
counter_struct_t * UnlinkAlarm_ForTimer (counter_struct_t *timer_unlink)
 
s32 TimerHandler_callback (s32 cause, void *arg, void *addr)
 

Variables

struct counter_struct_timer_next
 
struct counter_struct_timer_previous
 
vu32 timer_key
 
u32 timer_mode
 
u64 timer_base_time
 
u64 timer_base_count
 
u64 timer_schedule
 
timer_alarm_handler_t callback_handler
 
void * gp_value
 
void * callback_handler_arg
 
u32 padding [3]
 
timer_ee_global_struct g_Timer
 

Detailed Description

Some routines to do some timer work

Definition in file timer.c.


Data Structure Documentation

◆ counter_struct_

struct counter_struct_

Definition at line 24 of file timer.c.

+ Collaboration diagram for counter_struct_:
Data Fields
struct counter_struct_ * timer_next
struct counter_struct_ * timer_previous
vu32 timer_key
u32 timer_mode
u64 timer_base_time
u64 timer_base_count
u64 timer_schedule
timer_alarm_handler_t callback_handler
void * gp_value
void * callback_handler_arg
u32 padding[3]

◆ timer_ee_global_struct_

struct timer_ee_global_struct_

Definition at line 39 of file timer.c.

Data Fields
vu64 timer_handled_count
s32 intc_handler
vu32 timer_counter_total
vu32 timer_counter_used
counter_struct_t * timer_counter_buf_free
counter_struct_t * timer_counter_buf_alarm
vs32 current_handling_timer_id