Rizin
unix-like reverse engineering framework and cli tools
|
#include <stdio.h>
#include <string.h>
#include <stdlib.h>
#include <rz_util.h>
#include "../../include/disas-asm.h"
#include "../../include/sysdep.h"
#include "../../include/xtensa-isa.h"
#include "../../include/xtensa-isa-internal.h"
Go to the source code of this file.
Macros | |
#define | CHECK_ALLOC(MEM, ERRVAL) |
#define | CHECK_ALLOC_FOR_INIT(MEM, ERRVAL, ERRNO_P, ERROR_MSG_P) |
#define | CHECK_FORMAT(INTISA, FMT, ERRVAL) |
#define | CHECK_SLOT(INTISA, FMT, SLOT, ERRVAL) |
#define | CHECK_OPCODE(INTISA, OPC, ERRVAL) |
#define | CHECK_OPERAND(INTISA, OPC, ICLASS, OPND, ERRVAL) |
#define | CHECK_STATE_OPERAND(INTISA, OPC, ICLASS, STOP, ERRVAL) |
#define | CHECK_INTERFACE_OPERAND(INTISA, OPC, ICLASS, IFOP, ERRVAL) |
#define | CHECK_REGFILE(INTISA, RF, ERRVAL) |
#define | CHECK_STATE(INTISA, ST, ERRVAL) |
#define | CHECK_SYSREG(INTISA, SYSREG, ERRVAL) |
#define | CHECK_INTERFACE(INTISA, INTF, ERRVAL) |
#define | CHECK_FUNCUNIT(INTISA, FUN, ERRVAL) |
Variables | |
xtensa_isa_status | xtisa_errno |
char | xtisa_error_msg [1024] |
xtensa_isa_internal | xtensa_modules |
#define CHECK_ALLOC | ( | MEM, | |
ERRVAL | |||
) |
Definition at line 53 of file xtensa-isa.c.
#define CHECK_ALLOC_FOR_INIT | ( | MEM, | |
ERRVAL, | |||
ERRNO_P, | |||
ERROR_MSG_P | |||
) |
Definition at line 63 of file xtensa-isa.c.
#define CHECK_FORMAT | ( | INTISA, | |
FMT, | |||
ERRVAL | |||
) |
Definition at line 512 of file xtensa-isa.c.
#define CHECK_FUNCUNIT | ( | INTISA, | |
FUN, | |||
ERRVAL | |||
) |
Definition at line 1794 of file xtensa-isa.c.
#define CHECK_INTERFACE | ( | INTISA, | |
INTF, | |||
ERRVAL | |||
) |
Definition at line 1699 of file xtensa-isa.c.
#define CHECK_INTERFACE_OPERAND | ( | INTISA, | |
OPC, | |||
ICLASS, | |||
IFOP, | |||
ERRVAL | |||
) |
Definition at line 1359 of file xtensa-isa.c.
#define CHECK_OPCODE | ( | INTISA, | |
OPC, | |||
ERRVAL | |||
) |
Definition at line 664 of file xtensa-isa.c.
#define CHECK_OPERAND | ( | INTISA, | |
OPC, | |||
ICLASS, | |||
OPND, | |||
ERRVAL | |||
) |
Definition at line 881 of file xtensa-isa.c.
#define CHECK_REGFILE | ( | INTISA, | |
RF, | |||
ERRVAL | |||
) |
Definition at line 1393 of file xtensa-isa.c.
#define CHECK_SLOT | ( | INTISA, | |
FMT, | |||
SLOT, | |||
ERRVAL | |||
) |
Definition at line 523 of file xtensa-isa.c.
#define CHECK_STATE | ( | INTISA, | |
ST, | |||
ERRVAL | |||
) |
Definition at line 1513 of file xtensa-isa.c.
#define CHECK_STATE_OPERAND | ( | INTISA, | |
OPC, | |||
ICLASS, | |||
STOP, | |||
ERRVAL | |||
) |
Definition at line 1312 of file xtensa-isa.c.
#define CHECK_SYSREG | ( | INTISA, | |
SYSREG, | |||
ERRVAL | |||
) |
Definition at line 1601 of file xtensa-isa.c.
Definition at line 117 of file xtensa-isa.c.
Referenced by xtensa_insnbuf_from_chars(), and xtensa_insnbuf_to_chars().
Definition at line 110 of file xtensa-isa.c.
Referenced by xtensa_insnbuf_from_chars(), and xtensa_insnbuf_to_chars().
Definition at line 151 of file elf32-xtensa.c.
References c1, c2, s1, s2, and TOLOWER.
Referenced by xtensa_regfile_lookup(), and xtensa_regfile_lookup_shortname().
|
static |
Definition at line 895 of file xtensa-isa.c.
References CHECK_OPCODE, CHECK_OPERAND, xtensa_opcode_internal_struct::iclass_id, xtensa_isa_internal_struct::iclasses, NULL, opc, xtensa_isa_internal_struct::opcodes, xtensa_arg_internal_struct::operand_id, xtensa_iclass_internal_struct::operands, xtensa_isa_internal_struct::operands, and xtensa_arg_internal_struct::u.
Referenced by xtensa_operand_decode(), xtensa_operand_do_reloc(), xtensa_operand_encode(), xtensa_operand_get_field(), xtensa_operand_is_known_reg(), xtensa_operand_is_PCrelative(), xtensa_operand_is_register(), xtensa_operand_name(), xtensa_operand_num_regs(), xtensa_operand_regfile(), xtensa_operand_set_field(), and xtensa_operand_undo_reloc().
xtensa_format xtensa_format_decode | ( | xtensa_isa | isa, |
const xtensa_insnbuf | insn | ||
) |
Definition at line 570 of file xtensa-isa.c.
References xtensa_isa_internal_struct::format_decode_fn, xtensa_isa_bad_format, XTENSA_UNDEFINED, xtisa_errno, and xtisa_error_msg.
Referenced by print_insn_xtensa(), xtensa_insnbuf_to_chars(), and xtensa_op().
int xtensa_format_encode | ( | xtensa_isa | isa, |
xtensa_format | fmt, | ||
xtensa_insnbuf | insn | ||
) |
Definition at line 587 of file xtensa-isa.c.
References CHECK_FORMAT, xtensa_format_internal_struct::encode_fn, and xtensa_isa_internal_struct::formats.
int xtensa_format_get_slot | ( | xtensa_isa | isa, |
xtensa_format | fmt, | ||
int | slot, | ||
const xtensa_insnbuf | insn, | ||
xtensa_insnbuf | slotbuf | ||
) |
Definition at line 629 of file xtensa-isa.c.
References CHECK_FORMAT, CHECK_SLOT, xtensa_isa_internal_struct::formats, xtensa_slot_internal_struct::get_fn, xtensa_format_internal_struct::slot_id, and xtensa_isa_internal_struct::slots.
Referenced by print_insn_xtensa(), and xtensa_op().
int xtensa_format_length | ( | xtensa_isa | isa, |
xtensa_format | fmt | ||
) |
Definition at line 597 of file xtensa-isa.c.
References CHECK_FORMAT, xtensa_isa_internal_struct::formats, xtensa_format_internal_struct::length, and XTENSA_UNDEFINED.
Referenced by print_insn_xtensa(), and xtensa_insnbuf_to_chars().
xtensa_format xtensa_format_lookup | ( | xtensa_isa | isa, |
const char * | fmtname | ||
) |
Definition at line 544 of file xtensa-isa.c.
References xtensa_isa_internal_struct::formats, xtensa_format_internal_struct::name, xtensa_isa_internal_struct::num_formats, rz_str_casecmp(), sprintf, xtensa_isa_bad_format, XTENSA_UNDEFINED, xtisa_errno, and xtisa_error_msg.
const char* xtensa_format_name | ( | xtensa_isa | isa, |
xtensa_format | fmt | ||
) |
Definition at line 535 of file xtensa-isa.c.
References CHECK_FORMAT, xtensa_isa_internal_struct::formats, xtensa_format_internal_struct::name, and NULL.
int xtensa_format_num_slots | ( | xtensa_isa | isa, |
xtensa_format | fmt | ||
) |
Definition at line 606 of file xtensa-isa.c.
References CHECK_FORMAT, xtensa_isa_internal_struct::formats, xtensa_format_internal_struct::num_slots, and XTENSA_UNDEFINED.
Referenced by print_insn_xtensa(), and xtensa_op().
int xtensa_format_set_slot | ( | xtensa_isa | isa, |
xtensa_format | fmt, | ||
int | slot, | ||
xtensa_insnbuf | insn, | ||
const xtensa_insnbuf | slotbuf | ||
) |
Definition at line 645 of file xtensa-isa.c.
References CHECK_FORMAT, CHECK_SLOT, xtensa_isa_internal_struct::formats, xtensa_slot_internal_struct::set_fn, xtensa_format_internal_struct::slot_id, and xtensa_isa_internal_struct::slots.
xtensa_opcode xtensa_format_slot_nop_opcode | ( | xtensa_isa | isa, |
xtensa_format | fmt, | ||
int | slot | ||
) |
Definition at line 615 of file xtensa-isa.c.
References CHECK_FORMAT, CHECK_SLOT, xtensa_isa_internal_struct::formats, xtensa_slot_internal_struct::nop_name, xtensa_format_internal_struct::slot_id, xtensa_isa_internal_struct::slots, xtensa_opcode_lookup(), and XTENSA_UNDEFINED.
xtensa_funcUnit xtensa_funcUnit_lookup | ( | xtensa_isa | isa, |
const char * | fname | ||
) |
Definition at line 1806 of file xtensa-isa.c.
References create_tags_rz::fname, xtensa_lookup_entry_struct::fun, xtensa_isa_internal_struct::funcUnit_lookup_table, xtensa_isa_internal_struct::num_funcUnits, sprintf, xtensa_lookup_entry_struct::u, xtensa_isa_bad_funcUnit, xtensa_isa_name_compare(), XTENSA_UNDEFINED, xtisa_errno, and xtisa_error_msg.
const char* xtensa_funcUnit_name | ( | xtensa_isa | isa, |
xtensa_funcUnit | fun | ||
) |
Definition at line 1839 of file xtensa-isa.c.
References CHECK_FUNCUNIT, xtensa_isa_internal_struct::funcUnits, xtensa_funcUnit_internal_struct::name, and NULL.
int xtensa_funcUnit_num_copies | ( | xtensa_isa | isa, |
xtensa_funcUnit | fun | ||
) |
Definition at line 1848 of file xtensa-isa.c.
References CHECK_FUNCUNIT, xtensa_isa_internal_struct::funcUnits, xtensa_funcUnit_internal_struct::num_copies, and XTENSA_UNDEFINED.
xtensa_insnbuf xtensa_insnbuf_alloc | ( | xtensa_isa | isa | ) |
Definition at line 88 of file xtensa-isa.c.
References CHECK_ALLOC, malloc(), and xtensa_insnbuf_size().
Referenced by print_insn_xtensa(), xtensa_op(), and xtensa_operand_encode().
void xtensa_insnbuf_free | ( | xtensa_isa isa | __attribute__(unused), |
xtensa_insnbuf | buf | ||
) |
void xtensa_insnbuf_from_chars | ( | xtensa_isa | isa, |
xtensa_insnbuf | insn, | ||
const unsigned char * | cp, | ||
int | num_chars | ||
) |
Definition at line 196 of file xtensa-isa.c.
References byte_to_bit_index(), byte_to_word_index(), i, xtensa_isa_internal_struct::is_big_endian, xtensa_isa_internal_struct::length_decode_fn, memset(), start, xtensa_insnbuf_size(), xtensa_isa_maxlength(), and XTENSA_UNDEFINED.
Referenced by print_insn_xtensa(), and xtensa_op().
int xtensa_insnbuf_size | ( | xtensa_isa | isa | ) |
Definition at line 80 of file xtensa-isa.c.
References xtensa_isa_internal_struct::insnbuf_size.
Referenced by print_insn_xtensa(), xtensa_insnbuf_alloc(), xtensa_insnbuf_from_chars(), and xtensa_op().
int xtensa_insnbuf_to_chars | ( | xtensa_isa | isa, |
const xtensa_insnbuf | insn, | ||
unsigned char * | cp, | ||
int | num_chars | ||
) |
Definition at line 133 of file xtensa-isa.c.
References byte_to_bit_index(), byte_to_word_index(), i, xtensa_isa_internal_struct::is_big_endian, start, xtensa_format_decode(), xtensa_format_length(), xtensa_isa_buffer_overflow, xtensa_isa_maxlength(), XTENSA_UNDEFINED, xtisa_errno, and xtisa_error_msg.
int xtensa_interface_class_id | ( | xtensa_isa | isa, |
xtensa_interface | intf | ||
) |
Definition at line 1782 of file xtensa-isa.c.
References CHECK_INTERFACE, xtensa_interface_internal_struct::class_id, xtensa_isa_internal_struct::interfaces, and XTENSA_UNDEFINED.
int xtensa_interface_has_side_effect | ( | xtensa_isa | isa, |
xtensa_interface | intf | ||
) |
Definition at line 1770 of file xtensa-isa.c.
References CHECK_INTERFACE, xtensa_interface_internal_struct::flags, xtensa_isa_internal_struct::interfaces, XTENSA_INTERFACE_HAS_SIDE_EFFECT, and XTENSA_UNDEFINED.
char xtensa_interface_inout | ( | xtensa_isa | isa, |
xtensa_interface | intf | ||
) |
Definition at line 1761 of file xtensa-isa.c.
References CHECK_INTERFACE, xtensa_interface_internal_struct::inout, and xtensa_isa_internal_struct::interfaces.
xtensa_interface xtensa_interface_lookup | ( | xtensa_isa | isa, |
const char * | ifname | ||
) |
Definition at line 1711 of file xtensa-isa.c.
References xtensa_isa_internal_struct::interface_lookup_table, xtensa_lookup_entry_struct::intf, xtensa_isa_internal_struct::num_interfaces, sprintf, xtensa_lookup_entry_struct::u, xtensa_isa_bad_interface, xtensa_isa_name_compare(), XTENSA_UNDEFINED, xtisa_errno, and xtisa_error_msg.
const char* xtensa_interface_name | ( | xtensa_isa | isa, |
xtensa_interface | intf | ||
) |
Definition at line 1743 of file xtensa-isa.c.
References CHECK_INTERFACE, xtensa_isa_internal_struct::interfaces, xtensa_interface_internal_struct::name, and NULL.
int xtensa_interface_num_bits | ( | xtensa_isa | isa, |
xtensa_interface | intf | ||
) |
Definition at line 1752 of file xtensa-isa.c.
References CHECK_INTERFACE, xtensa_isa_internal_struct::interfaces, xtensa_interface_internal_struct::num_bits, and XTENSA_UNDEFINED.
xtensa_interface xtensa_interfaceOperand_interface | ( | xtensa_isa | isa, |
xtensa_opcode | opc, | ||
int | ifOp | ||
) |
Definition at line 1374 of file xtensa-isa.c.
References CHECK_INTERFACE_OPERAND, CHECK_OPCODE, xtensa_opcode_internal_struct::iclass_id, xtensa_isa_internal_struct::iclasses, xtensa_iclass_internal_struct::interfaceOperands, opc, xtensa_isa_internal_struct::opcodes, and XTENSA_UNDEFINED.
xtensa_isa_status xtensa_isa_errno | ( | xtensa_isa isa | __attribute__(unused) | ) |
Definition at line 40 of file xtensa-isa.c.
References xtisa_errno.
char* xtensa_isa_error_msg | ( | xtensa_isa isa | __attribute__(unused) | ) |
Definition at line 47 of file xtensa-isa.c.
References xtisa_error_msg.
void xtensa_isa_free | ( | xtensa_isa | isa | ) |
Definition at line 344 of file xtensa-isa.c.
References free(), xtensa_isa_internal_struct::funcUnit_lookup_table, xtensa_isa_internal_struct::interface_lookup_table, n, xtensa_isa_internal_struct::opname_lookup_table, xtensa_isa_internal_struct::state_lookup_table, xtensa_isa_internal_struct::sysreg_lookup_table, and xtensa_isa_internal_struct::sysreg_table.
xtensa_isa xtensa_isa_init | ( | xtensa_isa_status * | errno_p, |
char ** | error_msg_p | ||
) |
Definition at line 248 of file xtensa-isa.c.
References bfd_malloc, calloc(), CHECK_ALLOC_FOR_INIT, xtensa_lookup_entry_struct::fun, xtensa_isa_internal_struct::funcUnit_lookup_table, xtensa_isa_internal_struct::funcUnits, xtensa_isa_internal_struct::insn_size, xtensa_isa_internal_struct::insnbuf_size, xtensa_isa_internal_struct::interface_lookup_table, xtensa_isa_internal_struct::interfaces, xtensa_lookup_entry_struct::intf, xtensa_sysreg_internal_struct::is_user, xtensa_lookup_entry_struct::key, xtensa_isa_internal_struct::max_sysreg_num, n, xtensa_opcode_internal_struct::name, xtensa_interface_internal_struct::name, xtensa_funcUnit_internal_struct::name, xtensa_state_internal_struct::name, xtensa_sysreg_internal_struct::name, NULL, xtensa_isa_internal_struct::num_funcUnits, xtensa_isa_internal_struct::num_interfaces, xtensa_isa_internal_struct::num_opcodes, xtensa_isa_internal_struct::num_states, xtensa_isa_internal_struct::num_sysregs, xtensa_sysreg_internal_struct::number, xtensa_lookup_entry_struct::opcode, xtensa_isa_internal_struct::opcodes, xtensa_isa_internal_struct::opname_lookup_table, qsort(), xtensa_lookup_entry_struct::state, xtensa_isa_internal_struct::state_lookup_table, xtensa_isa_internal_struct::states, xtensa_lookup_entry_struct::sysreg, xtensa_isa_internal_struct::sysreg_lookup_table, xtensa_isa_internal_struct::sysreg_table, xtensa_isa_internal_struct::sysregs, xtensa_lookup_entry_struct::u, xtensa_isa_name_compare(), xtensa_modules, and XTENSA_UNDEFINED.
Referenced by print_insn_xtensa(), and xtensa_op().
int xtensa_isa_length_from_chars | ( | xtensa_isa | isa, |
const unsigned char * | cp | ||
) |
Definition at line 413 of file xtensa-isa.c.
References xtensa_isa_internal_struct::length_decode_fn.
int xtensa_isa_maxlength | ( | xtensa_isa | isa | ) |
Definition at line 405 of file xtensa-isa.c.
References xtensa_isa_internal_struct::insn_size.
Referenced by fetch_data(), print_insn_xtensa(), xtensa_insnbuf_from_chars(), and xtensa_insnbuf_to_chars().
Definition at line 395 of file xtensa-isa.c.
References xtensa_lookup_entry_struct::key, rz_str_casecmp(), and v1.
Referenced by xtensa_funcUnit_lookup(), xtensa_interface_lookup(), xtensa_isa_init(), xtensa_opcode_lookup(), xtensa_state_lookup(), and xtensa_sysreg_lookup_name().
int xtensa_isa_num_formats | ( | xtensa_isa | isa | ) |
int xtensa_isa_num_funcUnits | ( | xtensa_isa | isa | ) |
int xtensa_isa_num_interfaces | ( | xtensa_isa | isa | ) |
int xtensa_isa_num_opcodes | ( | xtensa_isa | isa | ) |
Definition at line 461 of file xtensa-isa.c.
References xtensa_isa_internal_struct::num_opcodes.
Referenced by xtensa_isa_num_pipe_stages().
int xtensa_isa_num_pipe_stages | ( | xtensa_isa | isa | ) |
Definition at line 421 of file xtensa-isa.c.
References i, xtensa_funcUnit_use_struct::stage, xtensa_isa_num_opcodes(), xtensa_opcode_funcUnit_use(), xtensa_opcode_num_funcUnit_uses(), and XTENSA_UNDEFINED.
int xtensa_isa_num_regfiles | ( | xtensa_isa | isa | ) |
int xtensa_isa_num_states | ( | xtensa_isa | isa | ) |
int xtensa_isa_num_sysregs | ( | xtensa_isa | isa | ) |
xtensa_opcode xtensa_opcode_decode | ( | xtensa_isa | isa, |
xtensa_format | fmt, | ||
int | slot, | ||
const xtensa_insnbuf | slotbuf | ||
) |
Definition at line 708 of file xtensa-isa.c.
References CHECK_FORMAT, CHECK_SLOT, xtensa_isa_internal_struct::formats, opc, xtensa_slot_internal_struct::opcode_decode_fn, xtensa_format_internal_struct::slot_id, xtensa_isa_internal_struct::slots, xtensa_isa_bad_opcode, XTENSA_UNDEFINED, xtisa_errno, and xtisa_error_msg.
Referenced by print_insn_xtensa(), and xtensa_op().
int xtensa_opcode_encode | ( | xtensa_isa | isa, |
xtensa_format | fmt, | ||
int | slot, | ||
xtensa_insnbuf | slotbuf, | ||
xtensa_opcode | opc | ||
) |
Definition at line 732 of file xtensa-isa.c.
References CHECK_FORMAT, CHECK_OPCODE, CHECK_SLOT, xtensa_opcode_internal_struct::encode_fns, xtensa_isa_internal_struct::formats, xtensa_format_internal_struct::name, xtensa_opcode_internal_struct::name, opc, xtensa_isa_internal_struct::opcodes, xtensa_format_internal_struct::slot_id, sprintf, xtensa_isa_wrong_slot, xtisa_errno, and xtisa_error_msg.
xtensa_funcUnit_use* xtensa_opcode_funcUnit_use | ( | xtensa_isa | isa, |
xtensa_opcode | opc, | ||
int | u | ||
) |
Definition at line 861 of file xtensa-isa.c.
References CHECK_OPCODE, xtensa_opcode_internal_struct::funcUnit_uses, xtensa_opcode_internal_struct::name, NULL, xtensa_opcode_internal_struct::num_funcUnit_uses, opc, xtensa_isa_internal_struct::opcodes, sprintf, xtensa_isa_bad_funcUnit, xtisa_errno, and xtisa_error_msg.
Referenced by xtensa_isa_num_pipe_stages().
int xtensa_opcode_is_branch | ( | xtensa_isa | isa, |
xtensa_opcode | opc | ||
) |
Definition at line 768 of file xtensa-isa.c.
References CHECK_OPCODE, xtensa_opcode_internal_struct::flags, opc, xtensa_isa_internal_struct::opcodes, XTENSA_OPCODE_IS_BRANCH, and XTENSA_UNDEFINED.
int xtensa_opcode_is_call | ( | xtensa_isa | isa, |
xtensa_opcode | opc | ||
) |
Definition at line 804 of file xtensa-isa.c.
References CHECK_OPCODE, xtensa_opcode_internal_struct::flags, opc, xtensa_isa_internal_struct::opcodes, XTENSA_OPCODE_IS_CALL, and XTENSA_UNDEFINED.
int xtensa_opcode_is_jump | ( | xtensa_isa | isa, |
xtensa_opcode | opc | ||
) |
Definition at line 780 of file xtensa-isa.c.
References CHECK_OPCODE, xtensa_opcode_internal_struct::flags, opc, xtensa_isa_internal_struct::opcodes, XTENSA_OPCODE_IS_JUMP, and XTENSA_UNDEFINED.
int xtensa_opcode_is_loop | ( | xtensa_isa | isa, |
xtensa_opcode | opc | ||
) |
Definition at line 792 of file xtensa-isa.c.
References CHECK_OPCODE, xtensa_opcode_internal_struct::flags, opc, xtensa_isa_internal_struct::opcodes, XTENSA_OPCODE_IS_LOOP, and XTENSA_UNDEFINED.
xtensa_opcode xtensa_opcode_lookup | ( | xtensa_isa | isa, |
const char * | opname | ||
) |
Definition at line 676 of file xtensa-isa.c.
References xtensa_isa_internal_struct::num_opcodes, xtensa_lookup_entry_struct::opcode, xtensa_isa_internal_struct::opname_lookup_table, sprintf, xtensa_lookup_entry_struct::u, xtensa_isa_bad_opcode, xtensa_isa_name_compare(), XTENSA_UNDEFINED, xtisa_errno, and xtisa_error_msg.
Referenced by xtensa_format_slot_nop_opcode().
const char* xtensa_opcode_name | ( | xtensa_isa | isa, |
xtensa_opcode | opc | ||
) |
Definition at line 759 of file xtensa-isa.c.
References CHECK_OPCODE, xtensa_opcode_internal_struct::name, NULL, opc, and xtensa_isa_internal_struct::opcodes.
Referenced by print_insn_xtensa().
int xtensa_opcode_num_funcUnit_uses | ( | xtensa_isa | isa, |
xtensa_opcode | opc | ||
) |
Definition at line 852 of file xtensa-isa.c.
References CHECK_OPCODE, xtensa_opcode_internal_struct::num_funcUnit_uses, opc, xtensa_isa_internal_struct::opcodes, and XTENSA_UNDEFINED.
Referenced by xtensa_isa_num_pipe_stages().
int xtensa_opcode_num_interfaceOperands | ( | xtensa_isa | isa, |
xtensa_opcode | opc | ||
) |
Definition at line 840 of file xtensa-isa.c.
References CHECK_OPCODE, xtensa_opcode_internal_struct::iclass_id, xtensa_isa_internal_struct::iclasses, xtensa_iclass_internal_struct::num_interfaceOperands, opc, xtensa_isa_internal_struct::opcodes, and XTENSA_UNDEFINED.
int xtensa_opcode_num_operands | ( | xtensa_isa | isa, |
xtensa_opcode | opc | ||
) |
Definition at line 816 of file xtensa-isa.c.
References CHECK_OPCODE, xtensa_opcode_internal_struct::iclass_id, xtensa_isa_internal_struct::iclasses, xtensa_iclass_internal_struct::num_operands, opc, xtensa_isa_internal_struct::opcodes, and XTENSA_UNDEFINED.
Referenced by print_insn_xtensa().
int xtensa_opcode_num_stateOperands | ( | xtensa_isa | isa, |
xtensa_opcode | opc | ||
) |
Definition at line 828 of file xtensa-isa.c.
References CHECK_OPCODE, xtensa_opcode_internal_struct::iclass_id, xtensa_isa_internal_struct::iclasses, xtensa_iclass_internal_struct::num_stateOperands, opc, xtensa_isa_internal_struct::opcodes, and XTENSA_UNDEFINED.
int xtensa_operand_decode | ( | xtensa_isa | isa, |
xtensa_opcode | opc, | ||
int | opnd, | ||
uint32 * | valp | ||
) |
Definition at line 1128 of file xtensa-isa.c.
References xtensa_operand_internal_struct::decode, get_operand(), opc, sprintf, xtensa_isa_bad_value, xtisa_errno, and xtisa_error_msg.
Referenced by esil_branch_check_bit_imm(), esil_set_shift_amount_imm(), esil_shift_logic_imm(), and print_xtensa_operand().
int xtensa_operand_do_reloc | ( | xtensa_isa | isa, |
xtensa_opcode | opc, | ||
int | opnd, | ||
uint32 * | valp, | ||
uint32 | pc | ||
) |
Definition at line 1239 of file xtensa-isa.c.
References xtensa_operand_internal_struct::do_reloc, xtensa_operand_internal_struct::flags, get_operand(), opc, pc, sprintf, xtensa_isa_bad_value, xtensa_isa_internal_error, XTENSA_OPERAND_IS_PCRELATIVE, xtisa_errno, and xtisa_error_msg.
int xtensa_operand_encode | ( | xtensa_isa | isa, |
xtensa_opcode | opc, | ||
int | opnd, | ||
uint32 * | valp | ||
) |
Definition at line 1053 of file xtensa-isa.c.
References CHECK_ALLOC, xtensa_operand_internal_struct::decode, xtensa_operand_internal_struct::encode, xtensa_operand_internal_struct::field_id, xtensa_slot_internal_struct::get_field_fns, get_operand(), xtensa_isa_internal_struct::num_slots, opc, xtensa_slot_internal_struct::set_field_fns, xtensa_isa_internal_struct::slots, sprintf, uint32, xtensa_insnbuf_alloc(), xtensa_isa_bad_value, xtensa_isa_internal_error, xtensa_isa_no_field, XTENSA_UNDEFINED, xtisa_errno, and xtisa_error_msg.
int xtensa_operand_get_field | ( | xtensa_isa | isa, |
xtensa_opcode | opc, | ||
int | opnd, | ||
xtensa_format | fmt, | ||
int | slot, | ||
const xtensa_insnbuf | slotbuf, | ||
uint32 * | valp | ||
) |
Definition at line 975 of file xtensa-isa.c.
References CHECK_FORMAT, CHECK_SLOT, xtensa_operand_internal_struct::field_id, xtensa_isa_internal_struct::formats, xtensa_slot_internal_struct::get_field_fns, get_operand(), xtensa_format_internal_struct::name, xtensa_operand_internal_struct::name, opc, xtensa_format_internal_struct::slot_id, xtensa_isa_internal_struct::slots, sprintf, xtensa_isa_no_field, xtensa_isa_wrong_slot, XTENSA_UNDEFINED, xtisa_errno, and xtisa_error_msg.
Referenced by esil_abs_neg(), esil_add_imm(), esil_add_sub(), esil_bitwise_op(), esil_branch_check_bit(), esil_branch_check_bit_imm(), esil_branch_check_mask(), esil_branch_compare(), esil_branch_compare_imm(), esil_branch_compare_single(), esil_call(), esil_callx(), esil_extract_unsigned(), esil_load_imm(), esil_load_relative(), esil_move(), esil_move_conditional(), esil_move_imm(), esil_set_shift_amount(), esil_set_shift_amount_imm(), esil_shift_logic_imm(), esil_shift_logic_sar(), esil_store_imm(), print_insn_xtensa(), and xtensa_check_stack_op().
char xtensa_operand_inout | ( | xtensa_isa | isa, |
xtensa_opcode | opc, | ||
int | opnd | ||
) |
Definition at line 952 of file xtensa-isa.c.
References CHECK_OPCODE, CHECK_OPERAND, xtensa_opcode_internal_struct::iclass_id, xtensa_isa_internal_struct::iclasses, xtensa_arg_internal_struct::inout, opc, xtensa_isa_internal_struct::opcodes, and xtensa_iclass_internal_struct::operands.
int xtensa_operand_is_known_reg | ( | xtensa_isa | isa, |
xtensa_opcode | opc, | ||
int | opnd | ||
) |
Definition at line 1203 of file xtensa-isa.c.
References xtensa_operand_internal_struct::flags, get_operand(), opc, XTENSA_OPERAND_IS_UNKNOWN, and XTENSA_UNDEFINED.
int xtensa_operand_is_PCrelative | ( | xtensa_isa | isa, |
xtensa_opcode | opc, | ||
int | opnd | ||
) |
Definition at line 1221 of file xtensa-isa.c.
References xtensa_operand_internal_struct::flags, get_operand(), opc, XTENSA_OPERAND_IS_PCRELATIVE, and XTENSA_UNDEFINED.
Referenced by print_xtensa_operand().
int xtensa_operand_is_register | ( | xtensa_isa | isa, |
xtensa_opcode | opc, | ||
int | opnd | ||
) |
Definition at line 1155 of file xtensa-isa.c.
References xtensa_operand_internal_struct::flags, get_operand(), opc, XTENSA_OPERAND_IS_REGISTER, and XTENSA_UNDEFINED.
Referenced by print_xtensa_operand().
int xtensa_operand_is_visible | ( | xtensa_isa | isa, |
xtensa_opcode | opc, | ||
int | opnd | ||
) |
Definition at line 924 of file xtensa-isa.c.
References CHECK_OPCODE, CHECK_OPERAND, xtensa_operand_internal_struct::flags, xtensa_opcode_internal_struct::iclass_id, xtensa_isa_internal_struct::iclasses, xtensa_arg_internal_struct::inout, opc, xtensa_isa_internal_struct::opcodes, xtensa_arg_internal_struct::operand_id, xtensa_iclass_internal_struct::operands, xtensa_isa_internal_struct::operands, xtensa_arg_internal_struct::u, XTENSA_OPERAND_IS_INVISIBLE, and XTENSA_UNDEFINED.
Referenced by print_insn_xtensa().
const char* xtensa_operand_name | ( | xtensa_isa | isa, |
xtensa_opcode | opc, | ||
int | opnd | ||
) |
Definition at line 910 of file xtensa-isa.c.
References get_operand(), xtensa_operand_internal_struct::name, NULL, and opc.
int xtensa_operand_num_regs | ( | xtensa_isa | isa, |
xtensa_opcode | opc, | ||
int | opnd | ||
) |
Definition at line 1188 of file xtensa-isa.c.
References get_operand(), xtensa_operand_internal_struct::num_regs, opc, and XTENSA_UNDEFINED.
Referenced by print_xtensa_operand().
xtensa_regfile xtensa_operand_regfile | ( | xtensa_isa | isa, |
xtensa_opcode | opc, | ||
int | opnd | ||
) |
Definition at line 1173 of file xtensa-isa.c.
References get_operand(), opc, xtensa_operand_internal_struct::regfile, and XTENSA_UNDEFINED.
Referenced by esil_abs_neg(), esil_add_imm(), esil_add_sub(), esil_bitwise_op(), esil_branch_check_bit(), esil_branch_check_bit_imm(), esil_branch_check_mask(), esil_branch_compare(), esil_branch_compare_imm(), esil_branch_compare_single(), esil_callx(), esil_extract_unsigned(), esil_load_imm(), esil_load_relative(), esil_move(), esil_move_conditional(), esil_move_imm(), esil_set_shift_amount(), esil_shift_logic_imm(), esil_shift_logic_sar(), esil_store_imm(), and print_xtensa_operand().
int xtensa_operand_set_field | ( | xtensa_isa | isa, |
xtensa_opcode | opc, | ||
int | opnd, | ||
xtensa_format | fmt, | ||
int | slot, | ||
xtensa_insnbuf | slotbuf, | ||
uint32 | val | ||
) |
Definition at line 1014 of file xtensa-isa.c.
References CHECK_FORMAT, CHECK_SLOT, xtensa_operand_internal_struct::field_id, xtensa_isa_internal_struct::formats, get_operand(), xtensa_format_internal_struct::name, xtensa_operand_internal_struct::name, opc, xtensa_slot_internal_struct::set_field_fns, xtensa_format_internal_struct::slot_id, xtensa_isa_internal_struct::slots, sprintf, val, xtensa_isa_no_field, xtensa_isa_wrong_slot, XTENSA_UNDEFINED, xtisa_errno, and xtisa_error_msg.
int xtensa_operand_undo_reloc | ( | xtensa_isa | isa, |
xtensa_opcode | opc, | ||
int | opnd, | ||
uint32 * | valp, | ||
uint32 | pc | ||
) |
Definition at line 1274 of file xtensa-isa.c.
References xtensa_operand_internal_struct::flags, get_operand(), opc, pc, sprintf, xtensa_operand_internal_struct::undo_reloc, xtensa_isa_bad_value, xtensa_isa_internal_error, XTENSA_OPERAND_IS_PCRELATIVE, xtisa_errno, and xtisa_error_msg.
Referenced by print_xtensa_operand().
xtensa_regfile xtensa_regfile_lookup | ( | xtensa_isa | isa, |
const char * | name | ||
) |
Definition at line 1405 of file xtensa-isa.c.
References filename_cmp(), n, xtensa_regfile_internal_struct::name, xtensa_isa_internal_struct::num_regfiles, xtensa_isa_internal_struct::regfiles, sprintf, xtensa_isa_bad_regfile, XTENSA_UNDEFINED, xtisa_errno, and xtisa_error_msg.
xtensa_regfile xtensa_regfile_lookup_shortname | ( | xtensa_isa | isa, |
const char * | shortname | ||
) |
Definition at line 1432 of file xtensa-isa.c.
References filename_cmp(), n, xtensa_isa_internal_struct::num_regfiles, xtensa_regfile_internal_struct::parent, xtensa_isa_internal_struct::regfiles, xtensa_regfile_internal_struct::shortname, sprintf, xtensa_isa_bad_regfile, XTENSA_UNDEFINED, xtisa_errno, and xtisa_error_msg.
const char* xtensa_regfile_name | ( | xtensa_isa | isa, |
xtensa_regfile | rf | ||
) |
Definition at line 1465 of file xtensa-isa.c.
References CHECK_REGFILE, xtensa_regfile_internal_struct::name, NULL, and xtensa_isa_internal_struct::regfiles.
int xtensa_regfile_num_bits | ( | xtensa_isa | isa, |
xtensa_regfile | rf | ||
) |
Definition at line 1492 of file xtensa-isa.c.
References CHECK_REGFILE, xtensa_regfile_internal_struct::num_bits, xtensa_isa_internal_struct::regfiles, and XTENSA_UNDEFINED.
int xtensa_regfile_num_entries | ( | xtensa_isa | isa, |
xtensa_regfile | rf | ||
) |
Definition at line 1501 of file xtensa-isa.c.
References CHECK_REGFILE, xtensa_regfile_internal_struct::num_entries, xtensa_isa_internal_struct::regfiles, and XTENSA_UNDEFINED.
const char* xtensa_regfile_shortname | ( | xtensa_isa | isa, |
xtensa_regfile | rf | ||
) |
Definition at line 1474 of file xtensa-isa.c.
References CHECK_REGFILE, NULL, xtensa_isa_internal_struct::regfiles, and xtensa_regfile_internal_struct::shortname.
Referenced by esil_abs_neg(), esil_add_imm(), esil_add_sub(), esil_bitwise_op(), esil_branch_check_bit(), esil_branch_check_bit_imm(), esil_branch_check_mask(), esil_branch_compare(), esil_branch_compare_imm(), esil_branch_compare_single(), esil_callx(), esil_extract_unsigned(), esil_load_imm(), esil_load_relative(), esil_move(), esil_move_conditional(), esil_move_imm(), esil_set_shift_amount(), esil_shift_logic_imm(), esil_shift_logic_sar(), esil_store_imm(), and print_xtensa_operand().
xtensa_regfile xtensa_regfile_view_parent | ( | xtensa_isa | isa, |
xtensa_regfile | rf | ||
) |
Definition at line 1483 of file xtensa-isa.c.
References CHECK_REGFILE, xtensa_regfile_internal_struct::parent, xtensa_isa_internal_struct::regfiles, and XTENSA_UNDEFINED.
int xtensa_state_is_exported | ( | xtensa_isa | isa, |
xtensa_state | st | ||
) |
Definition at line 1574 of file xtensa-isa.c.
References CHECK_STATE, xtensa_state_internal_struct::flags, xtensa_isa_internal_struct::states, XTENSA_STATE_IS_EXPORTED, and XTENSA_UNDEFINED.
int xtensa_state_is_shared_or | ( | xtensa_isa | isa, |
xtensa_state | st | ||
) |
Definition at line 1586 of file xtensa-isa.c.
References CHECK_STATE, xtensa_state_internal_struct::flags, xtensa_isa_internal_struct::states, XTENSA_STATE_IS_SHARED_OR, and XTENSA_UNDEFINED.
xtensa_state xtensa_state_lookup | ( | xtensa_isa | isa, |
const char * | name | ||
) |
Definition at line 1525 of file xtensa-isa.c.
References name, xtensa_isa_internal_struct::num_states, sprintf, xtensa_lookup_entry_struct::state, xtensa_isa_internal_struct::state_lookup_table, xtensa_lookup_entry_struct::u, xtensa_isa_bad_state, xtensa_isa_name_compare(), XTENSA_UNDEFINED, xtisa_errno, and xtisa_error_msg.
const char* xtensa_state_name | ( | xtensa_isa | isa, |
xtensa_state | st | ||
) |
Definition at line 1556 of file xtensa-isa.c.
References CHECK_STATE, xtensa_state_internal_struct::name, NULL, and xtensa_isa_internal_struct::states.
int xtensa_state_num_bits | ( | xtensa_isa | isa, |
xtensa_state | st | ||
) |
Definition at line 1565 of file xtensa-isa.c.
References CHECK_STATE, xtensa_state_internal_struct::num_bits, xtensa_isa_internal_struct::states, and XTENSA_UNDEFINED.
char xtensa_stateOperand_inout | ( | xtensa_isa | isa, |
xtensa_opcode | opc, | ||
int | stOp | ||
) |
Definition at line 1341 of file xtensa-isa.c.
References CHECK_OPCODE, CHECK_STATE_OPERAND, xtensa_opcode_internal_struct::iclass_id, xtensa_isa_internal_struct::iclasses, xtensa_arg_internal_struct::inout, opc, xtensa_isa_internal_struct::opcodes, and xtensa_iclass_internal_struct::stateOperands.
xtensa_state xtensa_stateOperand_state | ( | xtensa_isa | isa, |
xtensa_opcode | opc, | ||
int | stOp | ||
) |
Definition at line 1326 of file xtensa-isa.c.
References CHECK_OPCODE, CHECK_STATE_OPERAND, xtensa_opcode_internal_struct::iclass_id, xtensa_isa_internal_struct::iclasses, opc, xtensa_isa_internal_struct::opcodes, xtensa_arg_internal_struct::state, xtensa_iclass_internal_struct::stateOperands, xtensa_arg_internal_struct::u, and XTENSA_UNDEFINED.
int xtensa_sysreg_is_user | ( | xtensa_isa | isa, |
xtensa_sysreg | sysreg | ||
) |
Definition at line 1684 of file xtensa-isa.c.
References CHECK_SYSREG, xtensa_sysreg_internal_struct::is_user, xtensa_isa_internal_struct::sysregs, and XTENSA_UNDEFINED.
xtensa_sysreg xtensa_sysreg_lookup | ( | xtensa_isa | isa, |
int | num, | ||
int | is_user | ||
) |
Definition at line 1613 of file xtensa-isa.c.
References xtensa_isa_internal_struct::max_sysreg_num, num, xtensa_isa_internal_struct::sysreg_table, xtensa_isa_bad_sysreg, XTENSA_UNDEFINED, xtisa_errno, and xtisa_error_msg.
xtensa_sysreg xtensa_sysreg_lookup_name | ( | xtensa_isa | isa, |
const char * | name | ||
) |
Definition at line 1634 of file xtensa-isa.c.
References name, xtensa_isa_internal_struct::num_sysregs, sprintf, xtensa_lookup_entry_struct::sysreg, xtensa_isa_internal_struct::sysreg_lookup_table, xtensa_lookup_entry_struct::u, xtensa_isa_bad_sysreg, xtensa_isa_name_compare(), XTENSA_UNDEFINED, xtisa_errno, and xtisa_error_msg.
const char* xtensa_sysreg_name | ( | xtensa_isa | isa, |
xtensa_sysreg | sysreg | ||
) |
Definition at line 1666 of file xtensa-isa.c.
References CHECK_SYSREG, xtensa_sysreg_internal_struct::name, NULL, and xtensa_isa_internal_struct::sysregs.
int xtensa_sysreg_number | ( | xtensa_isa | isa, |
xtensa_sysreg | sysreg | ||
) |
Definition at line 1675 of file xtensa-isa.c.
References CHECK_SYSREG, xtensa_sysreg_internal_struct::number, xtensa_isa_internal_struct::sysregs, and XTENSA_UNDEFINED.
|
extern |
Definition at line 21455 of file xtensa-modules.c.
Referenced by xtensa_isa_init().
xtensa_isa_status xtisa_errno |
Definition at line 35 of file xtensa-isa.c.
Referenced by xtensa_format_decode(), xtensa_format_lookup(), xtensa_funcUnit_lookup(), xtensa_insnbuf_to_chars(), xtensa_interface_lookup(), xtensa_isa_errno(), xtensa_opcode_decode(), xtensa_opcode_encode(), xtensa_opcode_funcUnit_use(), xtensa_opcode_lookup(), xtensa_operand_decode(), xtensa_operand_do_reloc(), xtensa_operand_encode(), xtensa_operand_get_field(), xtensa_operand_set_field(), xtensa_operand_undo_reloc(), xtensa_regfile_lookup(), xtensa_regfile_lookup_shortname(), xtensa_state_lookup(), xtensa_sysreg_lookup(), and xtensa_sysreg_lookup_name().
char xtisa_error_msg[1024] |
Definition at line 36 of file xtensa-isa.c.
Referenced by xtensa_format_decode(), xtensa_format_lookup(), xtensa_funcUnit_lookup(), xtensa_insnbuf_to_chars(), xtensa_interface_lookup(), xtensa_isa_error_msg(), xtensa_opcode_decode(), xtensa_opcode_encode(), xtensa_opcode_funcUnit_use(), xtensa_opcode_lookup(), xtensa_operand_decode(), xtensa_operand_do_reloc(), xtensa_operand_encode(), xtensa_operand_get_field(), xtensa_operand_set_field(), xtensa_operand_undo_reloc(), xtensa_regfile_lookup(), xtensa_regfile_lookup_shortname(), xtensa_state_lookup(), xtensa_sysreg_lookup(), and xtensa_sysreg_lookup_name().