From 02d0cb6f716d9fc3587b3ed07047f5fedf8724e6 Mon Sep 17 00:00:00 2001 From: Konstantin Belousov Date: Tue, 13 Apr 2010 14:20:22 +0300 Subject: [PATCH] Do not save FPU context on x86 for now; XMM save area must be 16-bytes aligned --- src/x86/getcontext-freebsd.S | 7 +++++++ 1 file changed, 7 insertions(+) diff --git a/src/x86/getcontext-freebsd.S b/src/x86/getcontext-freebsd.S index 42478d29..92ae26f4 100644 --- a/src/x86/getcontext-freebsd.S +++ b/src/x86/getcontext-freebsd.S @@ -61,6 +61,7 @@ _Ux86_getcontext: popl FREEBSD_UC_MCONTEXT_EFLAGS_OFF(%eax) movl $0, FREEBSD_UC_MCONTEXT_TRAPNO_OFF(%eax) +#if 0 movl $FREEBSD_UC_MCONTEXT_FPOWNED_FPU,\ FREEBSD_UC_MCONTEXT_OWNEDFP_OFF(%eax) movl $FREEBSD_UC_MCONTEXT_FPFMT_XMM,\ @@ -68,6 +69,12 @@ _Ux86_getcontext: /* Require CPU with fxsave implemented, and enabled by OS. */ fxsave FREEBSD_UC_MCONTEXT_FPSTATE_OFF(%eax) +#else + movl $FREEBSD_UC_MCONTEXT_FPOWNED_NONE,\ + FREEBSD_UC_MCONTEXT_OWNEDFP_OFF(%eax) + movl $FREEBSD_UC_MCONTEXT_FPFMT_NODEV,\ + FREEBSD_UC_MCONTEXT_FPFORMAT_OFF(%eax) +#endif movl $FREEBSD_UC_MCONTEXT_MC_LEN_VAL,\ FREEBSD_UC_MCONTEXT_MC_LEN_OFF(%eax)