aboutsummaryrefslogtreecommitdiff
path: root/sys/amd64/ia32/ia32_exception.S
diff options
context:
space:
mode:
Diffstat (limited to 'sys/amd64/ia32/ia32_exception.S')
-rw-r--r--sys/amd64/ia32/ia32_exception.S4
1 files changed, 3 insertions, 1 deletions
diff --git a/sys/amd64/ia32/ia32_exception.S b/sys/amd64/ia32/ia32_exception.S
index a52df956f869..c7bfb02f0281 100644
--- a/sys/amd64/ia32/ia32_exception.S
+++ b/sys/amd64/ia32/ia32_exception.S
@@ -70,7 +70,9 @@ int0x80_syscall_common:
movq %r14,TF_R14(%rsp)
movq %r15,TF_R15(%rsp)
movl $TF_HASSEGS,TF_FLAGS(%rsp)
- cld
+ pushfq
+ andq $~(PSL_D | PSL_AC),(%rsp)
+ popfq
FAKE_MCOUNT(TF_RIP(%rsp))
movq %rsp, %rdi
call ia32_syscall