This group contains the implementation of the per-CPU information.
More...
|
file | percpu.h |
| This header file provides the interfaces of the Per-CPU Information.
|
|
file | percpu.c |
| This source file contains the uniprocessor definition of _Per_CPU_Information and some static assertions.
|
|
file | percpuasm.c |
| This source file contains the static assertions for defines used in assembler files.
|
|
file | percpujobs.c |
| This source file contains the implementation of _Per_CPU_Add_job(), _Per_CPU_Perform_jobs(), _Per_CPU_Submit_job(), and _Per_CPU_Wait_for_job().
|
|
file | percpustatewait.c |
| This source file contains the implementation of _Per_CPU_State_wait_for_non_initial_state().
|
|
|
#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 |
|
This group contains the implementation of the per-CPU information.
The per-CPU information encapsulates state which is maintained for each configured processor in the system. There will be one instance of a Per_CPU_Control in the _Per_CPU_Information table for each configured processor in the system.
◆ Per_CPU_Control
Per CPU Core Structure.
This structure is used to hold per core state information.
◆ Per_CPU_Watchdog_index
Per-CPU watchdog header index.
Enumerator |
---|
PER_CPU_WATCHDOG_TICKS | Index for tick clock per-CPU watchdog header.
The reference time point for the tick clock is the system start. The clock resolution is one system clock tick. It is used for the system clock tick based time services.
|
PER_CPU_WATCHDOG_REALTIME | Index for realtime clock per-CPU watchdog header.
The reference time point for the realtime clock is the POSIX Epoch. The clock resolution is one nanosecond. It is used for the time of day services and the POSIX services using CLOCK_REALTIME.
|
PER_CPU_WATCHDOG_MONOTONIC | Index for monotonic clock per-CPU watchdog header.
The reference time point for the monotonic clock is the system start. The clock resolution is one nanosecond. It is used for the POSIX services using CLOCK_MONOTONIC.
|
PER_CPU_WATCHDOG_COUNT | Count of per-CPU watchdog headers.
|
◆ _Per_CPU_Information
Set of Per CPU Core Information.
This is an array of per CPU core information.