Linux Kernel  3.7.1
 All Data Structures Namespaces Files Functions Variables Typedefs Enumerations Enumerator Macros Groups Pages
Data Structures | Macros
math-emu.h File Reference
#include <asm/setup.h>
#include <linux/linkage.h>
#include <linux/kernel.h>
#include <linux/sched.h>

Go to the source code of this file.

Data Structures

union  fp_mant64
 
union  fp_mant128
 
struct  fp_ext
 
struct  fp_data
 

Macros

#define FPSR_AEXC_INEX   3
 
#define FPSR_AEXC_DZ   4
 
#define FPSR_AEXC_UNFL   5
 
#define FPSR_AEXC_OVFL   6
 
#define FPSR_AEXC_IOP   7
 
#define FPSR_EXC_INEX1   8
 
#define FPSR_EXC_INEX2   9
 
#define FPSR_EXC_DZ   10
 
#define FPSR_EXC_UNFL   11
 
#define FPSR_EXC_OVFL   12
 
#define FPSR_EXC_OPERR   13
 
#define FPSR_EXC_SNAN   14
 
#define FPSR_EXC_BSUN   15
 
#define FPSR_QUOTIENT(fpsr)   (*((signed char *) &(fpsr) + 1))
 
#define FPSR_CC_NAN   24
 
#define FPSR_CC_INF   25
 
#define FPSR_CC_Z   26
 
#define FPSR_CC_NEG   27
 
#define FPCR_ROUND_RN   0 /* round to nearest/even */
 
#define FPCR_ROUND_RZ   1 /* round to zero */
 
#define FPCR_ROUND_RM   2 /* minus infinity */
 
#define FPCR_ROUND_RP   3 /* plus infinity */
 
#define FPCR_PRECISION_X   0 /* long double */
 
#define FPCR_PRECISION_S   1 /* double */
 
#define FPCR_PRECISION_D   2 /* float */
 
#define PDECODE   0
 
#define PEXECUTE   1
 
#define PCONV   2
 
#define PNORM   3
 
#define PREGISTER   4
 
#define PINSTR   5
 
#define PUNIMPL   6
 
#define PMOVEM   7
 
#define PMDECODE   (1<<PDECODE)
 
#define PMEXECUTE   (1<<PEXECUTE)
 
#define PMCONV   (1<<PCONV)
 
#define PMNORM   (1<<PNORM)
 
#define PMREGISTER   (1<<PREGISTER)
 
#define PMINSTR   (1<<PINSTR)
 
#define PMUNIMPL   (1<<PUNIMPL)
 
#define PMMOVEM   (1<<PMOVEM)
 
#define dprint(bit, fmt, args...)
 
#define uprint(str)
 
#define FPDATA   ((struct fp_data *)current->thread.fp)
 

Macro Definition Documentation

#define dprint (   bit,
  fmt,
  args... 
)

Definition at line 113 of file math-emu.h.

#define FPCR_PRECISION_D   2 /* float */

Definition at line 47 of file math-emu.h.

#define FPCR_PRECISION_S   1 /* double */

Definition at line 46 of file math-emu.h.

#define FPCR_PRECISION_X   0 /* long double */

Definition at line 45 of file math-emu.h.

#define FPCR_ROUND_RM   2 /* minus infinity */

Definition at line 41 of file math-emu.h.

#define FPCR_ROUND_RN   0 /* round to nearest/even */

Definition at line 39 of file math-emu.h.

#define FPCR_ROUND_RP   3 /* plus infinity */

Definition at line 42 of file math-emu.h.

#define FPCR_ROUND_RZ   1 /* round to zero */

Definition at line 40 of file math-emu.h.

#define FPDATA   ((struct fp_data *)current->thread.fp)

Definition at line 127 of file math-emu.h.

#define FPSR_AEXC_DZ   4

Definition at line 11 of file math-emu.h.

#define FPSR_AEXC_INEX   3

Definition at line 10 of file math-emu.h.

#define FPSR_AEXC_IOP   7

Definition at line 14 of file math-emu.h.

#define FPSR_AEXC_OVFL   6

Definition at line 13 of file math-emu.h.

#define FPSR_AEXC_UNFL   5

Definition at line 12 of file math-emu.h.

#define FPSR_CC_INF   25

Definition at line 31 of file math-emu.h.

#define FPSR_CC_NAN   24

Definition at line 30 of file math-emu.h.

#define FPSR_CC_NEG   27

Definition at line 33 of file math-emu.h.

#define FPSR_CC_Z   26

Definition at line 32 of file math-emu.h.

#define FPSR_EXC_BSUN   15

Definition at line 24 of file math-emu.h.

#define FPSR_EXC_DZ   10

Definition at line 19 of file math-emu.h.

#define FPSR_EXC_INEX1   8

Definition at line 17 of file math-emu.h.

#define FPSR_EXC_INEX2   9

Definition at line 18 of file math-emu.h.

#define FPSR_EXC_OPERR   13

Definition at line 22 of file math-emu.h.

#define FPSR_EXC_OVFL   12

Definition at line 21 of file math-emu.h.

#define FPSR_EXC_SNAN   14

Definition at line 23 of file math-emu.h.

#define FPSR_EXC_UNFL   11

Definition at line 20 of file math-emu.h.

#define FPSR_QUOTIENT (   fpsr)    (*((signed char *) &(fpsr) + 1))

Definition at line 27 of file math-emu.h.

#define PCONV   2

Definition at line 53 of file math-emu.h.

d0 endm decode the diplacement from the brief extension word macro fp_decode_disp8 move b d0 ext w d0 endm decode the index of the brief full extension word macro fp_decode_index bfextu d0 get the register nr btst jne f printf d d0 jsr fp_get_data_reg jra a d0 jsr fp_get_addr_reg move l a0 btst jne f debug lea w a0 ext l a0 move w d1 scale factor rol w and w debug move l sp debug ext l d1 printf PDECODE   0

Definition at line 51 of file math-emu.h.

#define PEXECUTE   1

Definition at line 52 of file math-emu.h.

#define PINSTR   5

Definition at line 56 of file math-emu.h.

#define PMCONV   (1<<PCONV)

Definition at line 62 of file math-emu.h.

#define PMDECODE   (1<<PDECODE)

Definition at line 60 of file math-emu.h.

#define PMEXECUTE   (1<<PEXECUTE)

Definition at line 61 of file math-emu.h.

#define PMINSTR   (1<<PINSTR)

Definition at line 65 of file math-emu.h.

#define PMMOVEM   (1<<PMOVEM)

Definition at line 67 of file math-emu.h.

#define PMNORM   (1<<PNORM)

Definition at line 63 of file math-emu.h.

#define PMOVEM   7

Definition at line 58 of file math-emu.h.

#define PMREGISTER   (1<<PREGISTER)

Definition at line 64 of file math-emu.h.

#define PMUNIMPL   (1<<PUNIMPL)

Definition at line 66 of file math-emu.h.

#define PNORM   3

Definition at line 54 of file math-emu.h.

#define PREGISTER   4

Definition at line 55 of file math-emu.h.

#define PUNIMPL   6

Definition at line 57 of file math-emu.h.

#define uprint (   str)
Value:
({ \
static int __count = 3; \
if (__count > 0) { \
printk("You just hit an unimplemented " \
"fpu instruction (%s)\n", str); \
printk("Please report this to ....\n"); \
__count--; \
} \
})

Definition at line 116 of file math-emu.h.