[NDK]
[reactos.git] / reactos / include / ndk / amd64 / ketypes.h
index fdd2d86..8e4d421 100644 (file)
@@ -58,12 +58,15 @@ Author:
 //
 #define RPL_MASK                0x0003
 #define MODE_MASK               0x0001
-#define KGDT_64_R0_CODE         0x0010
-#define KGDT_64_R0_SS           0x0018
-#define KGDT_64_DATA            0x0028 // 2b
-#define KGDT_64_R3_CODE         0x0030 // 33
-#define KGDT_TSS                0x0040
-#define KGDT_32_R3_TEB          0x0050 // 53
+#define KGDT64_NULL             0x0000
+#define KGDT64_R0_CODE          0x0010
+#define KGDT64_R0_DATA          0x0018
+#define KGDT64_R3_CMCODE        0x0020
+#define KGDT64_R3_DATA          0x0028
+#define KGDT64_R3_CODE          0x0030
+#define KGDT64_SYS_TSS          0x0040
+#define KGDT64_R3_CMTEB         0x0050
+
 
 //
 // CR4
@@ -82,24 +85,19 @@ Author:
 //
 // EFlags
 //
-#define EFLAGS_CF               0x01
-#define EFLAGS_PF               0x04
-#define EFLAGS_AF               0x10
-#define EFLAGS_ZF               0x40
-#define EFLAGS_SF               0x80
-#define EFLAGS_TF               0x100
-#define EFLAGS_INTERRUPT_MASK   0x200
-#define EFLAGS_DF               0x400
-#define EFLAGS_OF               0x800
-#define EFLAGS_IOPL_MASK        0x3000
-#define EFLAGS_NESTED_TASK      0x4000
-#define EFLAGS_RF               0x10000
-#define EFLAGS_VM               0x20000
+#define EFLAGS_CF               0x01L
+#define EFLAGS_ZF               0x40L
+#define EFLAGS_TF               0x100L
+#define EFLAGS_INTERRUPT_MASK   0x200L
+#define EFLAGS_DF               0x400L
+#define EFLAGS_NESTED_TASK      0x4000L
+#define EFLAGS_V86_MASK         0x20000
 #define EFLAGS_ALIGN_CHECK      0x40000
 #define EFLAGS_VIF              0x80000
 #define EFLAGS_VIP              0x100000
-#define EFLAGS_ID               0x200000
 #define EFLAGS_USER_SANITIZE    0x3F4DD7
+#define EFLAG_SIGN              0x8000
+#define EFLAG_ZERO              0x4000
 
 //
 // IPI Types
@@ -255,10 +253,7 @@ typedef struct _KCALLOUT_FRAME
 //
 // Dummy LDT_ENTRY
 //
-#ifndef _LDT_ENTRY_DEFINED
-#define _LDT_ENTRY_DEFINED
 typedef ULONG LDT_ENTRY;
-#endif
 
 //
 // GDT Entry Definition
@@ -829,41 +824,9 @@ typedef struct _KTSS64
 #define PKTSS PKTSS64
 
 //
-// KEXCEPTION_FRAME
+// i386 CPUs don't have exception frames
 //
-typedef struct _KEXCEPTION_FRAME
-{
-    UINT64 P1Home;
-    UINT64 P2Home;
-    UINT64 P3Home;
-    UINT64 P4Home;
-    UINT64 P5;
-    UINT64 InitialStack;
-    M128A Xmm6;
-    M128A Xmm7;
-    M128A Xmm8;
-    M128A Xmm9;
-    M128A Xmm10;
-    M128A Xmm11;
-    M128A Xmm12;
-    M128A Xmm13;
-    M128A Xmm14;
-    M128A Xmm15;
-    UINT64 TrapFrame;
-    UINT64 CallbackStack;
-    UINT64 OutputBuffer;
-    UINT64 OutputLength;
-    UINT64 MxCsr;
-    UINT64 Rbp;
-    UINT64 Rbx;
-    UINT64 Rdi;
-    UINT64 Rsi;
-    UINT64 R12;
-    UINT64 R13;
-    UINT64 R14;
-    UINT64 R15;
-    UINT64 Return;
-} KEXCEPTION_FRAME, *PKEXCEPTION_FRAME;
+typedef struct _KEXCEPTION_FRAME KEXCEPTION_FRAME, *PKEXCEPTION_FRAME;
 
 //
 // Inline function to get current KPRCB