RTEMS CPU Kit with SuperCore
4.11.2
|
Inlined Routines in the Watchdog Handler. More...
#include <rtems/score/watchdog.h>
#include <rtems/score/assert.h>
#include <rtems/score/chainimpl.h>
#include <rtems/score/isrlock.h>
Go to the source code of this file.
Data Structures | |
struct | Watchdog_Iterator |
Iterator item to synchronize concurrent insert, remove and tickle operations. More... | |
struct | Watchdog_Header |
Watchdog header. More... | |
Macros | |
#define | WATCHDOG_INITIALIZER(routine, id, user_data) |
Watchdog initializer for static initialization. More... | |
Functions | |
RTEMS_INLINE_ROUTINE void | _Watchdog_Acquire (Watchdog_Header *header, ISR_lock_Context *lock_context) |
RTEMS_INLINE_ROUTINE void | _Watchdog_Release (Watchdog_Header *header, ISR_lock_Context *lock_context) |
RTEMS_INLINE_ROUTINE void | _Watchdog_Flash (Watchdog_Header *header, ISR_lock_Context *lock_context) |
void | _Watchdog_Handler_initialization (void) |
Initialize the watchdog handler. More... | |
void | _Watchdog_Tick (void) |
Triggers a watchdog tick. More... | |
Watchdog_States | _Watchdog_Remove (Watchdog_Header *header, Watchdog_Control *the_watchdog) |
Removes the_watchdog from the watchdog chain. More... | |
void | _Watchdog_Adjust_backward (Watchdog_Header *header, Watchdog_Interval units) |
Adjusts the header watchdog chain in the backward direction for units ticks. More... | |
void | _Watchdog_Adjust_backward_locked (Watchdog_Header *header, Watchdog_Interval units) |
Adjusts the watchdogs in backward direction in a locked context. More... | |
void | _Watchdog_Adjust_forward (Watchdog_Header *header, Watchdog_Interval units) |
Adjusts the header watchdog chain in the forward direction for units ticks. More... | |
void | _Watchdog_Adjust_forward_locked (Watchdog_Header *header, Watchdog_Interval units, ISR_lock_Context *lock_context) |
Adjusts the watchdogs in forward direction in a locked context. More... | |
void | _Watchdog_Insert (Watchdog_Header *header, Watchdog_Control *the_watchdog) |
Inserts the_watchdog into the header watchdog chain for a time of units. More... | |
void | _Watchdog_Insert_locked (Watchdog_Header *header, Watchdog_Control *the_watchdog, ISR_lock_Context *lock_context) |
Inserts the watchdog in a locked context. More... | |
void | _Watchdog_Tickle (Watchdog_Header *header) |
This routine is invoked at appropriate intervals to update the header watchdog chain. More... | |
RTEMS_INLINE_ROUTINE void | _Watchdog_Preinitialize (Watchdog_Control *the_watchdog) |
Pre-initializes a watchdog. More... | |
RTEMS_INLINE_ROUTINE void | _Watchdog_Initialize (Watchdog_Control *the_watchdog, Watchdog_Service_routine_entry routine, Objects_Id id, void *user_data) |
This routine initializes the specified watchdog. More... | |
RTEMS_INLINE_ROUTINE bool | _Watchdog_Is_active (Watchdog_Control *the_watchdog) |
This routine returns true if the watchdog timer is in the ACTIVE state, and false otherwise. | |
RTEMS_INLINE_ROUTINE void | _Watchdog_Activate (Watchdog_Control *the_watchdog) |
This routine activates THE_WATCHDOG timer which is already on a watchdog chain. | |
RTEMS_INLINE_ROUTINE void | _Watchdog_Tickle_ticks (void) |
This routine is invoked at each clock tick to update the ticks watchdog chain. | |
RTEMS_INLINE_ROUTINE void | _Watchdog_Tickle_seconds (void) |
This routine is invoked at each clock tick to update the seconds watchdog chain. | |
RTEMS_INLINE_ROUTINE void | _Watchdog_Insert_ticks (Watchdog_Control *the_watchdog, Watchdog_Interval units) |
This routine inserts THE_WATCHDOG into the ticks watchdog chain for a time of UNITS ticks. More... | |
RTEMS_INLINE_ROUTINE void | _Watchdog_Insert_seconds (Watchdog_Control *the_watchdog, Watchdog_Interval units) |
This routine inserts THE_WATCHDOG into the seconds watchdog chain for a time of UNITS seconds. More... | |
RTEMS_INLINE_ROUTINE Watchdog_States | _Watchdog_Remove_ticks (Watchdog_Control *the_watchdog) |
RTEMS_INLINE_ROUTINE Watchdog_States | _Watchdog_Remove_seconds (Watchdog_Control *the_watchdog) |
RTEMS_INLINE_ROUTINE void | _Watchdog_Reset_ticks (Watchdog_Control *the_watchdog) |
This routine resets THE_WATCHDOG timer to its state at INSERT time. More... | |
RTEMS_INLINE_ROUTINE Watchdog_Control * | _Watchdog_Next (Watchdog_Control *the_watchdog) |
This routine returns a pointer to the watchdog timer following THE_WATCHDOG on the watchdog chain. | |
RTEMS_INLINE_ROUTINE Watchdog_Control * | _Watchdog_Previous (Watchdog_Control *the_watchdog) |
This routine returns a pointer to the watchdog timer preceding THE_WATCHDOG on the watchdog chain. | |
RTEMS_INLINE_ROUTINE Watchdog_Control * | _Watchdog_First (Watchdog_Header *header) |
This routine returns a pointer to the first watchdog timer on the watchdog chain HEADER. | |
RTEMS_INLINE_ROUTINE Watchdog_Control * | _Watchdog_Last (Watchdog_Header *header) |
This routine returns a pointer to the last watchdog timer on the watchdog chain HEADER. | |
RTEMS_INLINE_ROUTINE bool | _Watchdog_Is_empty (const Watchdog_Header *header) |
RTEMS_INLINE_ROUTINE void | _Watchdog_Header_initialize (Watchdog_Header *header) |
Variables | |
SCORE_EXTERN Watchdog_Header | _Watchdog_Ticks_header |
Watchdog chain which is managed at ticks. More... | |
SCORE_EXTERN Watchdog_Header | _Watchdog_Seconds_header |
Watchdog chain which is managed at second boundaries. More... | |
Inlined Routines in the Watchdog Handler.
This file contains the static inline implementation of all inlined routines in the Watchdog Handler.