Linux Kernel  3.7.1
 All Data Structures Namespaces Files Functions Variables Typedefs Enumerations Enumerator Macros Groups Pages
Macros | Functions
vfpinstr.h File Reference

Go to the source code of this file.

Macros

#define INST_CPRTDO(inst)   (((inst) & 0x0f000000) == 0x0e000000)
 
#define INST_CPRT(inst)   ((inst) & (1 << 4))
 
#define INST_CPRT_L(inst)   ((inst) & (1 << 20))
 
#define INST_CPRT_Rd(inst)   (((inst) & (15 << 12)) >> 12)
 
#define INST_CPRT_OP(inst)   (((inst) >> 21) & 7)
 
#define INST_CPNUM(inst)   ((inst) & 0xf00)
 
#define CPNUM(cp)   ((cp) << 8)
 
#define FOP_MASK   (0x00b00040)
 
#define FOP_FMAC   (0x00000000)
 
#define FOP_FNMAC   (0x00000040)
 
#define FOP_FMSC   (0x00100000)
 
#define FOP_FNMSC   (0x00100040)
 
#define FOP_FMUL   (0x00200000)
 
#define FOP_FNMUL   (0x00200040)
 
#define FOP_FADD   (0x00300000)
 
#define FOP_FSUB   (0x00300040)
 
#define FOP_FDIV   (0x00800000)
 
#define FOP_EXT   (0x00b00040)
 
#define FOP_TO_IDX(inst)   ((inst & 0x00b00000) >> 20 | (inst & (1 << 6)) >> 4)
 
#define FEXT_MASK   (0x000f0080)
 
#define FEXT_FCPY   (0x00000000)
 
#define FEXT_FABS   (0x00000080)
 
#define FEXT_FNEG   (0x00010000)
 
#define FEXT_FSQRT   (0x00010080)
 
#define FEXT_FCMP   (0x00040000)
 
#define FEXT_FCMPE   (0x00040080)
 
#define FEXT_FCMPZ   (0x00050000)
 
#define FEXT_FCMPEZ   (0x00050080)
 
#define FEXT_FCVT   (0x00070080)
 
#define FEXT_FUITO   (0x00080000)
 
#define FEXT_FSITO   (0x00080080)
 
#define FEXT_FTOUI   (0x000c0000)
 
#define FEXT_FTOUIZ   (0x000c0080)
 
#define FEXT_FTOSI   (0x000d0000)
 
#define FEXT_FTOSIZ   (0x000d0080)
 
#define FEXT_TO_IDX(inst)   ((inst & 0x000f0000) >> 15 | (inst & (1 << 7)) >> 7)
 
#define vfp_get_sd(inst)   ((inst & 0x0000f000) >> 11 | (inst & (1 << 22)) >> 22)
 
#define vfp_get_dd(inst)   ((inst & 0x0000f000) >> 12 | (inst & (1 << 22)) >> 18)
 
#define vfp_get_sm(inst)   ((inst & 0x0000000f) << 1 | (inst & (1 << 5)) >> 5)
 
#define vfp_get_dm(inst)   ((inst & 0x0000000f) | (inst & (1 << 5)) >> 1)
 
#define vfp_get_sn(inst)   ((inst & 0x000f0000) >> 15 | (inst & (1 << 7)) >> 7)
 
#define vfp_get_dn(inst)   ((inst & 0x000f0000) >> 16 | (inst & (1 << 7)) >> 3)
 
#define vfp_single(inst)   (((inst) & 0x0000f00) == 0xa00)
 
#define FPSCR_N   (1 << 31)
 
#define FPSCR_Z   (1 << 30)
 
#define FPSCR_C   (1 << 29)
 
#define FPSCR_V   (1 << 28)
 
#define vfpreg(_vfp_)   #_vfp_
 
#define fmrx(_vfp_)
 
#define fmxr(_vfp_, _var_)
 

Functions

u32 vfp_single_cpdo (u32 inst, u32 fpscr)
 
u32 vfp_single_cprt (u32 inst, u32 fpscr, struct pt_regs *regs)
 
u32 vfp_double_cpdo (u32 inst, u32 fpscr)
 

Macro Definition Documentation

#define CPNUM (   cp)    ((cp) << 8)

Definition at line 19 of file vfpinstr.h.

#define FEXT_FABS   (0x00000080)

Definition at line 37 of file vfpinstr.h.

#define FEXT_FCMP   (0x00040000)

Definition at line 40 of file vfpinstr.h.

#define FEXT_FCMPE   (0x00040080)

Definition at line 41 of file vfpinstr.h.

#define FEXT_FCMPEZ   (0x00050080)

Definition at line 43 of file vfpinstr.h.

#define FEXT_FCMPZ   (0x00050000)

Definition at line 42 of file vfpinstr.h.

#define FEXT_FCPY   (0x00000000)

Definition at line 36 of file vfpinstr.h.

#define FEXT_FCVT   (0x00070080)

Definition at line 44 of file vfpinstr.h.

#define FEXT_FNEG   (0x00010000)

Definition at line 38 of file vfpinstr.h.

#define FEXT_FSITO   (0x00080080)

Definition at line 46 of file vfpinstr.h.

#define FEXT_FSQRT   (0x00010080)

Definition at line 39 of file vfpinstr.h.

#define FEXT_FTOSI   (0x000d0000)

Definition at line 49 of file vfpinstr.h.

#define FEXT_FTOSIZ   (0x000d0080)

Definition at line 50 of file vfpinstr.h.

#define FEXT_FTOUI   (0x000c0000)

Definition at line 47 of file vfpinstr.h.

#define FEXT_FTOUIZ   (0x000c0080)

Definition at line 48 of file vfpinstr.h.

#define FEXT_FUITO   (0x00080000)

Definition at line 45 of file vfpinstr.h.

#define FEXT_MASK   (0x000f0080)

Definition at line 35 of file vfpinstr.h.

#define FEXT_TO_IDX (   inst)    ((inst & 0x000f0000) >> 15 | (inst & (1 << 7)) >> 7)

Definition at line 52 of file vfpinstr.h.

#define fmrx (   _vfp_)
Value:
({ \
u32 __v; \
asm("mrc p10, 7, %0, " vfpreg(_vfp_) ", cr0, 0 @ fmrx %0, " #_vfp_ \
: "=r" (__v) : : "cc"); \
__v; \
})

Definition at line 74 of file vfpinstr.h.

#define fmxr (   _vfp_,
  _var_ 
)
Value:
asm("mcr p10, 7, %0, " vfpreg(_vfp_) ", cr0, 0 @ fmxr " #_vfp_ ", %0" \
: : "r" (_var_) : "cc")

Definition at line 81 of file vfpinstr.h.

#define FOP_EXT   (0x00b00040)

Definition at line 31 of file vfpinstr.h.

#define FOP_FADD   (0x00300000)

Definition at line 28 of file vfpinstr.h.

#define FOP_FDIV   (0x00800000)

Definition at line 30 of file vfpinstr.h.

#define FOP_FMAC   (0x00000000)

Definition at line 22 of file vfpinstr.h.

#define FOP_FMSC   (0x00100000)

Definition at line 24 of file vfpinstr.h.

#define FOP_FMUL   (0x00200000)

Definition at line 26 of file vfpinstr.h.

#define FOP_FNMAC   (0x00000040)

Definition at line 23 of file vfpinstr.h.

#define FOP_FNMSC   (0x00100040)

Definition at line 25 of file vfpinstr.h.

#define FOP_FNMUL   (0x00200040)

Definition at line 27 of file vfpinstr.h.

#define FOP_FSUB   (0x00300040)

Definition at line 29 of file vfpinstr.h.

#define FOP_MASK   (0x00b00040)

Definition at line 21 of file vfpinstr.h.

#define FOP_TO_IDX (   inst)    ((inst & 0x00b00000) >> 20 | (inst & (1 << 6)) >> 4)

Definition at line 33 of file vfpinstr.h.

#define FPSCR_C   (1 << 29)

Definition at line 65 of file vfpinstr.h.

#define FPSCR_N   (1 << 31)

Definition at line 63 of file vfpinstr.h.

#define FPSCR_V   (1 << 28)

Definition at line 66 of file vfpinstr.h.

#define FPSCR_Z   (1 << 30)

Definition at line 64 of file vfpinstr.h.

#define INST_CPNUM (   inst)    ((inst) & 0xf00)

Definition at line 18 of file vfpinstr.h.

#define INST_CPRT (   inst)    ((inst) & (1 << 4))

Definition at line 14 of file vfpinstr.h.

#define INST_CPRT_L (   inst)    ((inst) & (1 << 20))

Definition at line 15 of file vfpinstr.h.

#define INST_CPRT_OP (   inst)    (((inst) >> 21) & 7)

Definition at line 17 of file vfpinstr.h.

#define INST_CPRT_Rd (   inst)    (((inst) & (15 << 12)) >> 12)

Definition at line 16 of file vfpinstr.h.

#define INST_CPRTDO (   inst)    (((inst) & 0x0f000000) == 0x0e000000)

Definition at line 13 of file vfpinstr.h.

#define vfp_get_dd (   inst)    ((inst & 0x0000f000) >> 12 | (inst & (1 << 22)) >> 18)

Definition at line 55 of file vfpinstr.h.

#define vfp_get_dm (   inst)    ((inst & 0x0000000f) | (inst & (1 << 5)) >> 1)

Definition at line 57 of file vfpinstr.h.

#define vfp_get_dn (   inst)    ((inst & 0x000f0000) >> 16 | (inst & (1 << 7)) >> 3)

Definition at line 59 of file vfpinstr.h.

#define vfp_get_sd (   inst)    ((inst & 0x0000f000) >> 11 | (inst & (1 << 22)) >> 22)

Definition at line 54 of file vfpinstr.h.

#define vfp_get_sm (   inst)    ((inst & 0x0000000f) << 1 | (inst & (1 << 5)) >> 5)

Definition at line 56 of file vfpinstr.h.

#define vfp_get_sn (   inst)    ((inst & 0x000f0000) >> 15 | (inst & (1 << 7)) >> 7)

Definition at line 58 of file vfpinstr.h.

#define vfp_single (   inst)    (((inst) & 0x0000f00) == 0xa00)

Definition at line 61 of file vfpinstr.h.

#define vfpreg (   _vfp_)    #_vfp_

Definition at line 72 of file vfpinstr.h.

Function Documentation

u32 vfp_double_cpdo ( u32  inst,
u32  fpscr 
)

Definition at line 1125 of file vfpdouble.c.

u32 vfp_single_cpdo ( u32  inst,
u32  fpscr 
)

Definition at line 1170 of file vfpsingle.c.

u32 vfp_single_cprt ( u32  inst,
u32  fpscr,
struct pt_regs regs 
)