From efef3cb80d9b881d3162ba16aab4437e44fc376c Mon Sep 17 00:00:00 2001 From: Rafal Kupiec Date: Tue, 14 May 2024 16:22:10 +0200 Subject: [PATCH] Cleanup EFLAGS related definitions --- sdk/xtdk/amd64/artypes.h | 38 ++++++++++++++++++++------------------ sdk/xtdk/amd64/ketypes.h | 25 ------------------------- sdk/xtdk/i686/artypes.h | 21 +++++++++++++++++++++ sdk/xtdk/i686/ketypes.h | 25 ------------------------- 4 files changed, 41 insertions(+), 68 deletions(-) diff --git a/sdk/xtdk/amd64/artypes.h b/sdk/xtdk/amd64/artypes.h index d788e3f..3703618 100644 --- a/sdk/xtdk/amd64/artypes.h +++ b/sdk/xtdk/amd64/artypes.h @@ -93,29 +93,31 @@ #define X86_MSR_EFER_SVME (1 << 12) /* X86 EFLAG bit masks definitions */ -#define X86_EFLAGS_CF_MASK 0x00000001 -#define X86_EFLAGS_PF_MASK 0x00000004 -#define X86_EFALGS_AF_MASK 0x00000010 -#define X86_EFLAGS_ZF_MASK 0x00000040 -#define X86_EFLAGS_SF_MASK 0x00000080 -#define X86_EFLAGS_TF_MASK 0x00000100 -#define X86_EFLAGS_IF_MASK 0x00000200 -#define X86_EFLAGS_DF_MASK 0x00000400 -#define X86_EFLAGS_OF_MASK 0x00000800 -#define X86_EFLAGS_IOPL_MASK 0x00003000 -#define X86_EFLAGS_NT_MASK 0x00004000 -#define X86_EFLAGS_RF_MASK 0x00010000 -#define X86_EFLAGS_VM_MASK 0x00020000 -#define X86_EFLAGS_AC_MASK 0x00040000 -#define X86_EFLAGS_VIF_MASK 0x00080000 -#define X86_EFLAGS_VIP_MASK 0x00100000 -#define X86_EFLAGS_ID_MASK 0x00200000 +#define X86_EFLAGS_NF_MASK 0x00000000 /* None */ +#define X86_EFLAGS_CF_MASK 0x00000001 /* Carry */ +#define X86_EFLAGS_PF_MASK 0x00000004 /* Parity */ +#define X86_EFALGS_AF_MASK 0x00000010 /* Aux Carry */ +#define X86_EFLAGS_ZF_MASK 0x00000040 /* Zero */ +#define X86_EFLAGS_SF_MASK 0x00000080 /* Sign */ +#define X86_EFLAGS_TF_MASK 0x00000100 /* Trap */ +#define X86_EFLAGS_IF_MASK 0x00000200 /* Interrupt */ +#define X86_EFLAGS_DF_MASK 0x00000400 /* Direction */ +#define X86_EFLAGS_OF_MASK 0x00000800 /* Overflow */ +#define X86_EFLAGS_IOPL_MASK 0x00003000 /* I/O Privilege */ +#define X86_EFLAGS_NT_MASK 0x00004000 /* Nested Task */ +#define X86_EFLAGS_SIGN_MASK 0x00008000 /* Sign */ +#define X86_EFLAGS_RF_MASK 0x00010000 /* Resume */ +#define X86_EFLAGS_V86_MASK 0x00020000 /* Virtual 8086 */ +#define X86_EFLAGS_AC_MASK 0x00040000 /* Alignment Check */ +#define X86_EFLAGS_VIF_MASK 0x00080000 /* Virtual Interrupt */ +#define X86_EFLAGS_VIP_MASK 0x00100000 /* Virtual Interrupt Pending */ +#define X86_EFLAGS_ID_MASK 0x00200000 /* Identification */ /* CPU vendor enumeration list */ typedef enum _CPU_VENDOR { CPU_VENDOR_AMD = 0x68747541, - CPU_VENDOR_INTEL = 0x756e6547, + CPU_VENDOR_INTEL = 0x756E6547, CPU_VENDOR_UNKNOWN = 0xFFFFFFFF } CPU_VENDOR, *PCPU_VENDOR; diff --git a/sdk/xtdk/amd64/ketypes.h b/sdk/xtdk/amd64/ketypes.h index a315350..1d1b01d 100644 --- a/sdk/xtdk/amd64/ketypes.h +++ b/sdk/xtdk/amd64/ketypes.h @@ -67,31 +67,6 @@ #define AMD64_INTERRUPT_GATE 0xE #define AMD64_TRAP_GATE 0xF -/* EFLAGS bits definitions */ -#define EFLAGS_NF_MASK 0x00000000L /* None */ -#define EFLAGS_CF_MASK 0x00000001L /* Carry */ -#define EFLAGS_PF_MASK 0x00000004L /* Parity */ -#define EFLAGS_AF_MASK 0x00000010L /* Aux Carry */ -#define EFLAGS_ZF_MASK 0x00000040L /* Zero */ -#define EFLAGS_SF_MASK 0x00000080L /* Sign */ -#define EFLAGS_TF 0x00000100L /* Trap */ -#define EFLAGS_INTERRUPT_MASK 0x00000200L /* Interrupt */ -#define EFLAGS_DF_MASK 0x00000400L /* Direction */ -#define EFLAGS_OF_MASK 0x00000800L /* Overflow */ -#define EFLAGS_IOPL_MASK 0x00003000L /* I/O Privilege */ -#define EFLAGS_NT 0x00004000L /* Nested Task */ -#define EFLAGS_SIGN_MASK 0x00008000L /* Sign */ -#define EFLAGS_RF 0x00010000L /* Resume */ -#define EFLAGS_V86_MASK 0x00020000L /* Virtual 8086 */ -#define EFLAGS_ALIGN_CHECK 0x00040000L /* Alignment Check */ -#define EFLAGS_VIF 0x00080000L /* Virtual Interrupt */ -#define EFLAGS_VIP 0x00100000L /* Virtual Interrupt Pending */ -#define EFLAGS_ID_MASK 0x00200000L /* Identification */ - -/* EFLAGS sanitize masks */ -#define EFLAGS_KERNELMODE 0x00210FD5L -#define EFLAGS_USERMODE 0x00010DD5L - /* Context control flags */ #define CONTEXT_ARCHITECTURE 0x00100000 #define CONTEXT_CONTROL (CONTEXT_ARCHITECTURE | 0x01) diff --git a/sdk/xtdk/i686/artypes.h b/sdk/xtdk/i686/artypes.h index 4059286..0414265 100644 --- a/sdk/xtdk/i686/artypes.h +++ b/sdk/xtdk/i686/artypes.h @@ -62,6 +62,27 @@ #define SEGMENT_FS 0x64 #define SEGMENT_GS 0x65 +/* X86 EFLAG bit masks definitions */ +#define X86_EFLAGS_NF_MASK 0x00000000 /* None */ +#define X86_EFLAGS_CF_MASK 0x00000001 /* Carry */ +#define X86_EFLAGS_PF_MASK 0x00000004 /* Parity */ +#define X86_EFALGS_AF_MASK 0x00000010 /* Aux Carry */ +#define X86_EFLAGS_ZF_MASK 0x00000040 /* Zero */ +#define X86_EFLAGS_SF_MASK 0x00000080 /* Sign */ +#define X86_EFLAGS_TF_MASK 0x00000100 /* Trap */ +#define X86_EFLAGS_IF_MASK 0x00000200 /* Interrupt */ +#define X86_EFLAGS_DF_MASK 0x00000400 /* Direction */ +#define X86_EFLAGS_OF_MASK 0x00000800 /* Overflow */ +#define X86_EFLAGS_IOPL_MASK 0x00003000 /* I/O Privilege */ +#define X86_EFLAGS_NT_MASK 0x00004000 /* Nested Task */ +#define X86_EFLAGS_SIGN_MASK 0x00008000 /* Sign */ +#define X86_EFLAGS_RF_MASK 0x00010000 /* Resume */ +#define X86_EFLAGS_V86_MASK 0x00020000 /* Virtual 8086 */ +#define X86_EFLAGS_AC_MASK 0x00040000 /* Alignment Check */ +#define X86_EFLAGS_VIF_MASK 0x00080000 /* Virtual Interrupt */ +#define X86_EFLAGS_VIP_MASK 0x00100000 /* Virtual Interrupt Pending */ +#define X86_EFLAGS_ID_MASK 0x00200000 /* Identification */ + /* CPU vendor enumeration list */ typedef enum _CPU_VENDOR { diff --git a/sdk/xtdk/i686/ketypes.h b/sdk/xtdk/i686/ketypes.h index 16d20ef..be1feba 100644 --- a/sdk/xtdk/i686/ketypes.h +++ b/sdk/xtdk/i686/ketypes.h @@ -95,31 +95,6 @@ #define I686_INTERRUPT_GATE 0xE #define I686_TRAP_GATE 0xF -/* EFlags bits definitions */ -#define EFLAGS_NF_MASK 0x00000000L /* None */ -#define EFLAGS_CF_MASK 0x00000001L /* Carry */ -#define EFLAGS_PF_MASK 0x00000004L /* Parity */ -#define EFLAGS_AF_MASK 0x00000010L /* Aux Carry */ -#define EFLAGS_ZF_MASK 0x00000040L /* Zero */ -#define EFLAGS_SF_MASK 0x00000080L /* Sign */ -#define EFLAGS_TF 0x00000100L /* Trap */ -#define EFLAGS_INTERRUPT_MASK 0x00000200L /* Interrupt */ -#define EFLAGS_DF_MASK 0x00000400L /* Direction */ -#define EFLAGS_OF_MASK 0x00000800L /* Overflow */ -#define EFLAGS_IOPL_MASK 0x00003000L /* I/O Privilege */ -#define EFLAGS_NT 0x00004000L /* Nested Task */ -#define EFLAGS_SIGN_MASK 0x00008000L /* Sign */ -#define EFLAGS_RF 0x00010000L /* Resume */ -#define EFLAGS_V86_MASK 0x00020000L /* Virtual 8086 */ -#define EFLAGS_ALIGN_CHECK 0x00040000L /* Alignment Check */ -#define EFLAGS_VIF 0x00080000L /* Virtual Interrupt */ -#define EFLAGS_VIP 0x00100000L /* Virtual Interrupt Pending */ -#define EFLAGS_ID_MASK 0x00200000L /* Identification */ - -/* EFLAGS sanitize masks */ -#define EFLAGS_KERNELMODE 0x003F0FD7L -#define EFLAGS_USERMODE 0x003F4DD7L - /* Context control flags */ #define CONTEXT_ARCHITECTURE 0x00010000 #define CONTEXT_CONTROL (CONTEXT_ARCHITECTURE | 0x01)