|
Rizin
unix-like reverse engineering framework and cli tools
|
Go to the source code of this file.
Classes | |
| struct | arg |
Macros | |
| #define | MASK_V6 SPARC_OPCODE_ARCH_MASK (SPARC_OPCODE_ARCH_V6) |
| #define | MASK_V7 SPARC_OPCODE_ARCH_MASK (SPARC_OPCODE_ARCH_V7) |
| #define | MASK_V8 SPARC_OPCODE_ARCH_MASK (SPARC_OPCODE_ARCH_V8) |
| #define | MASK_SPARCLET SPARC_OPCODE_ARCH_MASK (SPARC_OPCODE_ARCH_SPARCLET) |
| #define | MASK_SPARCLITE SPARC_OPCODE_ARCH_MASK (SPARC_OPCODE_ARCH_SPARCLITE) |
| #define | MASK_V9 SPARC_OPCODE_ARCH_MASK (SPARC_OPCODE_ARCH_V9) |
| #define | MASK_V9A SPARC_OPCODE_ARCH_MASK (SPARC_OPCODE_ARCH_V9A) |
| #define | MASK_V9B SPARC_OPCODE_ARCH_MASK (SPARC_OPCODE_ARCH_V9B) |
| #define | v6 |
| #define | v6notlet |
| #define | v7 |
| #define | v8 |
| #define | sparclet (MASK_SPARCLET) |
| #define | sparclite (MASK_SPARCLITE) |
| #define | v9 (MASK_V9 | MASK_V9A | MASK_V9B) |
| #define | v9a (MASK_V9A | MASK_V9B) |
| #define | v9b (MASK_V9B) |
| #define | v6notv9 |
| #define | v9notv9a (MASK_V9) |
| #define | COND(x) (((x) & 0xf) << 25) |
| #define | MCOND(x, i_or_f) ((((i_or_f) & 1) << 18) | (((x) >> 11) & (0xf << 14))) /* v9 */ |
| #define | RCOND(x) (((x) & 0x7) << 10) /* v9 */ |
| #define | CONDA (COND (0x8)) |
| #define | CONDCC (COND (0xd)) |
| #define | CONDCS (COND (0x5)) |
| #define | CONDE (COND (0x1)) |
| #define | CONDG (COND (0xa)) |
| #define | CONDGE (COND (0xb)) |
| #define | CONDGU (COND (0xc)) |
| #define | CONDL (COND (0x3)) |
| #define | CONDLE (COND (0x2)) |
| #define | CONDLEU (COND (0x4)) |
| #define | CONDN (COND (0x0)) |
| #define | CONDNE (COND (0x9)) |
| #define | CONDNEG (COND (0x6)) |
| #define | CONDPOS (COND (0xe)) |
| #define | CONDVC (COND (0xf)) |
| #define | CONDVS (COND (0x7)) |
| #define | CONDNZ CONDNE |
| #define | CONDZ CONDE |
| #define | CONDGEU CONDCC |
| #define | CONDLU CONDCS |
| #define | FCONDA (COND (0x8)) |
| #define | FCONDE (COND (0x9)) |
| #define | FCONDG (COND (0x6)) |
| #define | FCONDGE (COND (0xb)) |
| #define | FCONDL (COND (0x4)) |
| #define | FCONDLE (COND (0xd)) |
| #define | FCONDLG (COND (0x2)) |
| #define | FCONDN (COND (0x0)) |
| #define | FCONDNE (COND (0x1)) |
| #define | FCONDO (COND (0xf)) |
| #define | FCONDU (COND (0x7)) |
| #define | FCONDUE (COND (0xa)) |
| #define | FCONDUG (COND (0x5)) |
| #define | FCONDUGE (COND (0xc)) |
| #define | FCONDUL (COND (0x3)) |
| #define | FCONDULE (COND (0xe)) |
| #define | FCONDNZ FCONDNE |
| #define | FCONDZ FCONDE |
| #define | ICC (0) /* v9 */ |
| #define | XCC (1 << 12) /* v9 */ |
| #define | FCC(x) (((x) & 0x3) << 11) /* v9 */ |
| #define | FBFCC(x) (((x) & 0x3) << 20) /* v9 */ |
| #define | COMMUTEOP(opcode, op3, arch_mask) |
| #define | br(opcode, mask, lose, flags) |
| #define | brx(opcode, mask, lose, flags) |
| #define | tr(opcode, mask, lose, flags) |
| #define | cond(bop, top, mask, flags) |
| #define | brr(opcode, mask, lose, flags) |
| #define | condr(bop, mask, flags) |
| #define | movr(opcode, mask, flags) |
| #define | fmrrs(opcode, mask, lose, flags) |
| #define | fmrrd(opcode, mask, lose, flags) |
| #define | fmrrq(opcode, mask, lose, flags) |
| #define | fmovrs(mop, mask, flags) |
| #define | fmovrd(mop, mask, flags) |
| #define | fmovrq(mop, mask, flags) |
| #define | movicc(opcode, cond, flags) |
| #define | movfcc(opcode, fcond, flags) |
| #define | movcc(opcode, cond, fcond, flags) |
| #define | FM_SF 1 /* v9 - values for fpsize */ |
| #define | FM_DF 2 /* v9 */ |
| #define | FM_QF 3 /* v9 */ |
| #define | fmoviccx(opcode, fpsize, args, cond, flags) |
| #define | fmovfccx(opcode, fpsize, args, fcond, flags) |
| #define | fmovccx(opcode, fpsize, args, cond, fcond, flags) |
| #define | fmovicc(suffix, cond, flags) |
| #define | fmovfcc(suffix, fcond, flags) |
| #define | fmovcc(suffix, cond, fcond, flags) |
| #define | CBR(opcode, mask, lose, flags, arch) |
| #define | FBR(opcode, mask, lose, flags) |
| #define | FBRX(opcode, mask, lose, flags) |
| #define | CONDFC(fop, cop, mask, flags) |
| #define | CONDFCL(fop, cop, mask, flags) |
| #define | CONDF(fop, mask, flags) |
| #define | CMPFCC(x) (((x)&0x3)<<25) |
| #define | EFPOP1_2(name, op, args) { name, F3F(2, 0x36, op), F3F(~2, ~0x36, ~(op))|RS1_G0, args, 0, sparclite } |
| #define | EFPOP1_3(name, op, args) { name, F3F(2, 0x36, op), F3F(~2, ~0x36, ~(op)), args, 0, sparclite } |
| #define | EFPOP2_2(name, op, args) { name, F3F(2, 0x37, op), F3F(~2, ~0x37, ~(op))|RD_G0, args, 0, sparclite } |
| #define | BIT5 (1<<5) |
| #define | SLCBCC2(opcode, mask, lose) |
| #define | SLCBCC(opcode, mask) SLCBCC2(opcode, F2(0, 7)|COND(mask), F2(~0, ~7)|COND(~(mask))) |
| #define | IMPDEP(name, code) |
Functions | |
| enum sparc_opcode_arch_val | sparc_opcode_lookup_arch (const char *name) |
| static int | lookup_name (const arg *table, const char *name) |
| static const char * | lookup_value (const arg *table, int value) |
| int | sparc_encode_asi (const char *name) |
| const char * | sparc_decode_asi (int value) |
| int | sparc_encode_membar (const char *name) |
| const char * | sparc_decode_membar (int value) |
| int | sparc_encode_prefetch (const char *name) |
| const char * | sparc_decode_prefetch (int value) |
| int | sparc_encode_sparclet_cpreg (const char *name) |
| const char * | sparc_decode_sparclet_cpreg (int value) |
Variables | |
| const struct sparc_opcode_arch | sparc_opcode_archs [] |
| const struct sparc_opcode | sparc_opcodes [] |
| const int | sparc_num_opcodes = ((sizeof sparc_opcodes)/(sizeof sparc_opcodes[0])) |
| static arg | asi_table [] |
| static arg | membar_table [] |
| static arg | prefetch_table [] |
| static arg | sparclet_cpreg_table [] |
| #define BIT5 (1<<5) |
| #define COMMUTEOP | ( | opcode, | |
| op3, | |||
| arch_mask | |||
| ) |
Definition at line 172 of file sparc-opc.c.
Definition at line 108 of file sparc-opc.c.
| #define CONDA (COND (0x8)) |
Definition at line 116 of file sparc-opc.c.
| #define CONDCC (COND (0xd)) |
Definition at line 117 of file sparc-opc.c.
| #define CONDCS (COND (0x5)) |
Definition at line 118 of file sparc-opc.c.
| #define CONDE (COND (0x1)) |
Definition at line 119 of file sparc-opc.c.
| #define CONDG (COND (0xa)) |
Definition at line 120 of file sparc-opc.c.
| #define CONDGE (COND (0xb)) |
Definition at line 121 of file sparc-opc.c.
| #define CONDGEU CONDCC |
Definition at line 135 of file sparc-opc.c.
| #define CONDGU (COND (0xc)) |
Definition at line 122 of file sparc-opc.c.
| #define CONDL (COND (0x3)) |
Definition at line 123 of file sparc-opc.c.
| #define CONDLE (COND (0x2)) |
Definition at line 124 of file sparc-opc.c.
| #define CONDLEU (COND (0x4)) |
Definition at line 125 of file sparc-opc.c.
| #define CONDLU CONDCS |
Definition at line 136 of file sparc-opc.c.
| #define CONDN (COND (0x0)) |
Definition at line 126 of file sparc-opc.c.
| #define CONDNE (COND (0x9)) |
Definition at line 127 of file sparc-opc.c.
| #define CONDNEG (COND (0x6)) |
Definition at line 128 of file sparc-opc.c.
| #define CONDNZ CONDNE |
Definition at line 133 of file sparc-opc.c.
| #define CONDPOS (COND (0xe)) |
Definition at line 129 of file sparc-opc.c.
| #define CONDVC (COND (0xf)) |
Definition at line 130 of file sparc-opc.c.
| #define CONDVS (COND (0x7)) |
Definition at line 131 of file sparc-opc.c.
| #define CONDZ CONDE |
Definition at line 134 of file sparc-opc.c.
| #define EFPOP1_2 | ( | name, | |
| op, | |||
| args | |||
| ) | { name, F3F(2, 0x36, op), F3F(~2, ~0x36, ~(op))|RS1_G0, args, 0, sparclite } |
| #define EFPOP1_3 | ( | name, | |
| op, | |||
| args | |||
| ) | { name, F3F(2, 0x36, op), F3F(~2, ~0x36, ~(op)), args, 0, sparclite } |
| #define EFPOP2_2 | ( | name, | |
| op, | |||
| args | |||
| ) | { name, F3F(2, 0x37, op), F3F(~2, ~0x37, ~(op))|RD_G0, args, 0, sparclite } |
Definition at line 161 of file sparc-opc.c.
Definition at line 160 of file sparc-opc.c.
| #define FCONDA (COND (0x8)) |
Definition at line 138 of file sparc-opc.c.
| #define FCONDE (COND (0x9)) |
Definition at line 139 of file sparc-opc.c.
| #define FCONDG (COND (0x6)) |
Definition at line 140 of file sparc-opc.c.
| #define FCONDGE (COND (0xb)) |
Definition at line 141 of file sparc-opc.c.
| #define FCONDL (COND (0x4)) |
Definition at line 142 of file sparc-opc.c.
| #define FCONDLE (COND (0xd)) |
Definition at line 143 of file sparc-opc.c.
| #define FCONDLG (COND (0x2)) |
Definition at line 144 of file sparc-opc.c.
| #define FCONDN (COND (0x0)) |
Definition at line 145 of file sparc-opc.c.
| #define FCONDNE (COND (0x1)) |
Definition at line 146 of file sparc-opc.c.
| #define FCONDNZ FCONDNE |
Definition at line 155 of file sparc-opc.c.
| #define FCONDO (COND (0xf)) |
Definition at line 147 of file sparc-opc.c.
| #define FCONDU (COND (0x7)) |
Definition at line 148 of file sparc-opc.c.
| #define FCONDUE (COND (0xa)) |
Definition at line 149 of file sparc-opc.c.
| #define FCONDUG (COND (0x5)) |
Definition at line 150 of file sparc-opc.c.
| #define FCONDUGE (COND (0xc)) |
Definition at line 151 of file sparc-opc.c.
| #define FCONDUL (COND (0x3)) |
Definition at line 152 of file sparc-opc.c.
| #define FCONDULE (COND (0xe)) |
Definition at line 153 of file sparc-opc.c.
| #define FCONDZ FCONDE |
Definition at line 156 of file sparc-opc.c.
| #define FM_DF 2 /* v9 */ |
| #define FM_QF 3 /* v9 */ |
| #define FM_SF 1 /* v9 - values for fpsize */ |
| #define ICC (0) /* v9 */ |
Definition at line 158 of file sparc-opc.c.
| #define MASK_SPARCLET SPARC_OPCODE_ARCH_MASK (SPARC_OPCODE_ARCH_SPARCLET) |
Definition at line 37 of file sparc-opc.c.
| #define MASK_SPARCLITE SPARC_OPCODE_ARCH_MASK (SPARC_OPCODE_ARCH_SPARCLITE) |
Definition at line 38 of file sparc-opc.c.
| #define MASK_V6 SPARC_OPCODE_ARCH_MASK (SPARC_OPCODE_ARCH_V6) |
Definition at line 34 of file sparc-opc.c.
| #define MASK_V7 SPARC_OPCODE_ARCH_MASK (SPARC_OPCODE_ARCH_V7) |
Definition at line 35 of file sparc-opc.c.
| #define MASK_V8 SPARC_OPCODE_ARCH_MASK (SPARC_OPCODE_ARCH_V8) |
Definition at line 36 of file sparc-opc.c.
| #define MASK_V9 SPARC_OPCODE_ARCH_MASK (SPARC_OPCODE_ARCH_V9) |
Definition at line 39 of file sparc-opc.c.
| #define MASK_V9A SPARC_OPCODE_ARCH_MASK (SPARC_OPCODE_ARCH_V9A) |
Definition at line 40 of file sparc-opc.c.
| #define MASK_V9B SPARC_OPCODE_ARCH_MASK (SPARC_OPCODE_ARCH_V9B) |
Definition at line 41 of file sparc-opc.c.
Definition at line 111 of file sparc-opc.c.
| #define movfcc | ( | opcode, | |
| fcond, | |||
| flags | |||
| ) |
Definition at line 114 of file sparc-opc.c.
| #define SLCBCC2 | ( | opcode, | |
| mask, | |||
| lose | |||
| ) |
| #define sparclet (MASK_SPARCLET) |
Definition at line 60 of file sparc-opc.c.
| #define sparclite (MASK_SPARCLITE) |
Definition at line 61 of file sparc-opc.c.
| #define v6 |
Definition at line 45 of file sparc-opc.c.
| #define v6notlet |
Definition at line 48 of file sparc-opc.c.
| #define v6notv9 |
Definition at line 66 of file sparc-opc.c.
| #define v7 |
Definition at line 50 of file sparc-opc.c.
| v2 v22 v2 v22 v2 v15 v2 v14 v2 v22 v2 v22 v2 v15 v2 v14 v2 v22 v2 v22 v2 v22 v2 v22 v2 v8 |
Definition at line 58 of file sparc-opc.c.
Definition at line 62 of file sparc-opc.c.
Definition at line 63 of file sparc-opc.c.
| #define v9b (MASK_V9B) |
Definition at line 64 of file sparc-opc.c.
| #define v9notv9a (MASK_V9) |
Definition at line 70 of file sparc-opc.c.
| #define XCC (1 << 12) /* v9 */ |
Definition at line 159 of file sparc-opc.c.
Definition at line 1844 of file sparc-opc.c.
References p.
Referenced by sparc_encode_asi(), sparc_encode_membar(), sparc_encode_prefetch(), and sparc_encode_sparclet_cpreg().
Definition at line 1860 of file sparc-opc.c.
References NULL, p, and value.
Referenced by sparc_decode_asi(), sparc_decode_membar(), sparc_decode_prefetch(), and sparc_decode_sparclet_cpreg().
Definition at line 2051 of file sparc-opc.c.
References asi_table, lookup_value(), and value.
Referenced by print_insn_sparc().
Definition at line 2081 of file sparc-opc.c.
References lookup_value(), membar_table, and value.
Referenced by print_insn_sparc().
Definition at line 2115 of file sparc-opc.c.
References lookup_value(), prefetch_table, and value.
Referenced by print_insn_sparc().
Definition at line 2145 of file sparc-opc.c.
References lookup_value(), sparclet_cpreg_table, and value.
Referenced by print_insn_sparc().
Definition at line 2073 of file sparc-opc.c.
References lookup_name(), and membar_table.
Definition at line 2107 of file sparc-opc.c.
References lookup_name(), and prefetch_table.
Definition at line 2137 of file sparc-opc.c.
References lookup_name(), and sparclet_cpreg_table.
| enum sparc_opcode_arch_val sparc_opcode_lookup_arch | ( | const char * | name | ) |
Definition at line 1 of file sparc-opc.c.
|
static |
Definition at line 1875 of file sparc-opc.c.
Referenced by sparc_decode_asi(), and sparc_encode_asi().
|
static |
Definition at line 2058 of file sparc-opc.c.
Referenced by sparc_decode_membar(), and sparc_encode_membar().
|
static |
Definition at line 2088 of file sparc-opc.c.
Referenced by sparc_decode_prefetch(), and sparc_encode_prefetch().
| const int sparc_num_opcodes = ((sizeof sparc_opcodes)/(sizeof sparc_opcodes[0])) |
Definition at line 1831 of file sparc-opc.c.
Referenced by print_insn_sparc().
| const struct sparc_opcode_arch sparc_opcode_archs[] |
Definition at line 1 of file sparc-opc.c.
| const struct sparc_opcode sparc_opcodes[] |
Definition at line 1 of file sparc-opc.c.
Referenced by print_insn_sparc().
|
static |
Definition at line 2122 of file sparc-opc.c.
Referenced by sparc_decode_sparclet_cpreg(), and sparc_encode_sparclet_cpreg().