Rizin
unix-like reverse engineering framework and cli tools
|
#include <stdlib.h>
#include <string.h>
#include <stdio.h>
#include "arc-ext.h"
#include "arc.h"
#include "libiberty.h"
#include "sysdep.h"
Go to the source code of this file.
Classes | |
struct | ExtInstruction |
struct | ExtAuxRegister |
struct | ExtCoreRegister |
struct | arcExtMap |
Macros | |
#define | FIRST_EXTENSION_CORE_REGISTER 32 |
#define | LAST_EXTENSION_CORE_REGISTER 59 |
#define | FIRST_EXTENSION_CONDITION_CODE 0x10 |
#define | LAST_EXTENSION_CONDITION_CODE 0x1f |
#define | NUM_EXT_CORE (LAST_EXTENSION_CORE_REGISTER - FIRST_EXTENSION_CORE_REGISTER + 1) |
#define | NUM_EXT_COND (LAST_EXTENSION_CONDITION_CODE - FIRST_EXTENSION_CONDITION_CODE + 1) |
#define | INST_HASH_BITS 6 |
#define | INST_HASH_SIZE (1 << INST_HASH_BITS) |
#define | INST_HASH_MASK (INST_HASH_SIZE - 1) |
#define | INST_HASH(MAJOR, MINOR) ((((MAJOR) << 3) ^ (MINOR)) & INST_HASH_MASK) |
Functions | |
static const char * | ExtReadWrite_image (enum ExtReadWrite val) |
const char * | arcExtMap_instName (int opcode, int insn, int *flags) |
const char * | arcExtMap_coreRegName (int regnum) |
enum ExtReadWrite | arcExtMap_coreReadWrite (int regnum) |
const char * | arcExtMap_condCodeName (int code) |
const char * | arcExtMap_auxRegName (long address) |
void | build_ARC_extmap (void *text_bfd) |
void | dump_ARC_extmap (void) |
Variables | |
static struct arcExtMap | arc_extension_map |
#define INST_HASH | ( | MAJOR, | |
MINOR | |||
) | ((((MAJOR) << 3) ^ (MINOR)) & INST_HASH_MASK) |
#define INST_HASH_MASK (INST_HASH_SIZE - 1) |
#define INST_HASH_SIZE (1 << INST_HASH_BITS) |
#define NUM_EXT_COND (LAST_EXTENSION_CONDITION_CODE - FIRST_EXTENSION_CONDITION_CODE + 1) |
#define NUM_EXT_CORE (LAST_EXTENSION_CORE_REGISTER - FIRST_EXTENSION_CORE_REGISTER + 1) |
Definition at line 435 of file arc-ext.c.
References ExtAuxRegister::address, arc_extension_map, arcExtMap::auxRegisters, NULL, and r.
Referenced by _auxRegName().
Definition at line 424 of file arc-ext.c.
References arc_extension_map, arcExtMap::condCodes, FIRST_EXTENSION_CONDITION_CODE, LAST_EXTENSION_CONDITION_CODE, and NULL.
Referenced by _condCodeName().
enum ExtReadWrite arcExtMap_coreReadWrite | ( | int | regnum | ) |
Definition at line 402 of file arc-ext.c.
References arc_extension_map, arcExtMap::coreRegisters, FIRST_EXTENSION_CORE_REGISTER, LAST_EXTENSION_CORE_REGISTER, ExtCoreRegister::name, and NULL.
Definition at line 300 of file arc-ext.c.
References A, arc_extension_map, b, B, c, E_ARC_MACH_A4, ExtInstruction::flags, flags, I, i, INST_HASH, arcExtMap::instructions, M, ExtInstruction::major, ExtInstruction::minor, minor, ExtInstruction::name, ExtInstruction::next, NULL, and P.
Referenced by _instName().
void build_ARC_extmap | ( | void * | text_bfd | ) |
Definition at line 453 of file arc-ext.c.
References bfd_get_section_contents(), bfd_get_section_size, count, free(), bfd_section::name, bfd_section::next, NULL, and xmalloc.
void dump_ARC_extmap | ( | void | ) |
Definition at line 483 of file arc-ext.c.
References arc_extension_map, arcExtMap::auxRegisters, arcExtMap::condCodes, arcExtMap::coreRegisters, ExtReadWrite_image(), ExtInstruction::flags, i, INST_HASH_SIZE, arcExtMap::instructions, ExtInstruction::major, ExtInstruction::minor, ExtInstruction::name, ExtInstruction::next, NULL, NUM_EXT_COND, NUM_EXT_CORE, printf(), r, and reg.
|
static |
Definition at line 280 of file arc-ext.c.
References test-lz4-speed::default, REG_INVALID, REG_READ, REG_READWRITE, REG_WRITE, and val.
Referenced by dump_ARC_extmap().
|
static |
Definition at line 1 of file arc-ext.c.
Referenced by arcExtMap_auxRegName(), arcExtMap_condCodeName(), arcExtMap_coreReadWrite(), arcExtMap_instName(), and dump_ARC_extmap().