19#ifndef ZEPHYR_INCLUDE_ARCH_X86_IA32_THREAD_H_
20#define ZEPHYR_INCLUDE_ARCH_X86_IA32_THREAD_H_
29#if defined(CONFIG_EAGER_FPU_SHARING) || defined(CONFIG_LAZY_FPU_SHARING)
31#define FP_REG_SET_ALIGN 16
33#define FP_REG_SET_ALIGN 4
39#define FP_REG_SET_ALIGN 1
46#define X86_THREAD_FLAG_INT 0x01
47#define X86_THREAD_FLAG_EXC 0x02
48#define X86_THREAD_FLAG_ALL (X86_THREAD_FLAG_INT | X86_THREAD_FLAG_EXC)
79typedef struct _callee_saved _callee_saved_t;
89#if defined(CONFIG_EAGER_FPU_SHARING) || defined(CONFIG_LAZY_FPU_SHARING)
93typedef struct s_FpReg {
94 unsigned char reg[10];
115 unsigned short fop : 11;
116 unsigned short pad4 : 5;
127typedef struct s_FpRegEx {
128 unsigned char reg[10];
129 unsigned char rsrvd[6];
134typedef struct s_XmmReg {
135 unsigned char reg[16];
156 unsigned char rsrvd0;
160 unsigned short rsrvd1;
163 unsigned short rsrvd2;
165 unsigned int mxcsrMask;
168 unsigned char rsrvd3[176];
217#ifdef CONFIG_USERSPACE
218#ifndef CONFIG_X86_COMMON_PAGE_TABLE
229#if defined(CONFIG_LAZY_FPU_SHARING)
235 unsigned excNestCount;
241typedef struct _thread_arch _thread_arch_t;
struct s_preempFloatReg tPreempFloatReg
struct s_FpRegSetEx tFpRegSetEx
struct s_FpRegSet tFpRegSet
#define FP_REG_SET_ALIGN
Floating point register set alignment.
Definition: thread.h:39
flags
Definition: parser.h:96
__UINT8_TYPE__ uint8_t
Definition: stdint.h:88
__UINTPTR_TYPE__ uintptr_t
Definition: stdint.h:105
tFpRegSetEx fpRegsEx
Definition: thread.h:203
union s_preempFloatReg::@35 floatRegsUnion
tFpRegSet fpRegs
Definition: thread.h:201