Xenomai  3.2.4
Clock services

Functions

int xnclock_register (struct xnclock *clock, const cpumask_t *affinity)
 Register a Xenomai clock. More...
 
void xnclock_deregister (struct xnclock *clock)
 Deregister a Xenomai clock. More...
 
void xnclock_tick (struct xnclock *clock)
 Process a clock tick. More...
 

Detailed Description

Function Documentation

◆ xnclock_deregister()

void xnclock_deregister ( struct xnclock *  clock)

Deregister a Xenomai clock.

This service uninstalls a Xenomai clock previously registered with xnclock_register().

This service may be called once all timers driven by clock have been stopped.

Parameters
clockThe clock to deregister.
Tags
secondary-only

◆ xnclock_register()

int xnclock_register ( struct xnclock *  clock,
const cpumask_t *  affinity 
)

Register a Xenomai clock.

This service installs a new clock which may be used to drive Xenomai timers.

Parameters
clockThe new clock to register.
affinityThe set of CPUs we may expect the backing clock device to tick on. As a special case, passing a NULL affinity mask means that timer IRQs cannot be seen as percpu events, in which case all outstanding timers will be maintained into a single global queue instead of percpu timer queues.
Tags
secondary-only

◆ xnclock_tick()

void xnclock_tick ( struct xnclock *  clock)

Process a clock tick.

This routine processes an incoming clock event, firing elapsed timers as appropriate.

Parameters
clockThe clock for which a new event was received.
Tags
coreirq-only, atomic-entry
Note
The current CPU must be part of the real-time affinity set unless the clock device has no particular IRQ affinity, otherwise weird things may happen.