GDB (xrefs)
|
#include "defs.h"
#include "arch-utils.h"
#include "dis-asm.h"
#include "frame.h"
#include "frame-base.h"
#include "frame-unwind.h"
#include "gdbcore.h"
#include "gdbtypes.h"
#include "regcache.h"
#include "regset.h"
#include "symtab.h"
#include "trad-frame.h"
#include "value.h"
#include "m88k-tdep.h"
Go to the source code of this file.
Classes | |
struct | m88k_frame_cache |
struct | m88k_prologue_insn |
Macros | |
#define | BITMASK(pos, width) (((0x1 << (width)) - 1) << (pos)) |
#define | EXTRACT_FIELD(val, pos, width) ((val) >> (pos) & BITMASK (0, width)) |
#define | SUBU_OFFSET(x) ((unsigned)(x & 0xFFFF)) |
#define | ST_OFFSET(x) ((unsigned)((x) & 0xFFFF)) |
#define | ST_SRC(x) EXTRACT_FIELD ((x), 21, 5) |
#define | ADDU_OFFSET(x) ((unsigned)(x & 0xFFFF)) |
Variables | |
struct m88k_prologue_insn | m88k_prologue_insn_table [] |
const int | m88k_max_prologue_size = 128 * M88K_INSN_SIZE |
static const struct frame_unwind | m88k_frame_unwind |
static const struct frame_base | m88k_frame_base |
static const struct regset | m88k_gregset |
#define ADDU_OFFSET | ( | x | ) | ((unsigned)(x & 0xFFFF)) |
Definition at line 455 of file m88k-tdep.c.
Referenced by m88k_analyze_prologue().
#define BITMASK | ( | pos, | |
width | |||
) | (((0x1 << (width)) - 1) << (pos)) |
Definition at line 450 of file m88k-tdep.c.
#define EXTRACT_FIELD | ( | val, | |
pos, | |||
width | |||
) | ((val) >> (pos) & BITMASK (0, width)) |
Definition at line 451 of file m88k-tdep.c.
#define ST_OFFSET | ( | x | ) | ((unsigned)((x) & 0xFFFF)) |
Definition at line 453 of file m88k-tdep.c.
Referenced by m88k_analyze_prologue().
#define ST_SRC | ( | x | ) | EXTRACT_FIELD ((x), 21, 5) |
Definition at line 454 of file m88k-tdep.c.
Referenced by m88k_analyze_prologue().
#define SUBU_OFFSET | ( | x | ) | ((unsigned)(x & 0xFFFF)) |
Definition at line 452 of file m88k-tdep.c.
Referenced by m88k_analyze_prologue().
Enumerator | |
---|---|
M88K_PIA_SKIP | |
M88K_PIA_NOTE_ST | |
M88K_PIA_NOTE_STD | |
M88K_PIA_NOTE_SP_ADJUSTMENT | |
M88K_PIA_NOTE_FP_ASSIGNMENT | |
M88K_PIA_NOTE_BRANCH | |
M88K_PIA_NOTE_PROLOGUE_END |
Definition at line 460 of file m88k-tdep.c.
void _initialize_m88k_tdep | ( | void | ) |
Definition at line 876 of file m88k-tdep.c.
References gdbarch_register(), and m88k_gdbarch_init().
Definition at line 219 of file m88k-tdep.c.
References check_typedef(), m88k_floating_p(), m88k_integral_or_pointer_p(), m88k_structure_or_union_p(), TYPE_FIELD_TYPE, TYPE_LENGTH, and TYPE_NFIELDS.
Referenced by m88k_store_arguments().
Definition at line 86 of file m88k-tdep.c.
Referenced by m88k_gdbarch_init(), and m88k_unwind_pc().
|
static |
Definition at line 526 of file m88k-tdep.c.
References m88k_prologue_insn::action, trad_frame_saved_reg::addr, ADDU_OFFSET, m88k_frame_cache::fp_offset, gdbarch_byte_order(), m88k_prologue_insn::insn, m88k_fetch_instruction(), M88K_INSN_SIZE, M88K_PIA_NOTE_BRANCH, M88K_PIA_NOTE_FP_ASSIGNMENT, M88K_PIA_NOTE_PROLOGUE_END, M88K_PIA_NOTE_SP_ADJUSTMENT, M88K_PIA_NOTE_ST, M88K_PIA_NOTE_STD, M88K_PIA_SKIP, m88k_prologue_insn_table, M88K_R0_REGNUM, M88K_R1_REGNUM, M88K_R31_REGNUM, m88k_prologue_insn::mask, min, offset, regnum, m88k_frame_cache::saved_regs, m88k_frame_cache::sp_offset, ST_OFFSET, ST_SRC, and SUBU_OFFSET.
Referenced by m88k_frame_cache(), and m88k_skip_prologue().
|
static |
Definition at line 101 of file m88k-tdep.c.
Referenced by m88k_gdbarch_init().
|
static |
Definition at line 367 of file m88k-tdep.c.
References frame_id_build(), get_frame_pc(), get_frame_register_unsigned(), and M88K_R31_REGNUM.
Referenced by m88k_gdbarch_init().
|
static |
Definition at line 39 of file m88k-tdep.c.
References read_memory_unsigned_integer().
Referenced by m88k_analyze_prologue().
Definition at line 183 of file m88k-tdep.c.
References len, TYPE_CODE, TYPE_CODE_FLT, and TYPE_LENGTH.
Referenced by m88k_8_byte_align_p(), m88k_in_register_p(), and m88k_return_value().
|
static |
Definition at line 757 of file m88k-tdep.c.
References m88k_frame_cache::base, m88k_frame_cache::fp_offset, m88k_frame_cache(), and m88k_frame_cache::sp_offset.
|
static |
Definition at line 650 of file m88k-tdep.c.
References trad_frame_saved_reg::addr, m88k_frame_cache::base, m88k_frame_cache::fp_offset, FRAME_OBSTACK_ZALLOC, get_frame_arch(), get_frame_func(), get_frame_pc(), get_frame_register_unsigned(), m88k_analyze_prologue(), M88K_R0_REGNUM, M88K_R1_REGNUM, M88K_R30_REGNUM, M88K_R31_REGNUM, M88K_SXIP_REGNUM, m88k_frame_cache::pc, regnum, m88k_frame_cache::saved_regs, m88k_frame_cache::sp_offset, trad_frame_alloc_saved_regs(), and trad_frame_set_value().
Referenced by m88k_frame_base_address(), m88k_frame_prev_register(), and m88k_frame_this_id().
|
static |
Definition at line 720 of file m88k-tdep.c.
References frame_unwind_got_constant(), m88k_frame_cache(), M88K_SFIP_REGNUM, M88K_SNIP_REGNUM, M88K_SXIP_REGNUM, release_value(), m88k_frame_cache::saved_regs, trad_frame_get_prev_register(), value_as_long(), and value_free().
|
static |
Definition at line 707 of file m88k-tdep.c.
References m88k_frame_cache::base, frame_id_build(), m88k_frame_cache(), and m88k_frame_cache::pc.
|
static |
Definition at line 818 of file m88k-tdep.c.
References core_addr_lessthan(), floatformats_ieee_double, frame_base_set_default(), frame_unwind_append_unwinder(), gdbarch_list::gdbarch, gdbarch_alloc(), gdbarch_list_lookup_by_info(), m88k_addr_bits_remove(), m88k_breakpoint_from_pc(), m88k_dummy_id(), m88k_iterate_over_regset_sections(), M88K_NUM_REGS, m88k_push_dummy_call(), M88K_R31_REGNUM, m88k_register_name(), m88k_register_type(), m88k_return_value(), m88k_skip_prologue(), M88K_SXIP_REGNUM, m88k_unwind_pc(), m88k_write_pc(), set_gdbarch_addr_bits_remove(), set_gdbarch_breakpoint_from_pc(), set_gdbarch_dummy_id(), set_gdbarch_inner_than(), set_gdbarch_iterate_over_regset_sections(), set_gdbarch_long_double_bit(), set_gdbarch_long_double_format(), set_gdbarch_num_regs(), set_gdbarch_pc_regnum(), set_gdbarch_print_insn(), set_gdbarch_push_dummy_call(), set_gdbarch_register_name(), set_gdbarch_register_type(), set_gdbarch_return_value(), set_gdbarch_skip_prologue(), set_gdbarch_sp_regnum(), set_gdbarch_unwind_pc(), and set_gdbarch_write_pc().
Referenced by _initialize_m88k_tdep().
Definition at line 243 of file m88k-tdep.c.
References m88k_floating_p(), m88k_integral_or_pointer_p(), m88k_structure_or_union_p(), and TYPE_LENGTH.
Referenced by m88k_store_arguments().
Definition at line 150 of file m88k-tdep.c.
References len, TYPE_CODE, TYPE_CODE_BOOL, TYPE_CODE_CHAR, TYPE_CODE_ENUM, TYPE_CODE_INT, TYPE_CODE_PTR, TYPE_CODE_RANGE, TYPE_CODE_REF, and TYPE_LENGTH.
Referenced by m88k_8_byte_align_p(), m88k_in_register_p(), m88k_return_value(), and m88k_store_arguments().
|
static |
Definition at line 808 of file m88k-tdep.c.
References M88K_NUM_REGS.
Referenced by m88k_gdbarch_init().
|
static |
Definition at line 344 of file m88k-tdep.c.
References gdb_assert, M88K_R12_REGNUM, M88K_R1_REGNUM, M88K_R31_REGNUM, m88k_store_arguments(), and regcache_raw_write_unsigned().
Referenced by m88k_gdbarch_init().
Definition at line 49 of file m88k-tdep.c.
References gdbarch_tdep::register_names, and regnum.
Referenced by m88k_gdbarch_init().
Definition at line 70 of file m88k-tdep.c.
References builtin_type::builtin_data_ptr, builtin_type::builtin_func_ptr, builtin_type::builtin_int32, builtin_type(), M88K_R1_REGNUM, M88K_R30_REGNUM, M88K_R31_REGNUM, M88K_SFIP_REGNUM, and M88K_SXIP_REGNUM.
Referenced by m88k_gdbarch_init().
|
static |
Definition at line 383 of file m88k-tdep.c.
References gdb_assert, len, m88k_floating_p(), m88k_integral_or_pointer_p(), M88K_R2_REGNUM, M88K_R3_REGNUM, regcache_cooked_read(), regcache_cooked_write(), RETURN_VALUE_REGISTER_CONVENTION, RETURN_VALUE_STRUCT_CONVENTION, and TYPE_LENGTH.
Referenced by m88k_gdbarch_init().
Definition at line 630 of file m88k-tdep.c.
References symtab_and_line::end, find_pc_line(), find_pc_partial_function(), m88k_analyze_prologue(), and m88k_max_prologue_size.
Referenced by m88k_gdbarch_init().
|
static |
Definition at line 255 of file m88k-tdep.c.
References align_down(), gdb_assert, get_regcache_arch(), len, m88k_8_byte_align_p(), m88k_in_register_p(), m88k_integral_or_pointer_p(), M88K_R2_REGNUM, regcache_raw_write(), regnum, TYPE_LENGTH, value_cast(), value_contents(), value_type(), and write_memory().
Referenced by m88k_push_dummy_call().
Definition at line 202 of file m88k-tdep.c.
References TYPE_CODE, TYPE_CODE_STRUCT, and TYPE_CODE_UNION.
Referenced by m88k_8_byte_align_p(), and m88k_in_register_p().
|
static |
Definition at line 783 of file m88k-tdep.c.
References M88K_NUM_REGS, and regcache_raw_supply().
|
static |
Definition at line 111 of file m88k-tdep.c.
References frame_unwind_register_unsigned(), m88k_addr_bits_remove(), and M88K_SXIP_REGNUM.
Referenced by m88k_gdbarch_init().
Definition at line 120 of file m88k-tdep.c.
References M88K_SFIP_REGNUM, M88K_SNIP_REGNUM, M88K_SXIP_REGNUM, and regcache_cooked_write_unsigned().
Referenced by m88k_gdbarch_init().
|
static |
Definition at line 767 of file m88k-tdep.c.
|
static |
Definition at line 745 of file m88k-tdep.c.
Definition at line 799 of file m88k-tdep.c.
const int m88k_max_prologue_size = 128 * M88K_INSN_SIZE |
Definition at line 624 of file m88k-tdep.c.
Referenced by m88k_skip_prologue().
struct m88k_prologue_insn m88k_prologue_insn_table[] |
Definition at line 480 of file m88k-tdep.c.
Referenced by m88k_analyze_prologue().