34#ifndef _RTEMS_SCORE_CPUIMPL_H
35#define _RTEMS_SCORE_CPUIMPL_H
37#include <rtems/score/cpu.h>
49#define CPU_PER_CPU_CONTROL_SIZE 0
51#define CPU_INTERRUPT_FRAME_SIZE 52
53#define CPU_THREAD_LOCAL_STORAGE_VARIANT 20
63static inline void _CPU_Context_volatile_clobber( uintptr_t pattern )
70static inline void _CPU_Context_validate( uintptr_t pattern )
79static inline void _CPU_Instruction_illegal(
void )
81 __asm__
volatile (
".word 0" );
84static inline void _CPU_Instruction_no_operation(
void )
86 __asm__
volatile (
"nop" );
89static inline void _CPU_Use_thread_local_storage(
97 cpu_index = _CPU_SMP_Get_current_processor();
103 "movl " RTEMS_XSTRING( I386_CONTEXT_CONTROL_GS_0_OFFSET )
"(%2), %0\n"
104 "movl %0, _Global_descriptor_table+24(,%1,8)\n"
105 "movl " RTEMS_XSTRING( I386_CONTEXT_CONTROL_GS_1_OFFSET )
"(%2), %0\n"
106 "movl %0, _Global_descriptor_table+28(,%1,8)\n"
107 "leal 24(,%1,8), %0\n"
110 :
"r" ( cpu_index ),
"r" (
context )
115static inline void *_CPU_Get_TLS_thread_pointer(
#define RTEMS_XSTRING(...)
Stringifies the expansion of the arguments.
Definition: basedefs.h:987
#define RTEMS_NO_RETURN
Tells the compiler in a function declaration that this function does not return.
Definition: basedefs.h:386
uintptr_t CPU_Uint32ptr
Definition: cpu.h:557
rtems_termios_device_context * context
Definition: console-config.c:62
Thread register context.
Definition: cpu.h:169