Add context control flags and thread frames for i686 architecture
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
5677719038
commit
cec8a13e4c
@ -116,6 +116,15 @@
|
|||||||
#define EFLAGS_ID_MASK 0x00200000L
|
#define EFLAGS_ID_MASK 0x00200000L
|
||||||
#define EFLAGS_USER_SANITIZE 0x003F4DD7L
|
#define EFLAGS_USER_SANITIZE 0x003F4DD7L
|
||||||
|
|
||||||
|
/* Context control flags */
|
||||||
|
#define CONTEXT_ARCHITECTURE 0x00010000
|
||||||
|
#define CONTEXT_CONTROL (CONTEXT_ARCHITECTURE | 0x01)
|
||||||
|
#define CONTEXT_INTEGER (CONTEXT_ARCHITECTURE | 0x02)
|
||||||
|
#define CONTEXT_SEGMENTS (CONTEXT_ARCHITECTURE | 0x04)
|
||||||
|
#define CONTEXT_FLOATING_POINT (CONTEXT_ARCHITECTURE | 0x08)
|
||||||
|
#define CONTEXT_DEBUG_REGISTERS (CONTEXT_ARCHITECTURE | 0x10)
|
||||||
|
#define CONTEXT_EXTENDED_REGISTERS (CONTEXT_ARCHITECTURE | 0x20)
|
||||||
|
|
||||||
/* Interrupt request levels definitions */
|
/* Interrupt request levels definitions */
|
||||||
#define PASSIVE_LEVEL 0
|
#define PASSIVE_LEVEL 0
|
||||||
#define LOW_LEVEL 0
|
#define LOW_LEVEL 0
|
||||||
@ -345,6 +354,15 @@ typedef struct _KEXCEPTION_FRAME
|
|||||||
ULONG PlaceHolder;
|
ULONG PlaceHolder;
|
||||||
} KEXCEPTION_FRAME, *PKEXCEPTION_FRAME;
|
} KEXCEPTION_FRAME, *PKEXCEPTION_FRAME;
|
||||||
|
|
||||||
|
/* Thread start frame definition */
|
||||||
|
typedef struct _KSTART_FRAME
|
||||||
|
{
|
||||||
|
PKSYSTEM_ROUTINE SystemRoutine;
|
||||||
|
PKSTART_ROUTINE StartRoutine;
|
||||||
|
PVOID StartContext;
|
||||||
|
BOOLEAN UserMode;
|
||||||
|
} KSTART_FRAME, *PKSTART_FRAME;
|
||||||
|
|
||||||
/* Switch frame definition */
|
/* Switch frame definition */
|
||||||
typedef struct _KSWITCH_FRAME
|
typedef struct _KSWITCH_FRAME
|
||||||
{
|
{
|
||||||
@ -393,6 +411,15 @@ typedef struct _KTRAP_FRAME
|
|||||||
ULONG V86Gs;
|
ULONG V86Gs;
|
||||||
} KTRAP_FRAME, *PKTRAP_FRAME;
|
} KTRAP_FRAME, *PKTRAP_FRAME;
|
||||||
|
|
||||||
|
/* Thread initialization frame definition */
|
||||||
|
typedef struct _KTHREAD_INIT_FRAME
|
||||||
|
{
|
||||||
|
KSWITCH_FRAME SwitchFrame;
|
||||||
|
KSTART_FRAME StartFrame;
|
||||||
|
KTRAP_FRAME TrapFrame;
|
||||||
|
FX_SAVE_AREA NpxFrame;
|
||||||
|
} KTHREAD_INIT_FRAME, *PKTHREAD_INIT_FRAME;
|
||||||
|
|
||||||
/* Special kernel registers structure definition */
|
/* Special kernel registers structure definition */
|
||||||
typedef struct _KSPECIAL_REGISTERS
|
typedef struct _KSPECIAL_REGISTERS
|
||||||
{
|
{
|
||||||
|
Loading…
Reference in New Issue
Block a user