diff --git a/kernel/arch/i386/mpx386.S b/kernel/arch/i386/mpx386.S index a768db586..fd46183ca 100644 --- a/kernel/arch/i386/mpx386.S +++ b/kernel/arch/i386/mpx386.S @@ -472,9 +472,6 @@ exception_entry: TEST_INT_IN_KERNEL(12, exception_entry_nested) exception_entry_from_user: - - cld - SAVE_PROCESS_CTX(8) /* stop user process cycles */ diff --git a/kernel/arch/i386/sconst.h b/kernel/arch/i386/sconst.h index 0bad53dd6..c5d32752b 100644 --- a/kernel/arch/i386/sconst.h +++ b/kernel/arch/i386/sconst.h @@ -121,6 +121,9 @@ * value on the stack - error code and the exception number */ #define SAVE_PROCESS_CTX_NON_LAZY(displ) \ + \ + cld /* set the direction flag to a known state */ ;\ + \ push %ebp ;\ ;\ movl (CURR_PROC_PTR + 4 + displ)(%esp), %ebp ;\