Author: tkreuzer Date: Sat Jan 24 19:17:04 2009 New Revision: 39074
URL: http://svn.reactos.org/svn/reactos?rev=39074&view=rev Log: ntoskrnl/Ke: setup stack segment selector in KeSetupsStackAndInitializeKernel, comment out decrement of Rip on int3 dispatch (needs further investigation), use CONTEXT_ALL flags when creating the CONTEXT from the trap frame in KeDispatchException
Modified: branches/ros-amd64-bringup/reactos/ntoskrnl/ke/amd64/boot.S branches/ros-amd64-bringup/reactos/ntoskrnl/ke/amd64/except.c
Modified: branches/ros-amd64-bringup/reactos/ntoskrnl/ke/amd64/boot.S URL: http://svn.reactos.org/svn/reactos/branches/ros-amd64-bringup/reactos/ntoskr... ============================================================================== --- branches/ros-amd64-bringup/reactos/ntoskrnl/ke/amd64/boot.S [iso-8859-1] (original) +++ branches/ros-amd64-bringup/reactos/ntoskrnl/ke/amd64/boot.S [iso-8859-1] Sat Jan 24 19:17:04 2009 @@ -49,6 +49,8 @@ mov rsi, rsp
/* Setup the new stack */ + mov ax, 0x18 + mov ss, ax mov rsp, r8 sub rsp, 0x300 // FIXME
Modified: branches/ros-amd64-bringup/reactos/ntoskrnl/ke/amd64/except.c URL: http://svn.reactos.org/svn/reactos/branches/ros-amd64-bringup/reactos/ntoskr... ============================================================================== --- branches/ros-amd64-bringup/reactos/ntoskrnl/ke/amd64/except.c [iso-8859-1] (original) +++ branches/ros-amd64-bringup/reactos/ntoskrnl/ke/amd64/except.c [iso-8859-1] Sat Jan 24 19:17:04 2009 @@ -107,14 +107,7 @@ KeGetCurrentPrcb()->KeExceptionDispatchCount++;
/* Set the context flags */ - Context.ContextFlags = CONTEXT_FULL | CONTEXT_DEBUG_REGISTERS; - - /* Check if User Mode or if the debugger is enabled */ - if ((PreviousMode == UserMode) || (KdDebuggerEnabled)) - { - /* Add the FPU Flag */ - Context.ContextFlags |= CONTEXT_FLOATING_POINT; - } + Context.ContextFlags = CONTEXT_ALL;
/* Get a Context */ KeTrapFrameToContext(TrapFrame, ExceptionFrame, &Context); @@ -126,7 +119,8 @@ case STATUS_BREAKPOINT:
/* Decrement RIP by one */ - Context.Rip--; + // FIXME: that doesn't work, why? +// Context.Rip--; break;
/* Internal exception */