2 * FILE: ntoskrnl/ke/i386/boot.S
3 * COPYRIGHT: See COPYING in the top level directory
4 * PURPOSE: FreeLDR Wrapper Bootstrap Code and Bootstrap Trampoline
5 * PROGRAMMERs: Alex Ionescu (alex@relsoft.net)
6 * Thomas Weidenmueller <w3seek@reactos.org>
9 /* INCLUDES ******************************************************************/
11 #include <reactos/asm.h>
12 #include <ndk/amd64/asm.h>
14 EXTERN KiInitializeKernelAndGotoIdleLoop:PROC
16 /* GLOBALS *******************************************************************/
19 /* FUNCTIONS *****************************************************************/
26 * KiSetupStackAndInitializeKernel(
27 * IN PKPROCESS InitProcess, <rsp + 0x08, rcx>
28 * IN PKTHREAD InitThread, <rsp + 0x10, rdx>
29 * IN PVOID IdleStack, <rsp + 0x18, r8>
30 * IN PKPRCB Prcb, <rsp + 0x20, r9>
31 * IN CCHAR Number, <rsp + 0x28>
32 * IN PLOADER_PARAMETER_BLOCK LoaderBlock) <rsp + 0x30>
34 PUBLIC KiSetupStackAndInitializeKernel
35 .PROC KiSetupStackAndInitializeKernel
37 /* Save current stack */
40 /* Setup the new stack */
44 sub rsp, HEX(300) // FIXME
46 /* Copy stack parameters to the new stack */
59 jmp KiInitializeKernelAndGotoIdleLoop
61 .ENDP KiSetupStackAndInitializeKernel