aboutsummaryrefslogtreecommitdiffstats
path: root/arch/x86/include/asm/switch_to.h
diff options
context:
space:
mode:
Diffstat (limited to 'arch/x86/include/asm/switch_to.h')
-rw-r--r--arch/x86/include/asm/switch_to.h4
1 files changed, 1 insertions, 3 deletions
diff --git a/arch/x86/include/asm/switch_to.h b/arch/x86/include/asm/switch_to.h
index 751bf4b7bf11..8f321a1b03a1 100644
--- a/arch/x86/include/asm/switch_to.h
+++ b/arch/x86/include/asm/switch_to.h
@@ -39,8 +39,7 @@ do { \
39 */ \ 39 */ \
40 unsigned long ebx, ecx, edx, esi, edi; \ 40 unsigned long ebx, ecx, edx, esi, edi; \
41 \ 41 \
42 asm volatile("pushfl\n\t" /* save flags */ \ 42 asm volatile("pushl %%ebp\n\t" /* save EBP */ \
43 "pushl %%ebp\n\t" /* save EBP */ \
44 "movl %%esp,%[prev_sp]\n\t" /* save ESP */ \ 43 "movl %%esp,%[prev_sp]\n\t" /* save ESP */ \
45 "movl %[next_sp],%%esp\n\t" /* restore ESP */ \ 44 "movl %[next_sp],%%esp\n\t" /* restore ESP */ \
46 "movl $1f,%[prev_ip]\n\t" /* save EIP */ \ 45 "movl $1f,%[prev_ip]\n\t" /* save EIP */ \
@@ -49,7 +48,6 @@ do { \
49 "jmp __switch_to\n" /* regparm call */ \ 48 "jmp __switch_to\n" /* regparm call */ \
50 "1:\t" \ 49 "1:\t" \
51 "popl %%ebp\n\t" /* restore EBP */ \ 50 "popl %%ebp\n\t" /* restore EBP */ \
52 "popfl\n" /* restore flags */ \
53 \ 51 \
54 /* output parameters */ \ 52 /* output parameters */ \
55 : [prev_sp] "=m" (prev->thread.sp), \ 53 : [prev_sp] "=m" (prev->thread.sp), \