aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--arch/i386/kernel/entry.S6
1 files changed, 4 insertions, 2 deletions
diff --git a/arch/i386/kernel/entry.S b/arch/i386/kernel/entry.S
index d7423efaeea4..0220bc8cbb43 100644
--- a/arch/i386/kernel/entry.S
+++ b/arch/i386/kernel/entry.S
@@ -457,6 +457,7 @@ work_resched:
457 457
458work_notifysig: # deal with pending signals and 458work_notifysig: # deal with pending signals and
459 # notify-resume requests 459 # notify-resume requests
460#ifdef CONFIG_VM86
460 testl $VM_MASK, PT_EFLAGS(%esp) 461 testl $VM_MASK, PT_EFLAGS(%esp)
461 movl %esp, %eax 462 movl %esp, %eax
462 jne work_notifysig_v86 # returning to kernel-space or 463 jne work_notifysig_v86 # returning to kernel-space or
@@ -467,17 +468,18 @@ work_notifysig: # deal with pending signals and
467 468
468 ALIGN 469 ALIGN
469work_notifysig_v86: 470work_notifysig_v86:
470#ifdef CONFIG_VM86
471 pushl %ecx # save ti_flags for do_notify_resume 471 pushl %ecx # save ti_flags for do_notify_resume
472 CFI_ADJUST_CFA_OFFSET 4 472 CFI_ADJUST_CFA_OFFSET 4
473 call save_v86_state # %eax contains pt_regs pointer 473 call save_v86_state # %eax contains pt_regs pointer
474 popl %ecx 474 popl %ecx
475 CFI_ADJUST_CFA_OFFSET -4 475 CFI_ADJUST_CFA_OFFSET -4
476 movl %eax, %esp 476 movl %eax, %esp
477#else
478 movl %esp, %eax
479#endif
477 xorl %edx, %edx 480 xorl %edx, %edx
478 call do_notify_resume 481 call do_notify_resume
479 jmp resume_userspace_sig 482 jmp resume_userspace_sig
480#endif
481 483
482 # perform syscall exit tracing 484 # perform syscall exit tracing
483 ALIGN 485 ALIGN