Add EFLAGS and THREAD_ENVIRONMENT_BLOCK for amd64
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
70795ae57a
commit
fd8eec1d86
@ -67,6 +67,27 @@
|
|||||||
#define AMD64_INTERRUPT_GATE 0xE
|
#define AMD64_INTERRUPT_GATE 0xE
|
||||||
#define AMD64_TRAP_GATE 0xF
|
#define AMD64_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 */
|
/* Interrupt request levels definitions */
|
||||||
#define PASSIVE_LEVEL 0
|
#define PASSIVE_LEVEL 0
|
||||||
#define LOW_LEVEL 0
|
#define LOW_LEVEL 0
|
||||||
@ -309,8 +330,7 @@ typedef struct _KSWITCH_FRAME
|
|||||||
ULONG64 P4Home;
|
ULONG64 P4Home;
|
||||||
ULONG64 P5Home;
|
ULONG64 P5Home;
|
||||||
ULONG MxCsr;
|
ULONG MxCsr;
|
||||||
KIRQL ApcBypass;
|
UCHAR Reserved[4];
|
||||||
UCHAR Fill1[3];
|
|
||||||
ULONG64 Rbp;
|
ULONG64 Rbp;
|
||||||
ULONG64 Return;
|
ULONG64 Return;
|
||||||
} KSWITCH_FRAME, *PKSWITCH_FRAME;
|
} KSWITCH_FRAME, *PKSWITCH_FRAME;
|
||||||
@ -455,6 +475,7 @@ typedef struct _KPROCESSOR_CONTROL_BLOCK
|
|||||||
KPROCESSOR_STATE ProcessorState;
|
KPROCESSOR_STATE ProcessorState;
|
||||||
KDPC_DATA DpcData[2];
|
KDPC_DATA DpcData[2];
|
||||||
PVOID DpcStack;
|
PVOID DpcStack;
|
||||||
|
VOLATILE BOOLEAN DpcRoutineActive;
|
||||||
VOLATILE ULONG_PTR TimerRequest;
|
VOLATILE ULONG_PTR TimerRequest;
|
||||||
ULONG_PTR MultiThreadProcessorSet;
|
ULONG_PTR MultiThreadProcessorSet;
|
||||||
SINGLE_LIST_ENTRY DeferredReadyListHead;
|
SINGLE_LIST_ENTRY DeferredReadyListHead;
|
||||||
@ -478,6 +499,13 @@ typedef struct _KPROCESSOR_BLOCK
|
|||||||
PKIDTENTRY IdtBase;
|
PKIDTENTRY IdtBase;
|
||||||
KIRQL Irql;
|
KIRQL Irql;
|
||||||
KPROCESSOR_CONTROL_BLOCK Prcb;
|
KPROCESSOR_CONTROL_BLOCK Prcb;
|
||||||
|
ULONG ContextSwitches;
|
||||||
} KPROCESSOR_BLOCK, *PKPROCESSOR_BLOCK;
|
} 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_AMD64_KETYPES_H */
|
#endif /* __XTDK_AMD64_KETYPES_H */
|
||||||
|
@ -35,5 +35,6 @@ typedef struct _KSPECIAL_REGISTERS KSPECIAL_REGISTERS, *PKSPECIAL_REGISTERS;
|
|||||||
typedef struct _KSWITCH_FRAME KSWITCH_FRAME, *PKSWITCH_FRAME;
|
typedef struct _KSWITCH_FRAME KSWITCH_FRAME, *PKSWITCH_FRAME;
|
||||||
typedef struct _KTRAP_FRAME KTRAP_FRAME, *PKTRAP_FRAME;
|
typedef struct _KTRAP_FRAME KTRAP_FRAME, *PKTRAP_FRAME;
|
||||||
typedef struct _KTSS KTSS, *PKTSS;
|
typedef struct _KTSS KTSS, *PKTSS;
|
||||||
|
typedef struct _THREAD_ENVIRONMENT_BLOCK THREAD_ENVIRONMENT_BLOCK, *PTHREAD_ENVIRONMENT_BLOCK;
|
||||||
|
|
||||||
#endif /* __XTDK_AMD64_XTSTRUCT_H */
|
#endif /* __XTDK_AMD64_XTSTRUCT_H */
|
||||||
|
@ -359,6 +359,7 @@ typedef struct _KTHREAD
|
|||||||
};
|
};
|
||||||
};
|
};
|
||||||
KSPIN_LOCK ApcQueueLock;
|
KSPIN_LOCK ApcQueueLock;
|
||||||
|
ULONG ContextSwitches;
|
||||||
LONG_PTR WaitStatus;
|
LONG_PTR WaitStatus;
|
||||||
union
|
union
|
||||||
{
|
{
|
||||||
@ -378,7 +379,8 @@ typedef struct _KTHREAD
|
|||||||
SINGLE_LIST_ENTRY SwapListEntry;
|
SINGLE_LIST_ENTRY SwapListEntry;
|
||||||
};
|
};
|
||||||
PKQUEUE Queue;
|
PKQUEUE Queue;
|
||||||
PVOID EnvironmentBlock;
|
SHORT SpecialApcDisable;
|
||||||
|
PTHREAD_ENVIRONMENT_BLOCK EnvironmentBlock;
|
||||||
union
|
union
|
||||||
{
|
{
|
||||||
KTIMER Timer;
|
KTIMER Timer;
|
||||||
@ -398,6 +400,7 @@ typedef struct _KTHREAD
|
|||||||
};
|
};
|
||||||
};
|
};
|
||||||
KWAIT_BLOCK WaitBlock[KTHREAD_WAIT_BLOCK + 1];
|
KWAIT_BLOCK WaitBlock[KTHREAD_WAIT_BLOCK + 1];
|
||||||
|
UCHAR NpxState;
|
||||||
KIRQL WaitIrql;
|
KIRQL WaitIrql;
|
||||||
LIST_ENTRY QueueListEntry;
|
LIST_ENTRY QueueListEntry;
|
||||||
PKTRAP_FRAME TrapFrame;
|
PKTRAP_FRAME TrapFrame;
|
||||||
|
Loading…
Reference in New Issue
Block a user