RTEMS: cpukit/score/cpu/no_cpu/include/rtems/score/cpuimpl.h Source File

| RTEMS 5.4-rc2

Loading...
Searching...
No Matches
cpuimpl.h
Go to the documentation of this file.
1
7/*
8 * Copyright (c) 2013, 2016 embedded brains GmbH
9 *
10 * The license and distribution terms for this file may be
11 * found in the file LICENSE in this distribution or at
12 * http://www.rtems.org/license/LICENSE.
13 */
14
15#ifndef _RTEMS_SCORE_CPUIMPL_H
16#define _RTEMS_SCORE_CPUIMPL_H
17
18#include <rtems/score/cpu.h>
19
36#define CPU_PER_CPU_CONTROL_SIZE 0
37
38#ifndef ASM
39
40#ifdef __cplusplus
41extern "C" {
42#endif
43
54 typedef struct {
55 /* CPU specific per-CPU state */
56} CPU_Per_CPU_control;
57
65 register struct Per_CPU_Control *_CPU_Per_CPU_current asm( "rX" );
66
74#define _CPU_Get_current_per_CPU_control() ( _CPU_Per_CPU_current )
75
84#define _CPU_Get_thread_executing() ( _CPU_Per_CPU_current->executing )
85
98void _CPU_Context_volatile_clobber( uintptr_t pattern );
99
115void _CPU_Context_validate( uintptr_t pattern );
116
122 RTEMS_INLINE_ROUTINE void _CPU_Instruction_illegal( void )
123{
124 __asm__ volatile ( ".word 0" );
125}
126
132 RTEMS_INLINE_ROUTINE void _CPU_Instruction_no_operation( void )
133{
134 __asm__ volatile ( "nop" );
135}
136
137#ifdef __cplusplus
138}
139#endif
140
141#endif /* ASM */
142
145#endif /* _RTEMS_SCORE_CPUIMPL_H */
RTEMS_INLINE_ROUTINE
#define RTEMS_INLINE_ROUTINE
Definition: basedefs.h:66
CPU_Per_CPU_control
The CPU specific per-CPU control.
Definition: cpuimpl.h:54
Per_CPU_Control
Per CPU Core Structure.
Definition: percpu.h:347