]> Zhao Yanbai Git Server - minix.git/commitdiff
Oops, committed too much
authorErik van der Kouwe <erik@minix3.org>
Thu, 27 May 2010 09:20:50 +0000 (09:20 +0000)
committerErik van der Kouwe <erik@minix3.org>
Thu, 27 May 2010 09:20:50 +0000 (09:20 +0000)
lib/csu/i386/crtso.S

index 599d499664469968e453d68ed7bbbeff4e71946d..4bc54928cd32a218c246b0dfa99b9b80248f8616 100644 (file)
@@ -23,7 +23,7 @@ begdata:
 .bss
 begbss:
 
-.globl crtso, __penviron, __penvp
+.globl crtso, __penviron, __penvp, __fpu_present
 .globl __minix_datastart, __minix_mainjump, __minix_unmapzero
 .extern        _main, _exit
 
@@ -61,6 +61,11 @@ crtso:
        push    %edx    /* push argv */
        push    %eax    /* push argc */
 
+/* Test the EM bit of the MSW to determine if an FPU is present and */
+/* set __fpu_present if one is found. */
+       smsw    %ax
+       testb   $0x4, %al       /* EM bit in MSW */
+       sete    __fpu_present   /* True if not set */
        jmp     __minix_mainjump
 
 .balign I386_PAGE_SIZE
@@ -111,5 +116,6 @@ __penviron:
 
 .bss
 .lcomm __penvp, 4      /* Hidden environment vector */
+.lcomm __fpu_present, 4        /* FPU present flag */
 
 .extern        endtext /* Force loading of end labels. */