Author: tkreuzer Date: Mon Oct 27 08:00:44 2008 New Revision: 37019
URL: http://svn.reactos.org/svn/reactos?rev=37019&view=rev Log: On x64 the 64 bit ring3 teb (gs) shares the generic 64 bit data selector, while the 32 bit teb (fs) has it's own selector.
Modified: branches/ros-amd64-bringup/reactos/dll/win32/kernel32/misc/utils.c
Modified: branches/ros-amd64-bringup/reactos/dll/win32/kernel32/misc/utils.c URL: http://svn.reactos.org/svn/reactos/branches/ros-amd64-bringup/reactos/dll/wi... ============================================================================== --- branches/ros-amd64-bringup/reactos/dll/win32/kernel32/misc/utils.c [iso-8859-1] (original) +++ branches/ros-amd64-bringup/reactos/dll/win32/kernel32/misc/utils.c [iso-8859-1] Mon Oct 27 08:00:44 2008 @@ -386,12 +386,12 @@ /* The other registers are undefined */
/* Setup the Segments */ - Context->SegFs = KGDT_64_R3_TEB | RPL_MASK; + Context->SegGs = KGDT_64_DATA | RPL_MASK; Context->SegEs = KGDT_64_DATA | RPL_MASK; Context->SegDs = KGDT_64_DATA | RPL_MASK; Context->SegCs = KGDT_64_R3_CODE | RPL_MASK; Context->SegSs = KGDT_64_DATA | RPL_MASK; - Context->SegGs = 0; + Context->SegFs = KGDT_32_R3_TEB;
/* Set the EFLAGS */ Context->EFlags = 0x3000; /* IOPL 3 */