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)
72typedef struct _callee_saved _callee_saved_t;
82#if defined(CONFIG_EAGER_FPU_SHARING) || defined(CONFIG_LAZY_FPU_SHARING)
86typedef struct s_FpReg {
87 unsigned char reg[10];
108 unsigned short fop : 11;
109 unsigned short pad4 : 5;
120typedef struct s_FpRegEx {
121 unsigned char reg[10];
122 unsigned char rsrvd[6];
127typedef struct s_XmmReg {
128 unsigned char reg[16];
149 unsigned char rsrvd0;
153 unsigned short rsrvd1;
156 unsigned short rsrvd2;
158 unsigned int mxcsrMask;
161 unsigned char rsrvd3[176];
210#ifdef CONFIG_USERSPACE
211#ifndef CONFIG_X86_COMMON_PAGE_TABLE
222#if defined(CONFIG_LAZY_FPU_SHARING)
228 unsigned excNestCount;
233#ifdef CONFIG_HW_SHADOW_STACK
240typedef 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
__UINT8_TYPE__ uint8_t
Definition stdint.h:88
__UINTPTR_TYPE__ uintptr_t
Definition stdint.h:105
tFpRegSetEx fpRegsEx
Definition thread.h:196
tFpRegSet fpRegs
Definition thread.h:194
union s_preempFloatReg::@323266213337235055365216304163117335152077101163 floatRegsUnion