[ros-diffs] [tkreuzer] 35324: Update add KGDTENTRY64 and KIDTENTRY64 to replace KGDTENTRY and KIDTENTRY, remove FNSAVE_FORMAT, FXSAVE_FORMAT and FX_SAVE_AREA

tkreuzer at svn.reactos.org tkreuzer at svn.reactos.org
Thu Aug 14 02:24:47 CEST 2008


Author: tkreuzer
Date: Wed Aug 13 19:24:46 2008
New Revision: 35324

URL: http://svn.reactos.org/svn/reactos?rev=35324&view=rev
Log:
Update add KGDTENTRY64 and KIDTENTRY64 to replace KGDTENTRY and KIDTENTRY, remove FNSAVE_FORMAT, FXSAVE_FORMAT and FX_SAVE_AREA

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=35324&r1=35323&r2=35324&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] Wed Aug 13 19:24:46 2008
@@ -254,34 +254,42 @@
 //
 // GDT Entry Definition
 //
-typedef struct _KGDTENTRY
-{
-    USHORT LimitLow;
-    USHORT BaseLow;
-    union
-    {
-        struct
+typedef union _KGDTENTRY64
+{
+    struct
+    {
+        USHORT LimitLow;
+        USHORT BaseLow;
+        union
         {
-            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;
-} KGDTENTRY, *PKGDTENTRY;
+            struct
+            {
+                UCHAR BaseMiddle;
+                UCHAR Flags1;
+                UCHAR Flags2;
+                UCHAR BaseHigh;
+            } Bytes;
+            struct
+            {
+                ULONG BaseMiddle:8;
+                ULONG Type:5;
+                ULONG Dpl:2;
+                ULONG Present:1;
+                ULONG LimitHigh:4;
+                ULONG System:1;
+                ULONG LongMode:1;
+                ULONG DefaultBig:1;
+                ULONG Granularity:1;
+                ULONG BaseHigh:8;
+            } Bits;
+        };
+        ULONG BaseUpper;
+        ULONG MustBeZero;
+    };
+    UINT64 Alignment;
+} KGDTENTRY64, *PKGDTENTRY64;
+#define KGDTENTRY KGDTENTRY64
+#define PKGDTENTRY PKGDTENTRY64
 
 //
 // IDT Entry Access Definition
@@ -305,13 +313,25 @@
 //
 // IDT Entry Definition
 //
-typedef struct _KIDTENTRY
-{
-    USHORT Offset;
-    USHORT Selector;
-    USHORT Access;
-    USHORT ExtendedOffset;
-} KIDTENTRY, *PKIDTENTRY;
+typedef union _KIDTENTRY64
+{
+    struct
+    {
+        USHORT OffsetLow;
+        USHORT Selector;
+        USHORT IstIndex:3;
+        USHORT Reserved0:5;
+        USHORT Type:5;
+        USHORT Dpl:2;
+        USHORT Present:1;
+        USHORT OffsetMiddle;
+        ULONG OffsetHigh;
+        ULONG Reserved1;
+    };
+    UINT64 Alignment;
+} KIDTENTRY64, *PKIDTENTRY64;
+#define KIDTENTRY KIDTENTRY64
+#define PKIDTENTRY PKIDTENTRY64
 
 typedef struct _KDESCRIPTOR
 {
@@ -321,50 +341,6 @@
 } KDESCRIPTOR, *PKDESCRIPTOR;
 
 #ifndef NTOS_MODE_USER
-
-//
-// FN/FX (FPU) Save Area Structures
-//
-typedef struct _FNSAVE_FORMAT
-{
-    ULONG ControlWord;
-    ULONG StatusWord;
-    ULONG TagWord;
-    ULONG ErrorOffset;
-    ULONG ErrorSelector;
-    ULONG DataOffset;
-    ULONG DataSelector;
-    UCHAR RegisterArea[80];
-} FNSAVE_FORMAT, *PFNSAVE_FORMAT;
-
-typedef struct _FXSAVE_FORMAT
-{
-    USHORT ControlWord;
-    USHORT StatusWord;
-    USHORT TagWord;
-    USHORT ErrorOpcode;
-    ULONG ErrorOffset;
-    ULONG ErrorSelector;
-    ULONG DataOffset;
-    ULONG DataSelector;
-    ULONG MXCsr;
-    ULONG MXCsrMask;
-    UCHAR RegisterArea[128];
-    UCHAR Reserved3[128];
-    UCHAR Reserved4[224];
-    UCHAR Align16Byte[8];
-} FXSAVE_FORMAT, *PFXSAVE_FORMAT;
-
-typedef struct _FX_SAVE_AREA
-{
-    union
-    {
-        FNSAVE_FORMAT FnArea;
-        FXSAVE_FORMAT FxArea;
-    } U;
-    ULONG NpxSavedCpu;
-    ULONG Cr0NpxState;
-} FX_SAVE_AREA, *PFX_SAVE_AREA;
 
 //
 // Special Registers Structure (outside of CONTEXT)



More information about the Ros-diffs mailing list