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

svn path=/branches/ros-amd64-bringup/; revision=39074
This commit is contained in:
Timo Kreuzer
2009-01-25 01:17:04 +00:00
parent a8d4d9d5c5
commit 3e88b3778e
2 changed files with 5 additions and 9 deletions
+2
View File
@@ -49,6 +49,8 @@ _KiSetupStackAndInitializeKernel:
mov rsi, rsp
/* Setup the new stack */
mov ax, 0x18
mov ss, ax
mov rsp, r8
sub rsp, 0x300 // FIXME
+3 -9
View File
@@ -107,14 +107,7 @@ KiDispatchException(IN PEXCEPTION_RECORD ExceptionRecord,
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 @@ KiDispatchException(IN PEXCEPTION_RECORD ExceptionRecord,
case STATUS_BREAKPOINT:
/* Decrement RIP by one */
Context.Rip--;
// FIXME: that doesn't work, why?
// Context.Rip--;
break;
/* Internal exception */