[Openmcl-cvs-notifications] r11609 - in /trunk/source/lisp-kernel: thread_manager.c x86-asmutils32.s

gb at clozure.com gb at clozure.com
Mon Jan 12 03:52:31 EST 2009


Author: gb
Date: Mon Jan 12 03:52:31 2009
New Revision: 11609

Log:
Back out of recent change. FreeBSD amd64 kernels don't change %fs on
return from i386_set_fsbase(), but something else seems to be going on
in 7.1/amd64.

Modified:
    trunk/source/lisp-kernel/thread_manager.c
    trunk/source/lisp-kernel/x86-asmutils32.s

Modified: trunk/source/lisp-kernel/thread_manager.c
=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=
=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=
=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=
=3D=3D=3D
--- trunk/source/lisp-kernel/thread_manager.c (original)
+++ trunk/source/lisp-kernel/thread_manager.c Mon Jan 12 03:52:31 2009
@@ -1163,14 +1163,11 @@
 #else
   extern unsigned short get_fs_register(void);
 =

-  if ((i386_set_fsbase((void*)tcr))) {
+  if (i386_set_fsbase((void*)tcr)) {
     perror("i386_set_fsbase");
     exit(1);
   }
-  if (get_fs_register() !=3D GSEL(GUFS_SEL, SEL_UPL)) {
-    fprintf(stderr,"i386_set_fsbase didn't set %%fs properly; this my be a=
 problem with the 7.1 FreeBSD-amd64 kernel\n");
-    exit(1);
-  }
+
 =

   /* Once we've called i386_set_fsbase, we can't write to %fs. */
   tcr->ldt_selector =3D GSEL(GUFS_SEL, SEL_UPL);

Modified: trunk/source/lisp-kernel/x86-asmutils32.s
=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=
=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=
=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=
=3D=3D=3D
--- trunk/source/lisp-kernel/x86-asmutils32.s (original)
+++ trunk/source/lisp-kernel/x86-asmutils32.s Mon Jan 12 03:52:31 2009
@@ -276,13 +276,5 @@
         __endif
 _endfn                                       =

         __endif
-	=

-/* Could easily do this as a little bit of inline asm.  If I remembered
-   how ... */
-_exportfn(C(get_fs_register))
-        __(movl %fs,%eax)
-        __(ret)
-_endfn        =

-
         _endfile
 =




More information about the Openmcl-cvs-notifications mailing list