gencgc: More precise conservatism for pointers to boxed pages.
[sbcl.git] / src / runtime / x86-bsd-os.h
index d03b8aa..dc9d9f7 100644 (file)
@@ -1,7 +1,15 @@
 #ifndef _X86_BSD_OS_H
 #define _X86_BSD_OS_H
 
-static inline os_context_t *arch_os_get_context(void **void_context) {
+#ifdef LISP_FEATURE_FREEBSD
+#include <machine/segments.h>
+#include <machine/cpufunc.h>
+#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;
 }
 
@@ -20,6 +28,14 @@ static inline os_context_t *arch_os_get_context(void **void_context) {
 #endif
 
 #if defined LISP_FEATURE_FREEBSD
+#if defined(LISP_FEATURE_RESTORE_TLS_SEGMENT_REGISTER_FROM_CONTEXT)
+void os_restore_tls_segment_register(os_context_t *context);
+#endif
+#define RESTORE_FP_CONTROL_FROM_CONTEXT
+void os_restore_fp_control(os_context_t *context);
+#endif
+
+#if defined LISP_FEATURE_OPENBSD
 #define RESTORE_FP_CONTROL_FROM_CONTEXT
 void os_restore_fp_control(os_context_t *context);
 #endif