Author: tkreuzer
Date: Fri Aug 22 07:20:01 2008
New Revision: 35527
URL:
http://svn.reactos.org/svn/reactos?rev=35527&view=rev
Log:
Fix handling of stack
Modified:
branches/ros-amd64-bringup/reactos/ntoskrnl/ke/amd64/boot.S
branches/ros-amd64-bringup/reactos/ntoskrnl/ke/amd64/kiinit.c
Modified: branches/ros-amd64-bringup/reactos/ntoskrnl/ke/amd64/boot.S
URL:
http://svn.reactos.org/svn/reactos/branches/ros-amd64-bringup/reactos/ntosk…
==============================================================================
--- 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] Fri Aug 22
07:20:01 2008
@@ -50,6 +50,7 @@
/* Setup the new stack */
mov rsp, r8
+ sub rsp, 0x300 // FIXME
/* Copy stack parameters to the new stack */
sub rsp, 0x38
Modified: branches/ros-amd64-bringup/reactos/ntoskrnl/ke/amd64/kiinit.c
URL:
http://svn.reactos.org/svn/reactos/branches/ros-amd64-bringup/reactos/ntosk…
==============================================================================
--- branches/ros-amd64-bringup/reactos/ntoskrnl/ke/amd64/kiinit.c [iso-8859-1] (original)
+++ branches/ros-amd64-bringup/reactos/ntoskrnl/ke/amd64/kiinit.c [iso-8859-1] Fri Aug 22
07:20:01 2008
@@ -694,6 +694,9 @@
InitialStack = LoaderBlock->KernelStack; // Chekme
InitialThread = (PKTHREAD)LoaderBlock->Thread;
+ /* Align stack to 16 bytes */
+ InitialStack &= ~(16 - 1);
+
/* Clean the APC List Head */
InitializeListHead(&InitialThread->ApcState.ApcListHead[KernelMode]);
@@ -784,10 +787,6 @@
/* Raise to HIGH_LEVEL */
KfRaiseIrql(HIGH_LEVEL);
-
- /* Align stack and make space for the trap frame */
- InitialStack -= sizeof(KTRAP_FRAME) + 0x100; // FIXME
- InitialStack &= ~(16 - 1);
/* Switch to new kernel stack and start kernel bootstrapping */
KiSetupStackAndInitializeKernel(&KiInitialProcess.Pcb,