Typo fixes in comments
[sbcl.git] / src / runtime / alpha-linux-os.c
index e8e8ec0..7781821 100644 (file)
@@ -18,6 +18,7 @@
 #include <stdio.h>
 #include <sys/param.h>
 #include <sys/file.h>
+#include "sbcl.h"
 #include "./signal.h"
 #include "os.h"
 #include "arch.h"
@@ -25,7 +26,6 @@
 #include "interrupt.h"
 #include "interr.h"
 #include "lispregs.h"
-#include "sbcl.h"
 #include <sys/socket.h>
 #include <sys/utsname.h>
 
@@ -42,14 +42,11 @@ size_t os_vm_page_size;
 #ifdef LISP_FEATURE_SB_THREAD
 #error "Define threading support functions"
 #else
-struct thread *arch_os_get_current_thread() {
-    return all_threads;
-}
 int arch_os_thread_init(struct thread *thread) {
-    return 1;                  /* success */
+    return 1;                   /* success */
 }
 int arch_os_thread_cleanup(struct thread *thread) {
-    return 1;                  /* success */
+    return 1;                   /* success */
 }
 #endif
 
@@ -87,18 +84,18 @@ os_context_fp_control(os_context_t *context)
 void
 os_restore_fp_control(os_context_t *context)
 {
-    /* FIXME (in two parts):
-       Firstly, what happens in alpha linux inside the signal handler?
-       Does the floating point control state get cleared as in other
-       Linuxes?
-    
-       Secondly, how do we put it back if so? It will probably involve
-       something to do with
-    
-       context->uc_mcontext.sc_fpcr
-
-       (maybe a simple assembly statement will be enough)
-    */ 
+    /* FIXME: 0x7E0000 is defined as something useful in constants.h,
+       but without the UL, which would probably lead to 32/64-bit
+       errors if we simply used it here.  Ugh.  CSR, 2003-09-15 */
+    arch_set_fp_control(os_context_fp_control(context) & ~(0x7e0000UL) &
+                        /* KLUDGE: for some reason that I don't
+                        understand, by the time we get here the
+                        "enable denormalized traps" bit in the fp
+                        control word is set.  Since we really don't
+                        want to tra every time someone types
+                        LEAST-POSITIVE-SINGLE-FLOAT into the repl,
+                        mask that bit out.  -- CSR, 2003-09-15 */
+                        ~(0x1UL<<6));
 }
 
 void os_flush_icache(os_vm_address_t address, os_vm_size_t length)