3 extern __STACK_BOTTOM__
8 ; Here, the stack will look like:
9 ; return address, map pointer, map size.
11 ; Skip the return address.
13 ; Save the kernel arguments.
14 ; Can this be done without the global variables?
16 pop dword [e820_map_size]
18 ; Do the stack switch.
19 mov ebp, __STACK_BOTTOM__
21 ; Restore the kernel arguments.
22 push dword [e820_map_size]
24 ; Call the actual kernel.
29 ; Temporarily save arguments here to survive the upcoming stack switch.