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
61static inline void _CPU_Context_volatile_clobber( uintptr_t pattern )
68static inline void _CPU_Context_validate( uintptr_t pattern )
77static inline void _CPU_Instruction_illegal(
void )
79 __asm__
volatile (
".word 0" );
82static inline void _CPU_Instruction_no_operation(
void )
84 __asm__
volatile (
"nop" );
87static inline void _CPU_Use_thread_local_storage(
95 cpu_index = _CPU_SMP_Get_current_processor();
101 "movl " RTEMS_XSTRING( I386_CONTEXT_CONTROL_GS_0_OFFSET )
"(%2), %0\n"
102 "movl %0, _Global_descriptor_table+24(,%1,8)\n"
103 "movl " RTEMS_XSTRING( I386_CONTEXT_CONTROL_GS_1_OFFSET )
"(%2), %0\n"
104 "movl %0, _Global_descriptor_table+28(,%1,8)\n"
105 "leal 24(,%1,8), %0\n"
108 :
"r" ( cpu_index ),
"r" (
context )
113static inline void *_CPU_Get_TLS_thread_pointer(
#define RTEMS_XSTRING(...)
Stringifies the expansion of the arguments.
Definition: basedefs.h:987
rtems_termios_device_context * context
Definition: console-config.c:62
Thread register context.
Definition: cpu.h:173