|
@@ -618,6 +618,10 @@ work_notifysig: # deal with pending signals and
|
|
|
movl %esp, %eax
|
|
|
jne work_notifysig_v86 # returning to kernel-space or
|
|
|
# vm86-space
|
|
|
+1:
|
|
|
+#else
|
|
|
+ movl %esp, %eax
|
|
|
+#endif
|
|
|
TRACE_IRQS_ON
|
|
|
ENABLE_INTERRUPTS(CLBR_NONE)
|
|
|
movb PT_CS(%esp), %bl
|
|
@@ -628,24 +632,15 @@ work_notifysig: # deal with pending signals and
|
|
|
call do_notify_resume
|
|
|
jmp resume_userspace
|
|
|
|
|
|
+#ifdef CONFIG_VM86
|
|
|
ALIGN
|
|
|
work_notifysig_v86:
|
|
|
pushl_cfi %ecx # save ti_flags for do_notify_resume
|
|
|
call save_v86_state # %eax contains pt_regs pointer
|
|
|
popl_cfi %ecx
|
|
|
movl %eax, %esp
|
|
|
-#else
|
|
|
- movl %esp, %eax
|
|
|
+ jmp 1b
|
|
|
#endif
|
|
|
- TRACE_IRQS_ON
|
|
|
- ENABLE_INTERRUPTS(CLBR_NONE)
|
|
|
- movb PT_CS(%esp), %bl
|
|
|
- andb $SEGMENT_RPL_MASK, %bl
|
|
|
- cmpb $USER_RPL, %bl
|
|
|
- jb resume_kernel
|
|
|
- xorl %edx, %edx
|
|
|
- call do_notify_resume
|
|
|
- jmp resume_userspace
|
|
|
END(work_pending)
|
|
|
|
|
|
# perform syscall exit tracing
|