Add EFLAGS and THREAD_ENVIRONMENT_BLOCK for x86
All checks were successful
ci/woodpecker/push/build Pipeline was successful
All checks were successful
ci/woodpecker/push/build Pipeline was successful
This commit is contained in:
parent
c5a9253ea8
commit
70795ae57a
@ -95,6 +95,27 @@
|
||||
#define I686_INTERRUPT_GATE 0xE
|
||||
#define I686_TRAP_GATE 0xF
|
||||
|
||||
/* EFlags bits definitions */
|
||||
#define EFLAGS_CF_MASK 0x00000001L
|
||||
#define EFLAGS_PF_MASK 0x00000004L
|
||||
#define EFLAGS_AF_MASK 0x00000010L
|
||||
#define EFLAGS_ZF_MASK 0x00000040L
|
||||
#define EFLAGS_SF_MASK 0x00000080L
|
||||
#define EFLAGS_TF 0x00000100L
|
||||
#define EFLAGS_INTERRUPT_MASK 0x00000200L
|
||||
#define EFLAGS_DF_MASK 0x00000400L
|
||||
#define EFLAGS_OF_MASK 0x00000800L
|
||||
#define EFLAGS_IOPL_MASK 0x00003000L
|
||||
#define EFLAGS_NT 0x00004000L
|
||||
#define EFLAGS_SIGN_MASK 0x00008000L
|
||||
#define EFLAGS_RF 0x00010000L
|
||||
#define EFLAGS_V86_MASK 0x00020000L
|
||||
#define EFLAGS_ALIGN_CHECK 0x00040000L
|
||||
#define EFLAGS_VIF 0x00080000L
|
||||
#define EFLAGS_VIP 0x00100000L
|
||||
#define EFLAGS_ID_MASK 0x00200000L
|
||||
#define EFLAGS_USER_SANITIZE 0x003F4DD7L
|
||||
|
||||
/* Interrupt request levels definitions */
|
||||
#define PASSIVE_LEVEL 0
|
||||
#define LOW_LEVEL 0
|
||||
@ -328,7 +349,7 @@ typedef struct _KEXCEPTION_FRAME
|
||||
typedef struct _KSWITCH_FRAME
|
||||
{
|
||||
PVOID ExceptionList;
|
||||
BOOLEAN ApcBypass;
|
||||
PVOID Reserved;
|
||||
PVOID ReturnAddress;
|
||||
} KSWITCH_FRAME, *PKSWITCH_FRAME;
|
||||
|
||||
@ -412,6 +433,7 @@ typedef struct _KPROCESSOR_CONTROL_BLOCK
|
||||
ULONG_PTR MultiThreadProcessorSet;
|
||||
KDPC_DATA DpcData[2];
|
||||
PVOID DpcStack;
|
||||
VOLATILE BOOLEAN DpcRoutineActive;
|
||||
VOLATILE ULONG_PTR TimerRequest;
|
||||
SINGLE_LIST_ENTRY DeferredReadyListHead;
|
||||
PROCESSOR_POWER_STATE PowerState;
|
||||
@ -428,6 +450,13 @@ typedef struct _KPROCESSOR_BLOCK
|
||||
PKGDTENTRY GdtBase;
|
||||
PKTSS TssBase;
|
||||
KPROCESSOR_CONTROL_BLOCK Prcb;
|
||||
ULONG ContextSwitches;
|
||||
} KPROCESSOR_BLOCK, *PKPROCESSOR_BLOCK;
|
||||
|
||||
/* Thread Environment Block (TEB) structure definition */
|
||||
typedef struct _THREAD_ENVIRONMENT_BLOCK
|
||||
{
|
||||
THREAD_INFORMATION_BLOCK InformationBlock;
|
||||
} THREAD_ENVIRONMENT_BLOCK, *PTHREAD_ENVIRONMENT_BLOCK;
|
||||
|
||||
#endif /* __XTDK_I686_KETYPES_H */
|
||||
|
@ -40,5 +40,6 @@ typedef struct _KSPECIAL_REGISTERS KSPECIAL_REGISTERS, *PKSPECIAL_REGISTERS;
|
||||
typedef struct _KSWITCH_FRAME KSWITCH_FRAME, *PKSWITCH_FRAME;
|
||||
typedef struct _KTRAP_FRAME KTRAP_FRAME, *PKTRAP_FRAME;
|
||||
typedef struct _KTSS KTSS, *PKTSS;
|
||||
typedef struct _THREAD_ENVIRONMENT_BLOCK THREAD_ENVIRONMENT_BLOCK, *PTHREAD_ENVIRONMENT_BLOCK;
|
||||
|
||||
#endif /* __XTDK_I686_XTSTRUCT_H */
|
||||
|
Loading…
Reference in New Issue
Block a user