patch-2.3.23 linux/arch/arm/nwfpe/fpa11.c
Next file: linux/arch/arm/nwfpe/fpa11.h
Previous file: linux/arch/arm/nwfpe/extended_cpdo.c
Back to the patch index
Back to the overall index
- Lines: 53
- Date:
Wed Oct 20 16:29:08 1999
- Orig file:
v2.3.22/linux/arch/arm/nwfpe/fpa11.c
- Orig date:
Tue Aug 31 17:29:12 1999
diff -u --recursive --new-file v2.3.22/linux/arch/arm/nwfpe/fpa11.c linux/arch/arm/nwfpe/fpa11.c
@@ -19,9 +19,9 @@
Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
*/
-#include "config.h"
+#include <asm/system.h>
+
#include "fpa11.h"
-#include "milieu.h"
#include "fpopcode.h"
#include "fpmodule.h"
@@ -39,17 +39,18 @@
void resetFPA11(void)
{
int i;
- /* initialize the registers */
+
+ /* initialize the register type array */
for (i=0;i<=7;i++)
{
- fpa11->fpreg[i].fType = typeNone;
+ fpa11->fType[i] = typeNone;
}
/* FPSR: set system id to FP_EMULATOR, clear all other bits */
fpa11->fpsr = FP_EMULATOR;
/* FPCR: set SB, AB and DA bits, clear all others */
-#if MAINTAIN_FPCR
+#if MAINTAIN_FPCR
fpa11->fpcr = MASK_RESET;
#endif
}
@@ -128,6 +129,9 @@
unsigned int EmulateAll(unsigned int opcode)
{
unsigned int nRc = 0;
+ unsigned long flags;
+
+ save_flags(flags); sti();
if (fpa11->initflag == 0) /* good place for __builtin_expect */
{
@@ -161,6 +165,8 @@
/* Invalid instruction detected. Return FALSE. */
nRc = 0;
}
+
+ restore_flags(flags);
return(nRc);
}
FUNET's LINUX-ADM group, linux-adm@nic.funet.fi
TCL-scripts by Sam Shen (who was at: slshen@lbl.gov)