RTEMS  5.1
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.