diff options
author | Richard Braun <rbraun@sceen.net> | 2012-12-31 01:20:11 +0100 |
---|---|---|
committer | Richard Braun <rbraun@sceen.net> | 2012-12-31 01:20:11 +0100 |
commit | 9cdb5250e78b7cf7c6cd9e471bcdf456fb6dd9cc (patch) | |
tree | f02735941365678e7467ad244bd0f78e945c9d8d | |
parent | 75955f0983858ee57ea1c47e986c92479f1b19e7 (diff) |
x86/boot: minor fixes to improve stack tracing
-rw-r--r-- | arch/x86/machine/boot_asm.S | 12 |
1 files changed, 6 insertions, 6 deletions
diff --git a/arch/x86/machine/boot_asm.S b/arch/x86/machine/boot_asm.S index 0b08353d..fc8ab5e2 100644 --- a/arch/x86/machine/boot_asm.S +++ b/arch/x86/machine/boot_asm.S @@ -59,7 +59,6 @@ ASM_ENTRY(_start) 1: movl $(boot_stack - KERNEL_OFFSET + BOOT_STACK_SIZE), %esp - movl %esp, %ebp #ifdef __LP64__ call boot_check_long_mode @@ -87,7 +86,7 @@ ASM_ENTRY(_start) #ifdef __LP64__ .code64 movq $(boot_stack + BOOT_STACK_SIZE), %rsp - movq %rsp, %rbp + xorq %rbp, %rbp .code32 #else /* __LP64__ */ movl %cr0, %eax @@ -97,12 +96,13 @@ ASM_ENTRY(_start) 1: movl $(boot_stack + BOOT_STACK_SIZE), %esp - movl %esp, %ebp + xorl %ebp, %ebp #endif /* __LP64__ */ call boot_main /* Never reached */ + nop ASM_END(_start) ASM_DATA(boot_gdtr) @@ -209,7 +209,6 @@ ASM_ENTRY(boot_ap_start32) 1: movl $(boot_ap_stack + BOOT_STACK_SIZE), %esp - movl %esp, %ebp #ifdef __LP64__ call boot_setup_long_mode @@ -237,17 +236,18 @@ ASM_ENTRY(boot_ap_start32) .code64 movq boot_ap_stack_addr, %rsp addq $BOOT_STACK_SIZE, %rsp - movq %rsp, %rbp + xorq %rbp, %rbp .code32 #else /* __LP64__ */ movl boot_ap_stack_addr, %esp addl $BOOT_STACK_SIZE, %esp - movl %esp, %ebp + xorl %ebp, %ebp #endif /* __LP64__ */ call boot_ap_main /* Never reached */ + nop ASM_END(boot_ap_start32) /* |