Linux Kernel  3.7.1
 All Data Structures Namespaces Files Functions Variables Typedefs Enumerations Enumerator Macros Groups Pages
Data Structures | Macros | Functions
visemul.c File Reference
#include <linux/kernel.h>
#include <linux/errno.h>
#include <linux/thread_info.h>
#include <linux/perf_event.h>
#include <asm/ptrace.h>
#include <asm/pstate.h>
#include <asm/fpumacro.h>
#include <asm/uaccess.h>
#include <asm/cacheflush.h>

Go to the source code of this file.

Data Structures

struct  edge_tab
 

Macros

#define FPACK16_OPF   0x03b
 
#define FPACK32_OPF   0x03a
 
#define FPACKFIX_OPF   0x03d
 
#define FEXPAND_OPF   0x04d
 
#define FPMERGE_OPF   0x04b
 
#define FMUL8x16_OPF   0x031
 
#define FMUL8x16AU_OPF   0x033
 
#define FMUL8x16AL_OPF   0x035
 
#define FMUL8SUx16_OPF   0x036
 
#define FMUL8ULx16_OPF   0x037
 
#define FMULD8SUx16_OPF   0x038
 
#define FMULD8ULx16_OPF   0x039
 
#define FCMPGT16_OPF   0x028
 
#define FCMPGT32_OPF   0x02c
 
#define FCMPLE16_OPF   0x020
 
#define FCMPLE32_OPF   0x024
 
#define FCMPNE16_OPF   0x022
 
#define FCMPNE32_OPF   0x026
 
#define FCMPEQ16_OPF   0x02a
 
#define FCMPEQ32_OPF   0x02e
 
#define EDGE8_OPF   0x000
 
#define EDGE8N_OPF   0x001
 
#define EDGE8L_OPF   0x002
 
#define EDGE8LN_OPF   0x003
 
#define EDGE16_OPF   0x004
 
#define EDGE16N_OPF   0x005
 
#define EDGE16L_OPF   0x006
 
#define EDGE16LN_OPF   0x007
 
#define EDGE32_OPF   0x008
 
#define EDGE32N_OPF   0x009
 
#define EDGE32L_OPF   0x00a
 
#define EDGE32LN_OPF   0x00b
 
#define PDIST_OPF   0x03e
 
#define ARRAY8_OPF   0x010
 
#define ARRAY16_OPF   0x012
 
#define ARRAY32_OPF   0x014
 
#define BMASK_OPF   0x019
 
#define BSHUFFLE_OPF   0x04c
 
#define VIS_OPF_SHIFT   5
 
#define VIS_OPF_MASK   (0x1ff << VIS_OPF_SHIFT)
 
#define RS1(INSN)   (((INSN) >> 14) & 0x1f)
 
#define RS2(INSN)   (((INSN) >> 0) & 0x1f)
 
#define RD(INSN)   (((INSN) >> 25) & 0x1f)
 

Functions

int vis_emul (struct pt_regs *regs, unsigned int insn)
 

Macro Definition Documentation

#define ARRAY16_OPF   0x012

Definition at line 121 of file visemul.c.

#define ARRAY32_OPF   0x014

Definition at line 124 of file visemul.c.

#define ARRAY8_OPF   0x010

Definition at line 118 of file visemul.c.

#define BMASK_OPF   0x019

Definition at line 127 of file visemul.c.

#define BSHUFFLE_OPF   0x04c

Definition at line 130 of file visemul.c.

#define EDGE16_OPF   0x004

Definition at line 91 of file visemul.c.

#define EDGE16L_OPF   0x006

Definition at line 97 of file visemul.c.

#define EDGE16LN_OPF   0x007

Definition at line 100 of file visemul.c.

#define EDGE16N_OPF   0x005

Definition at line 94 of file visemul.c.

#define EDGE32_OPF   0x008

Definition at line 103 of file visemul.c.

#define EDGE32L_OPF   0x00a

Definition at line 109 of file visemul.c.

#define EDGE32LN_OPF   0x00b

Definition at line 112 of file visemul.c.

#define EDGE32N_OPF   0x009

Definition at line 106 of file visemul.c.

#define EDGE8_OPF   0x000

Definition at line 79 of file visemul.c.

#define EDGE8L_OPF   0x002

Definition at line 85 of file visemul.c.

#define EDGE8LN_OPF   0x003

Definition at line 88 of file visemul.c.

#define EDGE8N_OPF   0x001

Definition at line 82 of file visemul.c.

#define FCMPEQ16_OPF   0x02a

Definition at line 73 of file visemul.c.

#define FCMPEQ32_OPF   0x02e

Definition at line 76 of file visemul.c.

#define FCMPGT16_OPF   0x028

Definition at line 55 of file visemul.c.

#define FCMPGT32_OPF   0x02c

Definition at line 58 of file visemul.c.

#define FCMPLE16_OPF   0x020

Definition at line 61 of file visemul.c.

#define FCMPLE32_OPF   0x024

Definition at line 64 of file visemul.c.

#define FCMPNE16_OPF   0x022

Definition at line 67 of file visemul.c.

#define FCMPNE32_OPF   0x026

Definition at line 70 of file visemul.c.

#define FEXPAND_OPF   0x04d

Definition at line 28 of file visemul.c.

#define FMUL8SUx16_OPF   0x036

Definition at line 43 of file visemul.c.

#define FMUL8ULx16_OPF   0x037

Definition at line 46 of file visemul.c.

#define FMUL8x16_OPF   0x031

Definition at line 34 of file visemul.c.

#define FMUL8x16AL_OPF   0x035

Definition at line 40 of file visemul.c.

#define FMUL8x16AU_OPF   0x033

Definition at line 37 of file visemul.c.

#define FMULD8SUx16_OPF   0x038

Definition at line 49 of file visemul.c.

#define FMULD8ULx16_OPF   0x039

Definition at line 52 of file visemul.c.

#define FPACK16_OPF   0x03b

Definition at line 19 of file visemul.c.

#define FPACK32_OPF   0x03a

Definition at line 22 of file visemul.c.

#define FPACKFIX_OPF   0x03d

Definition at line 25 of file visemul.c.

#define FPMERGE_OPF   0x04b

Definition at line 31 of file visemul.c.

#define PDIST_OPF   0x03e

Definition at line 115 of file visemul.c.

#define RD (   INSN)    (((INSN) >> 25) & 0x1f)

Definition at line 137 of file visemul.c.

#define RS1 (   INSN)    (((INSN) >> 14) & 0x1f)

Definition at line 135 of file visemul.c.

#define RS2 (   INSN)    (((INSN) >> 0) & 0x1f)

Definition at line 136 of file visemul.c.

#define VIS_OPF_MASK   (0x1ff << VIS_OPF_SHIFT)

Definition at line 133 of file visemul.c.

#define VIS_OPF_SHIFT   5

Definition at line 132 of file visemul.c.

Function Documentation

int vis_emul ( struct pt_regs regs,
unsigned int  insn 
)

Definition at line 803 of file visemul.c.