[ros-diffs] [tkreuzer] 35527: Fix handling of stack
tkreuzer at svn.reactos.org
tkreuzer at svn.reactos.org
Fri Aug 22 14:20:02 CEST 2008
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/ntoskrnl/ke/amd64/boot.S?rev=35527&r1=35526&r2=35527&view=diff
==============================================================================
--- 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/ntoskrnl/ke/amd64/kiinit.c?rev=35527&r1=35526&r2=35527&view=diff
==============================================================================
--- 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,
More information about the Ros-diffs
mailing list