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/includ... ============================================================================== --- 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)