20 #ifndef _RTEMS_RTEMS_TIMER_INL 21 #define _RTEMS_RTEMS_TIMER_INL 98 cpu = _Watchdog_Get_CPU( &the_timer->
Ticker );
99 _Watchdog_Per_CPU_acquire_critical( cpu, lock_context );
109 _Watchdog_Per_CPU_release_critical( cpu, lock_context );
118 TIMER_CLASS_BIT_NOT_DORMANT | TIMER_CLASS_BIT_TIME_OF_DAY;
120 return ( the_class & mask ) == TIMER_CLASS_BIT_NOT_DORMANT;
128 TIMER_CLASS_BIT_NOT_DORMANT | TIMER_CLASS_BIT_ON_TASK;
130 return ( the_class & mask ) == mask;
137 return ( the_class & TIMER_CLASS_BIT_TIME_OF_DAY );
void _Objects_Free(Objects_Information *information, Objects_Control *the_object)
Frees an object.
Definition: objectfree.c:25
Watchdog_Interval rtems_interval
Used to manage and manipulate intervals specified by clock ticks.
Definition: types.h:127
Objects_Control * _Objects_Allocate(Objects_Information *information)
Allocates an object.
Definition: objectallocate.c:89
#define _ISR_lock_Acquire(_lock, _context)
Acquires an ISR lock inside an ISR disabled section.
Definition: isrlock.h:278
Inlined Routines in the Watchdog Handler.
#define RTEMS_INLINE_ROUTINE
Definition: basedefs.h:65
#define ISR_LOCK_MEMBER(_designator)
Defines an ISR lock member.
Definition: isrlock.h:89
uint64_t ticks
Protects all watchdog operations on this processor.
Definition: percpu.h:409
Objects_Information _Timer_Information
The Classic Timer objects information.
Objects_Control * _Objects_Get(Objects_Id id, ISR_lock_Context *lock_context, const Objects_Information *information)
Maps the specified object identifier to the associated local object control block.
Definition: objectgetlocal.c:28
The control block used to manage each watchdog timer.
Definition: watchdog.h:87
Objects_Control Object
Definition: timerdata.h:43
Per_CPU_Watchdog_index
Per-CPU watchdog header index.
Definition: percpu.h:251
Data structure to manage and manipulate calendar time.
Definition: types.h:141
rtems_status_code
Classic API Status.
Definition: status.h:43
Watchdog_Control Ticker
Definition: timerdata.h:45
RTEMS_INLINE_ROUTINE void _Timer_Free(Timer_Control *the_timer)
Timer_Free.
Definition: timerimpl.h:72
#define _ISR_lock_ISR_enable(_context)
Restores the saved interrupt state of the ISR lock context.
Definition: isrlock.h:404
Per CPU Core Structure.
Definition: percpu.h:290
#define _ISR_lock_Release(_lock, _context)
Releases an ISR lock inside an ISR disabled section.
Definition: isrlock.h:301
Timer_server_Control *volatile _Timer_server
Pointer to default timer server control block.
Definition: timercreate.c:37
Timer_Classes
Definition: timer.h:56
uint32_t Watchdog_Interval
Type is used to specify the length of intervals.
Definition: watchdogticks.h:36
Classic Partition Manager Data Structures.
struct Per_CPU_Control::@3973 Watchdog
Watchdog state for this processor.
Objects_Id rtems_id
Used to manage and manipulate RTEMS object identifiers.
Definition: types.h:83
Local ISR lock context for acquire and release pairs.
Definition: isrlock.h:65
Inlined Routines in the Object Handler.
Definition: timerdata.h:41
uint32_t Objects_Id
Definition: object.h:75
RTEMS_INLINE_ROUTINE Timer_Control * _Timer_Allocate(void)
Timer_Allocate.
Definition: timerimpl.h:61
Constants and Structures Related with the Thread Control Block.
rtems_timer_service_routine(* rtems_timer_service_routine_entry)(rtems_id, void *)
Definition: timer.h:101
Watchdog_Service_routine(* Watchdog_Service_routine_entry)(Watchdog_Control *)
Pointer to a watchdog service routine.
Definition: watchdog.h:63
Definition: timerimpl.h:40