Fix handling of stack

svn path=/branches/ros-amd64-bringup/; revision=35527
This commit is contained in:
Timo Kreuzer
2008-08-22 12:20:01 +00:00
parent cecff4323b
commit c5cef89ee9
2 changed files with 4 additions and 4 deletions
+1
View File
@@ -50,6 +50,7 @@ _KiSetupStackAndInitializeKernel:
/* Setup the new stack */
mov rsp, r8
sub rsp, 0x300 // FIXME
/* Copy stack parameters to the new stack */
sub rsp, 0x38
+3 -4
View File
@@ -694,6 +694,9 @@ KiSystemStartupReal(IN PLOADER_PARAMETER_BLOCK LoaderBlock)
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]);
@@ -785,10 +788,6 @@ FrLdrDbgPrint("Gdt = %p, Idt = %p, Pcr = %p, Tss = %p\n", Gdt, Idt, Pcr, Tss);
/* 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,
InitialThread,