RTEMS: cpukit/include/rtems/score/percpu.h File Reference

| RTEMS 5.4-rc2

Loading...
Searching...
No Matches
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.

## 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.

## Variables
Per_CPU_Control_envelope _Per_CPU_Information[] | CPU_STRUCTURE_ALIGNMENT
| Set of Per CPU Core Information.

## Detailed Description

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