RTEMS 5.2
All Data Structures Files Functions Variables Typedefs Enumerations Enumerator Macros Modules Pages
Data Structures | Macros | Typedefs | Enumerations | Functions | Variables
percpu.h File Reference
#include <rtems/score/cpuimpl.h>
#include <rtems/score/assert.h>
#include <rtems/score/chain.h>
#include <rtems/score/isrlock.h>
#include <rtems/score/smp.h>
#include <rtems/score/timestamp.h>
#include <rtems/score/watchdog.h>

Go to the source code of this file.

Data Structures

struct  Per_CPU_Stats
 Per-CPU statistics. More...
 
struct  Per_CPU_Control
 Per CPU Core Structure. More...
 
struct  Per_CPU_Control_envelope
 

Macros

#define _Per_CPU_Acquire(cpu, lock_context)    _ISR_lock_Acquire( &( cpu )->Lock, lock_context )
 
#define _Per_CPU_Release(cpu, lock_context)    _ISR_lock_Release( &( cpu )->Lock, lock_context )
 
#define _Per_CPU_Get_snapshot()    ( &_Per_CPU_Information[ _SMP_Get_current_processor() ].per_cpu )
 
#define _Per_CPU_Get()   _Per_CPU_Get_snapshot()
 
#define _Thread_Dispatch_disable_level    _Per_CPU_Get()->thread_dispatch_disable_level
 
#define _Thread_Heir    _Per_CPU_Get()->heir
 
#define _Thread_Executing    _Per_CPU_Get_executing( _Per_CPU_Get() )
 
#define _ISR_Nest_level    _Per_CPU_Get()->isr_nest_level
 
#define _CPU_Interrupt_stack_low    _Per_CPU_Get()->interrupt_stack_low
 
#define _CPU_Interrupt_stack_high    _Per_CPU_Get()->interrupt_stack_high
 
#define _Thread_Dispatch_necessary    _Per_CPU_Get()->dispatch_necessary
 

Typedefs

typedef struct Per_CPU_Control Per_CPU_Control
 Per CPU Core Structure. More...
 

Enumerations

enum  Per_CPU_Watchdog_index { PER_CPU_WATCHDOG_TICKS , PER_CPU_WATCHDOG_REALTIME , PER_CPU_WATCHDOG_MONOTONIC , PER_CPU_WATCHDOG_COUNT }
 Per-CPU watchdog header index. More...
 

Functions

RTEMS_INLINE_ROUTINE void _Per_CPU_Acquire_all (ISR_lock_Context *lock_context)
 
RTEMS_INLINE_ROUTINE void _Per_CPU_Release_all (ISR_lock_Context *lock_context)
 
RTEMS_INLINE_ROUTINE struct _Thread_Control_Thread_Get_executing (void)
 Returns the thread control block of the executing thread. More...
 

Variables

Per_CPU_Control_envelope _Per_CPU_Information[] CPU_STRUCTURE_ALIGNMENT
 Set of Per CPU Core Information. More...
 

Detailed Description

This include file defines the per CPU information required by RTEMS.