Linux Kernel  3.7.1
 All Data Structures Namespaces Files Functions Variables Typedefs Enumerations Enumerator Macros Groups Pages
Data Structures | Macros | Functions
math_64.c File Reference
#include <linux/types.h>
#include <linux/sched.h>
#include <linux/errno.h>
#include <linux/perf_event.h>
#include <asm/fpumacro.h>
#include <asm/ptrace.h>
#include <asm/uaccess.h>
#include <asm/cacheflush.h>
#include "sfp-util_64.h"
#include <math-emu/soft-fp.h>
#include <math-emu/single.h>
#include <math-emu/double.h>
#include <math-emu/quad.h>

Go to the source code of this file.

Data Structures

union  argp
 

Macros

#define FMOVQ   0x003
 
#define FNEGQ   0x007
 
#define FABSQ   0x00b
 
#define FSQRTQ   0x02b
 
#define FADDQ   0x043
 
#define FSUBQ   0x047
 
#define FMULQ   0x04b
 
#define FDIVQ   0x04f
 
#define FDMULQ   0x06e
 
#define FQTOX   0x083
 
#define FXTOQ   0x08c
 
#define FQTOS   0x0c7
 
#define FQTOD   0x0cb
 
#define FITOQ   0x0cc
 
#define FSTOQ   0x0cd
 
#define FDTOQ   0x0ce
 
#define FQTOI   0x0d3
 
#define FSQRTS   0x029
 
#define FSQRTD   0x02a
 
#define FADDS   0x041
 
#define FADDD   0x042
 
#define FSUBS   0x045
 
#define FSUBD   0x046
 
#define FMULS   0x049
 
#define FMULD   0x04a
 
#define FDIVS   0x04d
 
#define FDIVD   0x04e
 
#define FSMULD   0x069
 
#define FSTOX   0x081
 
#define FDTOX   0x082
 
#define FDTOS   0x0c6
 
#define FSTOD   0x0c9
 
#define FSTOI   0x0d1
 
#define FDTOI   0x0d2
 
#define FXTOS   0x084 /* Only Ultra-III generates this. */
 
#define FXTOD   0x088 /* Only Ultra-III generates this. */
 
#define FITOD   0x0c8 /* Only Ultra-III generates this. */
 
#define FCMPQ   0x053
 
#define FCMPEQ   0x057
 
#define FMOVQ0   0x003
 
#define FMOVQ1   0x043
 
#define FMOVQ2   0x083
 
#define FMOVQ3   0x0c3
 
#define FMOVQI   0x103
 
#define FMOVQX   0x183
 
#define FMOVQZ   0x027
 
#define FMOVQLE   0x047
 
#define FMOVQLZ   0x067
 
#define FMOVQNZ   0x0a7
 
#define FMOVQGZ   0x0c7
 
#define FMOVQGE   0x0e7
 
#define FSR_TEM_SHIFT   23UL
 
#define FSR_TEM_MASK   (0x1fUL << FSR_TEM_SHIFT)
 
#define FSR_AEXC_SHIFT   5UL
 
#define FSR_AEXC_MASK   (0x1fUL << FSR_AEXC_SHIFT)
 
#define FSR_CEXC_SHIFT   0UL
 
#define FSR_CEXC_MASK   (0x1fUL << FSR_CEXC_SHIFT)
 
#define TYPE(ftt, r, ru, b, bu, a, au)   type = (au << 2) | (a << 0) | (bu << 5) | (b << 3) | (ru << 8) | (r << 6) | (ftt << 9)
 

Functions

int do_mathemu (struct pt_regs *regs, struct fpustate *f, bool illegal_insn_trap)
 

Macro Definition Documentation

#define FABSQ   0x00b

Definition at line 30 of file math_64.c.

#define FADDD   0x042

Definition at line 49 of file math_64.c.

#define FADDQ   0x043

Definition at line 32 of file math_64.c.

#define FADDS   0x041

Definition at line 48 of file math_64.c.

#define FCMPEQ   0x057

Definition at line 71 of file math_64.c.

#define FCMPQ   0x053

Definition at line 70 of file math_64.c.

#define FDIVD   0x04e

Definition at line 55 of file math_64.c.

#define FDIVQ   0x04f

Definition at line 35 of file math_64.c.

#define FDIVS   0x04d

Definition at line 54 of file math_64.c.

#define FDMULQ   0x06e

Definition at line 36 of file math_64.c.

#define FDTOI   0x0d2

Definition at line 62 of file math_64.c.

#define FDTOQ   0x0ce

Definition at line 43 of file math_64.c.

#define FDTOS   0x0c6

Definition at line 59 of file math_64.c.

#define FDTOX   0x082

Definition at line 58 of file math_64.c.

#define FITOD   0x0c8 /* Only Ultra-III generates this. */

Definition at line 68 of file math_64.c.

#define FITOQ   0x0cc

Definition at line 41 of file math_64.c.

#define FMOVQ   0x003

Definition at line 28 of file math_64.c.

#define FMOVQ0   0x003

Definition at line 72 of file math_64.c.

#define FMOVQ1   0x043

Definition at line 73 of file math_64.c.

#define FMOVQ2   0x083

Definition at line 74 of file math_64.c.

#define FMOVQ3   0x0c3

Definition at line 75 of file math_64.c.

#define FMOVQGE   0x0e7

Definition at line 83 of file math_64.c.

#define FMOVQGZ   0x0c7

Definition at line 82 of file math_64.c.

#define FMOVQI   0x103

Definition at line 76 of file math_64.c.

#define FMOVQLE   0x047

Definition at line 79 of file math_64.c.

#define FMOVQLZ   0x067

Definition at line 80 of file math_64.c.

#define FMOVQNZ   0x0a7

Definition at line 81 of file math_64.c.

#define FMOVQX   0x183

Definition at line 77 of file math_64.c.

#define FMOVQZ   0x027

Definition at line 78 of file math_64.c.

#define FMULD   0x04a

Definition at line 53 of file math_64.c.

#define FMULQ   0x04b

Definition at line 34 of file math_64.c.

#define FMULS   0x049

Definition at line 52 of file math_64.c.

#define FNEGQ   0x007

Definition at line 29 of file math_64.c.

#define FQTOD   0x0cb

Definition at line 40 of file math_64.c.

#define FQTOI   0x0d3

Definition at line 44 of file math_64.c.

#define FQTOS   0x0c7

Definition at line 39 of file math_64.c.

#define FQTOX   0x083

Definition at line 37 of file math_64.c.

#define FSMULD   0x069

Definition at line 56 of file math_64.c.

#define FSQRTD   0x02a

Definition at line 47 of file math_64.c.

#define FSQRTQ   0x02b

Definition at line 31 of file math_64.c.

#define FSQRTS   0x029

Definition at line 46 of file math_64.c.

#define FSR_AEXC_MASK   (0x1fUL << FSR_AEXC_SHIFT)

Definition at line 88 of file math_64.c.

#define FSR_AEXC_SHIFT   5UL

Definition at line 87 of file math_64.c.

#define FSR_CEXC_MASK   (0x1fUL << FSR_CEXC_SHIFT)

Definition at line 90 of file math_64.c.

#define FSR_CEXC_SHIFT   0UL

Definition at line 89 of file math_64.c.

#define FSR_TEM_MASK   (0x1fUL << FSR_TEM_SHIFT)

Definition at line 86 of file math_64.c.

#define FSR_TEM_SHIFT   23UL

Definition at line 85 of file math_64.c.

#define FSTOD   0x0c9

Definition at line 60 of file math_64.c.

#define FSTOI   0x0d1

Definition at line 61 of file math_64.c.

#define FSTOQ   0x0cd

Definition at line 42 of file math_64.c.

#define FSTOX   0x081

Definition at line 57 of file math_64.c.

#define FSUBD   0x046

Definition at line 51 of file math_64.c.

#define FSUBQ   0x047

Definition at line 33 of file math_64.c.

#define FSUBS   0x045

Definition at line 50 of file math_64.c.

#define FXTOD   0x088 /* Only Ultra-III generates this. */

Definition at line 64 of file math_64.c.

#define FXTOQ   0x08c

Definition at line 38 of file math_64.c.

#define FXTOS   0x084 /* Only Ultra-III generates this. */

Definition at line 63 of file math_64.c.

#define TYPE (   ftt,
  r,
  ru,
  b,
  bu,
  a,
  au 
)    type = (au << 2) | (a << 0) | (bu << 5) | (b << 3) | (ru << 8) | (r << 6) | (ftt << 9)

Function Documentation

int do_mathemu ( struct pt_regs regs,
struct fpustate f,
bool  illegal_insn_trap 
)

Definition at line 166 of file math_64.c.