From 098f15923f6f0ba022dea3d50c56836dc4257acd Mon Sep 17 00:00:00 2001 From: Ben Gras Date: Thu, 20 Nov 2014 16:42:32 +0000 Subject: [PATCH] restore PSW like 9393439a20 for AMD syscall Change-Id: I5c4702a8a377a71aa9af26c8e72e30d44db7d321 --- minix/kernel/arch/i386/mpx.S | 7 ++++++- 1 file changed, 6 insertions(+), 1 deletion(-) diff --git a/minix/kernel/arch/i386/mpx.S b/minix/kernel/arch/i386/mpx.S index 81fb696a3..3293388ec 100644 --- a/minix/kernel/arch/i386/mpx.S +++ b/minix/kernel/arch/i386/mpx.S @@ -422,7 +422,12 @@ ENTRY(restore_user_context_syscall) mov SPREG(%ebp), %esp /* restore ESP directly */ mov AXREG(%ebp), %eax /* trap return value */ mov BXREG(%ebp), %ebx /* secondary return value */ - movl PSWREG(%ebp), %edi /* load desired PSW to EDI */ + + /* restore PSW */ + movl PSWREG(%ebp), %edi /* load desired PSW to EDI */ + push %edi + popf + sysret /* jump to EIP in user */ ENTRY(restore_user_context_int)