39#ifndef _RTEMS_RTEMS_RATEMONIMPL_H
40#define _RTEMS_RTEMS_RATEMONIMPL_H
64#define RATE_MONOTONIC_INTEND_TO_BLOCK \
65 ( THREAD_WAIT_CLASS_PERIOD | THREAD_WAIT_STATE_INTEND_TO_BLOCK )
67#define RATE_MONOTONIC_BLOCKED \
68 ( THREAD_WAIT_CLASS_PERIOD | THREAD_WAIT_STATE_BLOCKED )
83static inline void _Rate_monotonic_Acquire_critical(
91static inline void _Rate_monotonic_Release(
128void _Rate_monotonic_Restart(
134void _Rate_monotonic_Cancel(
140static inline void _Rate_monotonic_Reset_min_time(
144 _Timestamp_Set( min_time, 0x7fffffff, 0x7fffffff );
147static inline void _Rate_monotonic_Reset_statistics(
154 memset( statistics, 0,
sizeof( *statistics ) );
155 _Rate_monotonic_Reset_min_time( &statistics->
min_wall_time );
156 _Rate_monotonic_Reset_min_time( &statistics->
min_cpu_time );
Objects_Information _Rate_monotonic_Information
The Classic Rate Monotonic objects information.
void _Rate_monotonic_Get_status(const Rate_monotonic_Control *the_period, Timestamp_Control *wall_since_last_period, Timestamp_Control *cpu_since_last_period)
Gets the rate monotonic CPU usage status.
Definition: ratemonperiod.c:48
#define _ISR_lock_Acquire(_lock, _context)
Acquires an ISR lock inside an ISR disabled section.
Definition: isrlock.h:309
#define _ISR_lock_Release_and_ISR_enable(_lock, _context)
Releases an ISR lock.
Definition: isrlock.h:279
Objects_Control * _Objects_Allocate(Objects_Information *information)
Allocates an object.
Definition: objectallocate.c:43
uint32_t Objects_Id
Definition: object.h:101
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:43
int64_t Timestamp_Control
Definition: timestamp.h:76
This header file provides data structures used by the implementation and the Application Configuratio...
This header file provides interfaces of the Scheduler Handler which are only used by the implementati...
This header file provides interfaces of the Object Handler which are only used by the implementation.
Local ISR lock context for acquire and release pairs.
Definition: isrlock.h:81
The following structure defines the control block used to manage each period.
Definition: ratemondata.h:89
Rate_monotonic_Statistics Statistics
Definition: ratemondata.h:140
Definition: ratemondata.h:60
Timestamp_Control min_wall_time
Definition: ratemondata.h:74
Timestamp_Control min_cpu_time
Definition: ratemondata.h:67
The control block used to manage each watchdog timer.
Definition: watchdog.h:109
This header file provides interfaces of the Thread Handler which are only used by the implementation.
This header file provides interfaces of the Watchdog Handler which are only used by the implementatio...