Zephyr API Documentation  2.7.0-rc2
A Scalable Open Source RTOS
thread.h File Reference
#include <zephyr/types.h>
#include <arch/x86/mmustructs.h>

Go to the source code of this file.

Data Structures

struct  x86_tss64
 

Macros

#define X86_THREAD_FLAG_ALL   0x01 /* _thread_arch.flags: entire state saved */
 
#define X86_KERNEL_CS_32   0x08 /* 32-bit kernel code */
 
#define X86_KERNEL_DS_32   0x10 /* 32-bit kernel data */
 
#define X86_KERNEL_CS   0x18 /* 64-bit kernel code */
 
#define X86_KERNEL_DS   0x20 /* 64-bit kernel data */
 
#define X86_USER_CS_32   0x28 /* 32-bit user data (unused) */
 
#define X86_USER_DS   0x30 /* 64-bit user mode data */
 
#define X86_USER_CS   0x38 /* 64-bit user mode code */
 
#define X86_STAR_UPPER   ((X86_USER_CS_32 << 16) | X86_KERNEL_CS)
 
#define X86_KERNEL_CPU0_TR   0x40 /* 64-bit task state segment */
 
#define X86_KERNEL_CPU1_TR   0x50 /* 64-bit task state segment */
 
#define X86_KERNEL_CPU2_TR   0x60 /* 64-bit task state segment */
 
#define X86_KERNEL_CPU3_TR   0x70 /* 64-bit task state segment */
 
#define X86_FXSAVE_SIZE   512 /* size and alignment of buffer ... */
 
#define X86_FXSAVE_ALIGN   16 /* ... for FXSAVE/FXRSTOR ops */
 
#define X86_MXCSR_SANE   0x1dc0 /* enable division-by-zero exception */
 

Typedefs

typedef struct x86_tss64 x86_tss64_t
 

Macro Definition Documentation

◆ X86_FXSAVE_ALIGN

#define X86_FXSAVE_ALIGN   16 /* ... for FXSAVE/FXRSTOR ops */

◆ X86_FXSAVE_SIZE

#define X86_FXSAVE_SIZE   512 /* size and alignment of buffer ... */

◆ X86_KERNEL_CPU0_TR

#define X86_KERNEL_CPU0_TR   0x40 /* 64-bit task state segment */

◆ X86_KERNEL_CPU1_TR

#define X86_KERNEL_CPU1_TR   0x50 /* 64-bit task state segment */

◆ X86_KERNEL_CPU2_TR

#define X86_KERNEL_CPU2_TR   0x60 /* 64-bit task state segment */

◆ X86_KERNEL_CPU3_TR

#define X86_KERNEL_CPU3_TR   0x70 /* 64-bit task state segment */

◆ X86_KERNEL_CS

#define X86_KERNEL_CS   0x18 /* 64-bit kernel code */

◆ X86_KERNEL_CS_32

#define X86_KERNEL_CS_32   0x08 /* 32-bit kernel code */

◆ X86_KERNEL_DS

#define X86_KERNEL_DS   0x20 /* 64-bit kernel data */

◆ X86_KERNEL_DS_32

#define X86_KERNEL_DS_32   0x10 /* 32-bit kernel data */

◆ X86_MXCSR_SANE

#define X86_MXCSR_SANE   0x1dc0 /* enable division-by-zero exception */

◆ X86_STAR_UPPER

#define X86_STAR_UPPER   ((X86_USER_CS_32 << 16) | X86_KERNEL_CS)

◆ X86_THREAD_FLAG_ALL

#define X86_THREAD_FLAG_ALL   0x01 /* _thread_arch.flags: entire state saved */

◆ X86_USER_CS

#define X86_USER_CS   0x38 /* 64-bit user mode code */

◆ X86_USER_CS_32

#define X86_USER_CS_32   0x28 /* 32-bit user data (unused) */

◆ X86_USER_DS

#define X86_USER_DS   0x30 /* 64-bit user mode data */

Typedef Documentation

◆ x86_tss64_t

typedef struct x86_tss64 x86_tss64_t