From fc85c874b585778fe2eae90ab562103b7c8a7b6f Mon Sep 17 00:00:00 2001 From: Charles Forsyth Date: Sun, 18 May 2014 15:32:02 +0100 Subject: revert to 626 to undo unintended push --- lib9/setfcr-OpenBSD-386.c | 57 ----------------------------------------------- 1 file changed, 57 deletions(-) delete mode 100644 lib9/setfcr-OpenBSD-386.c (limited to 'lib9/setfcr-OpenBSD-386.c') diff --git a/lib9/setfcr-OpenBSD-386.c b/lib9/setfcr-OpenBSD-386.c deleted file mode 100644 index c512f033..00000000 --- a/lib9/setfcr-OpenBSD-386.c +++ /dev/null @@ -1,57 +0,0 @@ -/* - * 386 fpu support - * Mimic Plan9 floating point support - */ - -#include "lib9.h" - - -void -setfcr(ulong fcr) -{ - __asm__( "xorb $0x3f, %%al\n\t" - "pushw %%ax\n\t" - "fwait\n\t" - "fldcw (%%esp)\n\t" - "popw %%ax\n\t" - : /* no output */ - : "al" (fcr) - ); -} - -ulong -getfcr(void) -{ - ulong fcr = 0; - - __asm__( "pushl %%eax\n\t" - "fwait\n\t" - "fstcw (%%esp)\n\t" - "popl %%eax\n\t" - "xorb $0x3f, %%al\n\t" - : "=a" (fcr) - : "eax" (fcr) - ); - return fcr; -} - -ulong -getfsr(void) -{ - ulong fsr = -1; - - __asm__( "fwait\n\t" - "fstsw (%%eax)\n\t" - "movl (%%eax), %%eax\n\t" - "andl $0xffff, %%eax\n\t" - : "=a" (fsr) - : "eax" (&fsr) - ); - return fsr; -} - -void -setfsr(ulong fsr) -{ - __asm__("fclex\n\t"); -} -- cgit v1.2.3