aboutsummaryrefslogtreecommitdiff
path: root/arch/x86/boot/compressed/head_32.S
diff options
context:
space:
mode:
Diffstat (limited to 'arch/x86/boot/compressed/head_32.S')
-rw-r--r--arch/x86/boot/compressed/head_32.S10
1 files changed, 4 insertions, 6 deletions
diff --git a/arch/x86/boot/compressed/head_32.S b/arch/x86/boot/compressed/head_32.S
index 59425e157df..d7245cf8026 100644
--- a/arch/x86/boot/compressed/head_32.S
+++ b/arch/x86/boot/compressed/head_32.S
@@ -88,6 +88,9 @@ ENTRY(startup_32)
addl $4095, %ebx
andl $~4095, %ebx
+ /* Set up the stack */
+ leal boot_stack_end(%ebx), %esp
+
/*
* Copy the compressed kernel to the end of our buffer
* where decompression in place becomes safe.
@@ -122,7 +125,7 @@ ENDPROC(startup_32)
relocated:
/*
- * Clear BSS
+ * Clear BSS (stack is currently empty)
*/
xorl %eax, %eax
leal _bss(%ebx), %edi
@@ -132,11 +135,6 @@ relocated:
rep stosb
/*
- * Setup the stack for the decompressor
- */
- leal boot_stack_end(%ebx), %esp
-
-/*
* Do the decompression, and jump to the new kernel..
*/
movl output_len(%ebx), %eax