npx.c File Reference

#include "core.h"

Defines

#define IO_NPX   0x0F0
#define NPX_NM   7
#define NPX_MF   16
#define fldcw(addr)   __asm("fldcw %0" : : "m" (*addr))
#define fnclex()   __asm("fnclex")
#define fninit()   __asm("fninit")
#define fnsave(addr)   __asm("fnsave %0" : "=m" (*addr))
#define fnstcw(addr)   __asm("fnstcw %0" : "=m" (*addr))
#define fnstsw(addr)   __asm("fnstsw %0" : "=m" (*addr))
#define fp_divide_by_0()   __asm("fldz; fld1; fdiv %st,%st(1); fwait")
#define frstor(addr)   __asm("frstor %0" : : "m" (*addr))
#define fwait()   __asm("fwait")
#define clts()   __asm("clts")
#define stts()   lcr0(rcr0() | CR0_TS)

Functions

int npx586bug1 ()
void npx_nm_except_raw ()
void fpu_save (union savefpu *addr)
void sys_npx_save (struct s_tcb_full *caller)
void sys_npx_restore (struct s_tcb_full *caller)
void do_npxsrv_syscall ()
void npxsrv_syscall ()
void npx_nm_except_test ()
void do_npx_mf_except ()
void npx_mf_except ()
void npx_main (int argc, char **argv)

Variables

__cpu_simple_lock_t npx_lock
int npx_fpu_fdivbug = 0
int npx_use_fxsave = 0

Define Documentation

 
#define clts  )     __asm("clts")
 

#define fldcw addr   )     __asm("fldcw %0" : : "m" (*addr))
 

 
#define fnclex  )     __asm("fnclex")
 

 
#define fninit  )     __asm("fninit")
 

#define fnsave addr   )     __asm("fnsave %0" : "=m" (*addr))
 

#define fnstcw addr   )     __asm("fnstcw %0" : "=m" (*addr))
 

#define fnstsw addr   )     __asm("fnstsw %0" : "=m" (*addr))
 

 
#define fp_divide_by_0  )     __asm("fldz; fld1; fdiv %st,%st(1); fwait")
 

#define frstor addr   )     __asm("frstor %0" : : "m" (*addr))
 

 
#define fwait  )     __asm("fwait")
 

#define IO_NPX   0x0F0
 

#define NPX_MF   16
 

#define NPX_NM   7
 

 
#define stts  )     lcr0(rcr0() | CR0_TS)
 


Function Documentation

void do_npx_mf_except  ) 
 

void do_npxsrv_syscall  ) 
 

void fpu_save union savefpu addr  ) 
 

int npx586bug1  ) 
 

void npx_main int  argc,
char **  argv
 

void npx_mf_except  ) 
 

void npx_nm_except_raw  ) 
 

void npx_nm_except_test  ) 
 

void npxsrv_syscall  ) 
 

void sys_npx_restore struct s_tcb_full *  caller  ) 
 

void sys_npx_save struct s_tcb_full *  caller  ) 
 


Variable Documentation

int npx_fpu_fdivbug = 0
 

__cpu_simple_lock_t npx_lock
 

int npx_use_fxsave = 0
 


Generated on Wed May 24 23:05:58 2006 for LSE/OS by  doxygen 1.4.6