X-Git-Url: http://repo.macrolet.net/gitweb/?a=blobdiff_plain;f=src%2Fruntime%2Fx86-bsd-os.h;h=3ff9f5237fb8a36c52d9be82b3f2b274218cae2d;hb=1ac136852028fcd4d5568e996ebc612136c26b4f;hp=259bb0155c246f9c9d94100b1e0db01cb14aa4bd;hpb=01044af1b8d69fc3899dc0417064c1512223223d;p=sbcl.git diff --git a/src/runtime/x86-bsd-os.h b/src/runtime/x86-bsd-os.h index 259bb01..3ff9f52 100644 --- a/src/runtime/x86-bsd-os.h +++ b/src/runtime/x86-bsd-os.h @@ -1,6 +1,13 @@ #ifndef _X86_BSD_OS_H #define _X86_BSD_OS_H +#ifdef LISP_FEATURE_FREEBSD +#include +#include +#endif + +typedef int os_context_register_t; + static inline os_context_t *arch_os_get_context(void **void_context) { return (os_context_t *) *void_context; } @@ -11,7 +18,7 @@ static inline os_context_t *arch_os_get_context(void **void_context) { * can share a fair amount of code between different variants. */ #if defined __FreeBSD__ #define CONTEXT_ADDR_FROM_STEM(stem) &context->uc_mcontext.mc_ ## stem -#elif defined __OpenBSD__ +#elif defined(__OpenBSD__) #define CONTEXT_ADDR_FROM_STEM(stem) &context->sc_ ## stem #elif defined __NetBSD__ #define CONTEXT_ADDR_FROM_STEM(stem) &((context)->uc_mcontext.__gregs[_REG_ ## stem]) @@ -19,4 +26,9 @@ static inline os_context_t *arch_os_get_context(void **void_context) { #error unsupported BSD variant #endif +#if defined LISP_FEATURE_FREEBSD +#define RESTORE_FP_CONTROL_FROM_CONTEXT +void os_restore_fp_control(os_context_t *context); +#endif + #endif /* _X86_BSD_OS_H */