GDB (API)
|
#include "defs.h"
#include "frame.h"
#include "solib-svr4.h"
#include "symtab.h"
#include "symfile.h"
#include "objfiles.h"
#include "gdbtypes.h"
#include "gdbcore.h"
#include "value.h"
#include "dis-asm.h"
#include "inferior.h"
#include "floatformat.h"
#include "regcache.h"
#include "reggroups.h"
#include "regset.h"
#include "dummy-frame.h"
#include "dwarf2.h"
#include "dwarf2-frame.h"
#include "dwarf2loc.h"
#include "frame-base.h"
#include "frame-unwind.h"
#include "arch-utils.h"
#include "gdbarch.h"
#include "remote.h"
#include "serial.h"
#include "command.h"
#include "gdbcmd.h"
#include "gdb_assert.h"
#include "xtensa-isa.h"
#include "xtensa-tdep.h"
#include "xtensa-config.h"
Go to the source code of this file.
Defines | |
#define | DEBUGWARN(args...) |
#define | DEBUGINFO(args...) |
#define | DEBUGTRACE(args...) |
#define | DEBUGVERB(args...) |
#define | SP_ALIGNMENT 16 |
#define | ARGS_NUM_REGS 6 |
#define | REGISTER_SIZE 4 |
#define | PS_CALLINC_SHIFT 16 |
#define | PS_CALLINC_MASK 0x00030000 |
#define | CALLINC(ps) (((ps) & PS_CALLINC_MASK) >> PS_CALLINC_SHIFT) |
#define | WINSIZE(ra) (4 * (( (ra) >> 30) & 0x3)) |
#define | TX_PS 0x20 |
#define | ARG_NOF(gdbarch) |
#define | ARG_1ST(gdbarch) |
#define | XTENSA_IS_ENTRY(gdbarch, op1) |
#define | XTENSA_ENTRY_LENGTH 3 |
#define | PS_WOE (1<<18) |
#define | PS_EXC (1<<4) |
#define | SAVE_REST_FLAGS |
#define | SAVE_REST_VALID |
#define | XTENSA_NUM_SAVED_AREGS 12 |
#define | C0_MAXOPDS |
#define | C0_NREGS 16 /* Number of A-registers to track. */ |
#define | C0_CLESV 12 /* Callee-saved registers are here and up. */ |
#define | C0_SP 1 /* Register used as SP. */ |
#define | C0_FP 15 /* Register used as FP. */ |
#define | C0_RA 0 /* Register used as return address. */ |
#define | C0_ARGS 2 /* Register used as first arg/retval. */ |
#define | C0_NARGS 6 /* Number of A-regs for args/retvals. */ |
#define | C0_CONST -1 /* fr_reg value if register contains a constant. */ |
#define | C0_INEXP -2 /* fr_reg value if inexpressible as reg + offset. */ |
#define | C0_NOSTK -1 /* to_stk value if register has not been stored. */ |
#define | XTENSA_ISA_BSZ 32 /* Instruction buffer size. */ |
#define | XTENSA_ISA_BADPC ((CORE_ADDR)0) /* Bad PC value. */ |
#define | RETURN_FP goto done |
#define | BIG_BREAKPOINT { 0x00, 0x04, 0x00 } |
#define | LITTLE_BREAKPOINT { 0x00, 0x40, 0x00 } |
#define | DENSITY_BIG_BREAKPOINT { 0xd2, 0x0f } |
#define | DENSITY_LITTLE_BREAKPOINT { 0x2d, 0xf0 } |
#define | RETURN_RET goto done |
#define | XTENSA_MAX_WINDOW_INTERRUPT_HANDLER_LEN 200 |
#define | XTENSA_DBREGN_SREG(n) (0x0200+(n)) |
Typedefs | |
typedef struct xtensa_windowed_frame_cache | xtensa_windowed_frame_cache_t |
typedef struct xtensa_c0reg | xtensa_c0reg_t |
typedef struct xtensa_call0_frame_cache | xtensa_call0_frame_cache_t |
typedef struct xtensa_frame_cache | xtensa_frame_cache_t |
Enumerations | |
enum | xtensa_insn_kind { c0opc_illegal, c0opc_uninteresting, c0opc_flow, c0opc_entry, c0opc_break, c0opc_add, c0opc_addi, c0opc_and, c0opc_sub, c0opc_mov, c0opc_movi, c0opc_l32r, c0opc_s32i, c0opc_rwxsr, c0opc_l32e, c0opc_s32e, c0opc_rfwo, c0opc_rfwu, c0opc_NrOf } |
enum | xtensa_exception_handler_t { xtWindowOverflow, xtWindowUnderflow, xtNoExceptionHandler } |
Functions | |
void | _initialize_xtensa_tdep (void) |
Variables | |
xtensa_isa | xtensa_default_isa |
struct gdbarch_tdep | xtensa_tdep |
initialize_file_ftype | _initialize_xtensa_tdep |
#define ARG_1ST | ( | gdbarch | ) |
(gdbarch_tdep (gdbarch)->call_abi == CallAbiCall0Only \ ? (gdbarch_tdep (gdbarch)->a0_base + C0_ARGS) \ : (gdbarch_tdep (gdbarch)->a0_base + 6))
Definition at line 102 of file xtensa-tdep.c.
#define ARG_NOF | ( | gdbarch | ) |
(gdbarch_tdep (gdbarch)->call_abi \ == CallAbiCall0Only ? C0_NARGS : (ARGS_NUM_REGS))
Definition at line 99 of file xtensa-tdep.c.
#define ARGS_NUM_REGS 6 |
Definition at line 83 of file xtensa-tdep.c.
#define BIG_BREAKPOINT { 0x00, 0x04, 0x00 } |
Definition at line 1980 of file xtensa-tdep.c.
#define C0_ARGS 2 /* Register used as first arg/retval. */ |
Definition at line 963 of file xtensa-tdep.c.
#define C0_CLESV 12 /* Callee-saved registers are here and up. */ |
Definition at line 959 of file xtensa-tdep.c.
#define C0_CONST -1 /* fr_reg value if register contains a constant. */ |
Definition at line 973 of file xtensa-tdep.c.
#define C0_FP 15 /* Register used as FP. */ |
Definition at line 961 of file xtensa-tdep.c.
Definition at line 974 of file xtensa-tdep.c.
#define C0_MAXOPDS |
3 /* Maximum number of operands for prologue analysis. */
Definition at line 957 of file xtensa-tdep.c.
Definition at line 964 of file xtensa-tdep.c.
#define C0_NOSTK -1 /* to_stk value if register has not been stored. */ |
Definition at line 975 of file xtensa-tdep.c.
Definition at line 958 of file xtensa-tdep.c.
#define C0_RA 0 /* Register used as return address. */ |
Definition at line 962 of file xtensa-tdep.c.
#define C0_SP 1 /* Register used as SP. */ |
Definition at line 960 of file xtensa-tdep.c.
#define CALLINC | ( | ps | ) | (((ps) & PS_CALLINC_MASK) >> PS_CALLINC_SHIFT) |
Definition at line 90 of file xtensa-tdep.c.
#define DEBUGINFO | ( | args... | ) |
if (xtensa_debug_level > 1) \ fprintf_unfiltered (gdb_stdlog, "(info ) " args)
Definition at line 64 of file xtensa-tdep.c.
#define DEBUGTRACE | ( | args... | ) |
if (xtensa_debug_level > 2) \ fprintf_unfiltered (gdb_stdlog, "(trace) " args)
Definition at line 68 of file xtensa-tdep.c.
#define DEBUGVERB | ( | args... | ) |
if (xtensa_debug_level > 3) \ fprintf_unfiltered (gdb_stdlog, "(verb ) " args)
Definition at line 72 of file xtensa-tdep.c.
#define DEBUGWARN | ( | args... | ) |
if (xtensa_debug_level > 0) \ fprintf_unfiltered (gdb_stdlog, "(warn ) " args)
Definition at line 60 of file xtensa-tdep.c.
#define DENSITY_BIG_BREAKPOINT { 0xd2, 0x0f } |
Definition at line 1982 of file xtensa-tdep.c.
#define DENSITY_LITTLE_BREAKPOINT { 0x2d, 0xf0 } |
Definition at line 1983 of file xtensa-tdep.c.
#define LITTLE_BREAKPOINT { 0x00, 0x40, 0x00 } |
Definition at line 1981 of file xtensa-tdep.c.
#define PS_CALLINC_MASK 0x00030000 |
Definition at line 89 of file xtensa-tdep.c.
#define PS_CALLINC_SHIFT 16 |
Definition at line 88 of file xtensa-tdep.c.
#define PS_EXC (1<<4) |
Definition at line 121 of file xtensa-tdep.c.
#define PS_WOE (1<<18) |
Definition at line 120 of file xtensa-tdep.c.
#define REGISTER_SIZE 4 |
Definition at line 84 of file xtensa-tdep.c.
#define RETURN_FP goto done |
#define RETURN_RET goto done |
#define SAVE_REST_FLAGS |
(XTENSA_REGISTER_FLAGS_READABLE \ | XTENSA_REGISTER_FLAGS_WRITABLE \ | XTENSA_REGISTER_FLAGS_VOLATILE)
Definition at line 799 of file xtensa-tdep.c.
#define SAVE_REST_VALID |
Definition at line 803 of file xtensa-tdep.c.
#define SP_ALIGNMENT 16 |
Definition at line 78 of file xtensa-tdep.c.
#define TX_PS 0x20 |
Definition at line 96 of file xtensa-tdep.c.
#define WINSIZE | ( | ra | ) | (4 * (( (ra) >> 30) & 0x3)) |
Definition at line 91 of file xtensa-tdep.c.
#define XTENSA_DBREGN_SREG | ( | n | ) | (0x0200+(n)) |
#define XTENSA_ENTRY_LENGTH 3 |
Definition at line 114 of file xtensa-tdep.c.
#define XTENSA_IS_ENTRY | ( | gdbarch, | |
op1 | |||
) |
((gdbarch_byte_order (gdbarch) == BFD_ENDIAN_BIG) \ ? ((op1) == 0x6c) : ((op1) == 0x36))
Definition at line 110 of file xtensa-tdep.c.
#define XTENSA_ISA_BADPC ((CORE_ADDR)0) /* Bad PC value. */ |
Definition at line 1145 of file xtensa-tdep.c.
#define XTENSA_ISA_BSZ 32 /* Instruction buffer size. */ |
Definition at line 1144 of file xtensa-tdep.c.
#define XTENSA_MAX_WINDOW_INTERRUPT_HANDLER_LEN 200 |
Definition at line 2791 of file xtensa-tdep.c.
#define XTENSA_NUM_SAVED_AREGS 12 |
Definition at line 938 of file xtensa-tdep.c.
typedef struct xtensa_c0reg xtensa_c0reg_t |
typedef struct xtensa_call0_frame_cache xtensa_call0_frame_cache_t |
typedef struct xtensa_frame_cache xtensa_frame_cache_t |
typedef struct xtensa_windowed_frame_cache xtensa_windowed_frame_cache_t |
Definition at line 2793 of file xtensa-tdep.c.
enum xtensa_insn_kind |
Definition at line 2100 of file xtensa-tdep.c.
void _initialize_xtensa_tdep | ( | void | ) |
Definition at line 3303 of file xtensa-tdep.c.
xtensa_isa xtensa_default_isa |
struct gdbarch_tdep xtensa_tdep |