RTEMS CPU Kit with SuperCore  4.10.99.0
Data Structures | Defines | Typedefs | Enumerations | Functions | Variables
rtems/score/percpu.h File Reference

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

#include <rtems/score/cpu.h>
#include <rtems/score/assert.h>
#include <rtems/score/isrlevel.h>
#include <rtems/score/smp.h>
#include <rtems/score/smplock.h>
#include <rtems/score/timestamp.h>
Include dependency graph for percpu.h:
This graph shows which files directly or indirectly include this file:

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

Defines

#define PER_CPU_CONTROL_SIZE_LOG2   7
#define PER_CPU_CONTROL_SIZE   ( 1 << PER_CPU_CONTROL_SIZE_LOG2 )
#define __THREAD_CONTROL_DEFINED__
#define _Per_CPU_Acquire(cpu)
#define _Per_CPU_Release(cpu)
#define _Per_CPU_ISR_disable_and_acquire(cpu, isr_cookie)
#define _Per_CPU_Release_and_ISR_enable(cpu, isr_cookie)
#define _Per_CPU_Acquire_all(isr_cookie)
#define _Per_CPU_Release_all(isr_cookie)
#define _Per_CPU_Get_snapshot()   ( &_Per_CPU_Information[ _SMP_Get_current_processor() ].per_cpu )
#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
#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
#define _Thread_Time_of_last_context_switch   _Per_CPU_Get()->time_of_last_context_switch

Typedefs

typedef struct
Thread_Control_struct 
Thread_Control
typedef struct Per_CPU_Control Per_CPU_Control
 Per CPU Core Structure.

Enumerations

enum  Per_CPU_State {
  PER_CPU_STATE_INITIAL, PER_CPU_STATE_READY_TO_START_MULTITASKING, PER_CPU_STATE_REQUEST_START_MULTITASKING, PER_CPU_STATE_UP,
  PER_CPU_STATE_SHUTDOWN
}
 State of a processor. More...

Functions

void _Per_CPU_Initialize (void)
 Allocate and Initialize Per CPU Structures.
void _Per_CPU_State_change (Per_CPU_Control *cpu, Per_CPU_State new_state)
bool _Per_CPU_State_wait_for_non_initial_state (uint32_t cpu_index, uint32_t timeout_in_ns)
 Waits for a processor to change into a non-initial state.

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.