FreeBSD kernel kern code
kern_et.c File Reference
#include <sys/cdefs.h>
#include <sys/param.h>
#include <sys/kernel.h>
#include <sys/sysctl.h>
#include <sys/systm.h>
#include <sys/queue.h>
#include <sys/timeet.h>
Include dependency graph for kern_et.c:

Go to the source code of this file.

Functions

 __FBSDID ("$BSDSUniX$")
 
 SLIST_HEAD (et_eventtimers_list, eventtimer)
 
 MTX_SYSINIT (et_eventtimers_init,&et_eventtimers_mtx,"et_mtx", MTX_DEF)
 
 SYSCTL_NODE (_kern, OID_AUTO, eventtimer, CTLFLAG_RW, 0,"Event timers")
 
static SYSCTL_NODE (_kern_eventtimer, OID_AUTO, et, CTLFLAG_RW, 0,"")
 
int et_register (struct eventtimer *et)
 
int et_deregister (struct eventtimer *et)
 
struct eventtimer * et_find (const char *name, int check, int want)
 
int et_init (struct eventtimer *et, et_event_cb_t *event, et_deregister_cb_t *deregister, void *arg)
 
int et_start (struct eventtimer *et, struct bintime *first, struct bintime *period)
 
int et_stop (struct eventtimer *et)
 
int et_ban (struct eventtimer *et)
 
int et_free (struct eventtimer *et)
 
static int sysctl_kern_eventtimer_choice (SYSCTL_HANDLER_ARGS)
 
 SYSCTL_PROC (_kern_eventtimer, OID_AUTO, choice, CTLTYPE_STRING|CTLFLAG_RD|CTLFLAG_MPSAFE, 0, 0, sysctl_kern_eventtimer_choice,"A","Present event timers")
 

Variables

static struct et_eventtimers_list eventtimers = SLIST_HEAD_INITIALIZER(et_eventtimers)
 
struct mtx et_eventtimers_mtx
 

Function Documentation

__FBSDID ( "$BSDSUniX$"  )
int et_ban ( struct eventtimer *  et)

Definition at line 215 of file kern_et.c.

int et_deregister ( struct eventtimer *  et)

Definition at line 98 of file kern_et.c.

References eventtimers, and sysctl_remove_oid().

Here is the call graph for this function:

struct eventtimer* et_find ( const char *  name,
int  check,
int  want 
)

Definition at line 118 of file kern_et.c.

References eventtimers.

Referenced by cpu_initclocks_bsp(), and sysctl_kern_eventtimer_timer().

Here is the caller graph for this function:

int et_free ( struct eventtimer *  et)

Definition at line 224 of file kern_et.c.

Referenced by sysctl_kern_eventtimer_timer().

Here is the caller graph for this function:

int et_init ( struct eventtimer *  et,
et_event_cb_t *  event,
et_deregister_cb_t *  deregister,
void *  arg 
)

Definition at line 140 of file kern_et.c.

Referenced by cpu_initclocks_bsp(), and sysctl_kern_eventtimer_timer().

Here is the caller graph for this function:

int et_register ( struct eventtimer *  et)

Definition at line 50 of file kern_et.c.

References bootverbose, eventtimers, and printf().

Here is the call graph for this function:

int et_start ( struct eventtimer *  et,
struct bintime first,
struct bintime period 
)

Definition at line 162 of file kern_et.c.

Referenced by loadtimer().

Here is the caller graph for this function:

int et_stop ( struct eventtimer *  et)

Definition at line 203 of file kern_et.c.

Referenced by configtimer(), and doconfigtimer().

Here is the caller graph for this function:

MTX_SYSINIT ( et_eventtimers_init  ,
et_eventtimers_mtx,
"et_mtx"  ,
MTX_DEF   
)
SLIST_HEAD ( et_eventtimers_list  ,
eventtimer   
)
static int sysctl_kern_eventtimer_choice ( SYSCTL_HANDLER_ARGS  )
static

Definition at line 236 of file kern_et.c.

References buf, eventtimers, and snprintf().

Here is the call graph for this function:

SYSCTL_NODE ( _kern  ,
OID_AUTO  ,
eventtimer  ,
CTLFLAG_RW  ,
,
"Event timers"   
)
static SYSCTL_NODE ( _kern_eventtimer  ,
OID_AUTO  ,
et  ,
CTLFLAG_RW  ,
,
""   
)
static
SYSCTL_PROC ( _kern_eventtimer  ,
OID_AUTO  ,
choice  ,
CTLTYPE_STRING|CTLFLAG_RD|  CTLFLAG_MPSAFE,
,
,
sysctl_kern_eventtimer_choice  ,
"A"  ,
"Present event timers"   
)

Variable Documentation

struct mtx et_eventtimers_mtx

Definition at line 40 of file kern_et.c.

struct et_eventtimers_list eventtimers = SLIST_HEAD_INITIALIZER(et_eventtimers)
static

Definition at line 38 of file kern_et.c.

Referenced by et_deregister(), et_find(), et_register(), and sysctl_kern_eventtimer_choice().