[ros-diffs] [tkreuzer] 35436: - Remove obsolete LDT_ENTRY - replace KTSS with KTSS64 - update some KGDT_xxx constants

tkreuzer at svn.reactos.org tkreuzer at svn.reactos.org
Mon Aug 18 23:50:55 CEST 2008


Author: tkreuzer
Date: Mon Aug 18 16:50:55 2008
New Revision: 35436

URL: http://svn.reactos.org/svn/reactos?rev=35436&view=rev
Log:
- Remove obsolete LDT_ENTRY
- replace KTSS with KTSS64
- update some KGDT_xxx constants

Modified:
    branches/ros-amd64-bringup/reactos/include/ndk/amd64/ketypes.h

Modified: branches/ros-amd64-bringup/reactos/include/ndk/amd64/ketypes.h
URL: http://svn.reactos.org/svn/reactos/branches/ros-amd64-bringup/reactos/include/ndk/amd64/ketypes.h?rev=35436&r1=35435&r2=35436&view=diff
==============================================================================
--- branches/ros-amd64-bringup/reactos/include/ndk/amd64/ketypes.h [iso-8859-1] (original)
+++ branches/ros-amd64-bringup/reactos/include/ndk/amd64/ketypes.h [iso-8859-1] Mon Aug 18 16:50:55 2008
@@ -58,16 +58,13 @@
 //
 #define RPL_MASK                0x0003
 #define MODE_MASK               0x0001
-#define KGDT_R0_CODE            0x8
-#define KGDT_R0_DATA            0x10
-#define KGDT_R3_CODE            0x18
-#define KGDT_R3_DATA            0x20
-#define KGDT_TSS                0x28
-#define KGDT_R0_PCR             0x30
-#define KGDT_R3_TEB             0x38
-#define KGDT_LDT                0x48
-#define KGDT_DF_TSS             0x50
-#define KGDT_NMI_TSS            0x58
+#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_32_R3_TEB          0x0050 // 53
+
+#define KGDT_TSS 0x0038 // ??
 
 //
 // CR4
@@ -216,40 +213,6 @@
     LONG CodePatchCycle;
 } KTRAP_FRAME, *PKTRAP_FRAME;
 
-//
-// LDT Entry Definition
-//
-#ifndef _LDT_ENTRY_DEFINED
-#define _LDT_ENTRY_DEFINED
-typedef struct _LDT_ENTRY
-{
-    USHORT LimitLow;
-    USHORT BaseLow;
-    union
-    {
-        struct
-        {
-            UCHAR BaseMid;
-            UCHAR Flags1;
-            UCHAR Flags2;
-            UCHAR BaseHi;
-        } Bytes;
-        struct
-        {
-            ULONG BaseMid:8;
-            ULONG Type:5;
-            ULONG Dpl:2;
-            ULONG Pres:1;
-            ULONG LimitHi:4;
-            ULONG Sys:1;
-            ULONG Reserved_0:1;
-            ULONG Default_Big:1;
-            ULONG Granularity:1;
-            ULONG BaseHi:8;
-        } Bits;
-    } HighWord;
-} LDT_ENTRY, *PLDT_ENTRY, *LPLDT_ENTRY;
-#endif
 
 //
 // GDT Entry Definition
@@ -802,44 +765,22 @@
     UCHAR IoMap[8196];
 } KIIO_ACCESS_MAP;
 
-typedef struct _KTSS
-{
-    USHORT Backlink;
-    USHORT Reserved0;
-    ULONG Esp0;
-    USHORT Ss0;
-    USHORT Reserved1;
-    ULONG NotUsed1[4];
-    ULONG CR3;
-    ULONG Eip;
-    ULONG EFlags;
-    ULONG Eax;
-    ULONG Ecx;
-    ULONG Edx;
-    ULONG Ebx;
-    ULONG Esp;
-    ULONG Ebp;
-    ULONG Esi;
-    ULONG Edi;
-    USHORT Es;
-    USHORT Reserved2;
-    USHORT Cs;
-    USHORT Reserved3;
-    USHORT Ss;
-    USHORT Reserved4;
-    USHORT Ds;
-    USHORT Reserved5;
-    USHORT Fs;
-    USHORT Reserved6;
-    USHORT Gs;
-    USHORT Reserved7;
-    USHORT LDT;
-    USHORT Reserved8;
-    USHORT Flags;
-    USHORT IoMapBase;
-    KIIO_ACCESS_MAP IoMaps[1];
-    UCHAR IntDirectionMap[32];
-} KTSS, *PKTSS;
+
+#pragma pack(push,4)
+typedef struct _KTSS64
+{
+ /* 000 */  ULONG Reserved0;
+ /* 004 */  UINT64 Rsp0;
+ /* 00c */  UINT64 Rsp1;
+ /* 014 */  UINT64 Rsp2;
+ /* 01c */  UINT64 Ist[8];
+ /* 05c */  UINT64 Reserved1;
+ /* 064 */  USHORT Reserved2;
+ /* 066 */  USHORT IoMapBase;
+} KTSS64, *PKTSS64;
+#pragma pack(pop)
+#define KTSS KTSS64
+#define PKTSS PKTSS64
 
 //
 // i386 CPUs don't have exception frames



More information about the Ros-diffs mailing list