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/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] 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