GDB (xrefs)
|
#include "defs.h"
#include "frame.h"
#include "frame-unwind.h"
#include "frame-base.h"
#include "dwarf2-frame.h"
#include "trad-frame.h"
#include "symtab.h"
#include "gdbtypes.h"
#include "gdbcmd.h"
#include "gdbcore.h"
#include "gdb_string.h"
#include "value.h"
#include "inferior.h"
#include "dis-asm.h"
#include "symfile.h"
#include "objfiles.h"
#include "arch-utils.h"
#include "regcache.h"
#include "reggroups.h"
#include "target.h"
#include "opcode/m68hc11.h"
#include "elf/m68hc11.h"
#include "elf-bfd.h"
Go to the source code of this file.
#define HARD_A_REGNUM 5 |
Definition at line 87 of file m68hc11-tdep.c.
Referenced by m68hc11_print_register(), and m68hc11_register_type().
#define HARD_B_REGNUM 6 |
Definition at line 88 of file m68hc11-tdep.c.
Referenced by m68hc11_print_register(), and m68hc11_register_type().
#define HARD_CCR_REGNUM 7 |
Definition at line 89 of file m68hc11-tdep.c.
Referenced by m68hc11_frame_unwind_cache(), m68hc11_print_register(), m68hc11_print_registers_info(), m68hc11_register_reggroup_p(), and m68hc11_register_type().
#define HARD_D_REGNUM 1 |
Definition at line 82 of file m68hc11-tdep.c.
Referenced by m68hc11_extract_return_value(), m68hc11_frame_unwind_cache(), m68hc11_print_registers_info(), m68hc11_push_dummy_call(), m68hc11_register_reggroup_p(), and m68hc11_store_return_value().
#define HARD_PAGE_REGNUM 8 |
Definition at line 96 of file m68hc11-tdep.c.
Referenced by m68hc11_frame_prev_register(), m68hc11_frame_unwind_cache(), m68hc11_print_register(), m68hc11_print_registers_info(), m68hc11_pseudo_register_read(), m68hc11_pseudo_register_write(), and m68hc11_register_type().
#define HARD_PC_REGNUM 4 |
Definition at line 85 of file m68hc11-tdep.c.
Referenced by m68hc11_frame_prev_register(), m68hc11_frame_unwind_cache(), m68hc11_gdbarch_init(), m68hc11_print_register(), m68hc11_print_registers_info(), m68hc11_pseudo_register_read(), m68hc11_pseudo_register_write(), m68hc11_register_name(), and m68hc11_register_reggroup_p().
#define HARD_SP_REGNUM 3 |
Definition at line 84 of file m68hc11-tdep.c.
Referenced by m68hc11_frame_unwind_cache(), m68hc11_gdbarch_init(), m68hc11_print_register(), m68hc11_print_registers_info(), m68hc11_push_dummy_call(), m68hc11_register_reggroup_p(), and m68hc11_unwind_sp().
#define HARD_X_REGNUM 0 |
Definition at line 81 of file m68hc11-tdep.c.
Referenced by m68hc11_extract_return_value(), m68hc11_frame_unwind_cache(), m68hc11_print_registers_info(), m68hc11_push_dummy_call(), m68hc11_register_reggroup_p(), and m68hc11_store_return_value().
#define HARD_Y_REGNUM 2 |
Definition at line 83 of file m68hc11-tdep.c.
Referenced by m68hc11_frame_unwind_cache(), m68hc11_print_registers_info(), and m68hc11_register_reggroup_p().
#define M6811_OP_ADDD (0xc3) |
Definition at line 419 of file m68hc11-tdep.c.
#define M6811_OP_DES (0x34) |
Definition at line 421 of file m68hc11-tdep.c.
#define M6811_OP_LDX (0xde) |
Definition at line 412 of file m68hc11-tdep.c.
#define M6811_OP_LDX_EXT (0xfe) |
Definition at line 413 of file m68hc11-tdep.c.
#define M6811_OP_PAGE2 (0x18) |
Definition at line 411 of file m68hc11-tdep.c.
#define M6811_OP_PSHX (0x3c) |
Definition at line 414 of file m68hc11-tdep.c.
#define M6811_OP_STS (0x9f) |
Definition at line 415 of file m68hc11-tdep.c.
#define M6811_OP_STS_EXT (0xbf) |
Definition at line 416 of file m68hc11-tdep.c.
#define M6811_OP_TSX (0x30) |
Definition at line 417 of file m68hc11-tdep.c.
#define M6811_OP_TXS (0x35) |
Definition at line 420 of file m68hc11-tdep.c.
#define M6811_OP_XGDX (0x8f) |
Definition at line 418 of file m68hc11-tdep.c.
#define M6812_OP_LEAS (0x1b) |
Definition at line 429 of file m68hc11-tdep.c.
#define M6812_OP_MOVW (0x01) |
Definition at line 425 of file m68hc11-tdep.c.
#define M6812_OP_PAGE2 (0x18) |
Definition at line 424 of file m68hc11-tdep.c.
#define M6812_OP_PSHX (0x34) |
Definition at line 430 of file m68hc11-tdep.c.
#define M6812_OP_PSHY (0x35) |
Definition at line 431 of file m68hc11-tdep.c.
#define M6812_OP_STS (0x5f) |
Definition at line 427 of file m68hc11-tdep.c.
#define M6812_OP_STS_EXT (0x7f) |
Definition at line 428 of file m68hc11-tdep.c.
#define M6812_PB_PSHW (0xae) |
Definition at line 426 of file m68hc11-tdep.c.
Definition at line 118 of file m68hc11-tdep.c.
Referenced by m68hc11_initialize_register_info(), m68hc11_print_registers_info(), m68hc11_register_name(), and m68hc11_which_soft_register().
#define M68HC11_FP_ADDR soft_regs[SOFT_FP_REGNUM].addr |
Definition at line 190 of file m68hc11-tdep.c.
#define M68HC11_LAST_HARD_REG (HARD_PAGE_REGNUM) |
Definition at line 97 of file m68hc11-tdep.c.
Referenced by m68hc11_register_name().
#define M68HC11_MAX_SOFT_REGS 32 |
Definition at line 114 of file m68hc11-tdep.c.
Referenced by m68hc11_initialize_register_info().
#define M68HC11_NUM_PSEUDO_REGS (M68HC11_MAX_SOFT_REGS+5) |
Definition at line 117 of file m68hc11-tdep.c.
Referenced by m68hc11_gdbarch_init().
#define M68HC11_NUM_REGS (8) |
Definition at line 116 of file m68hc11-tdep.c.
Referenced by m68hc11_gdbarch_init().
#define M68HC11_REG_SIZE (2) |
Definition at line 120 of file m68hc11-tdep.c.
Referenced by m68hc11_extract_return_value().
#define M68HC12_HARD_PC_REGNUM (SOFT_D32_REGNUM+1) |
Definition at line 124 of file m68hc11-tdep.c.
Referenced by m68hc11_gdbarch_init(), m68hc11_print_register(), m68hc11_pseudo_register_read(), m68hc11_pseudo_register_write(), m68hc11_register_name(), and m68hc11_register_type().
#define M68HC12_NUM_PSEUDO_REGS ((M68HC11_MAX_SOFT_REGS+5)+1-1) |
Definition at line 123 of file m68hc11-tdep.c.
Referenced by m68hc11_gdbarch_init().
#define M68HC12_NUM_REGS (9) |
Definition at line 122 of file m68hc11-tdep.c.
Referenced by m68hc11_gdbarch_init().
#define MAX_CODES 12 |
Definition at line 407 of file m68hc11-tdep.c.
Referenced by m68hc11_analyze_instruction().
#define MSYMBOL_IS_RTC | ( | msym | ) | MSYMBOL_TARGET_FLAG_1 (msym) |
Definition at line 66 of file m68hc11-tdep.c.
Referenced by m68hc11_get_return_insn().
#define MSYMBOL_IS_RTI | ( | msym | ) | MSYMBOL_TARGET_FLAG_2 (msym) |
Definition at line 69 of file m68hc11-tdep.c.
Referenced by m68hc11_get_return_insn().
#define MSYMBOL_SET_RTC | ( | msym | ) | MSYMBOL_TARGET_FLAG_1 (msym) = 1 |
Definition at line 60 of file m68hc11-tdep.c.
Referenced by m68hc11_elf_make_msymbol_special().
#define MSYMBOL_SET_RTI | ( | msym | ) | MSYMBOL_TARGET_FLAG_2 (msym) = 1 |
Definition at line 63 of file m68hc11-tdep.c.
Referenced by m68hc11_elf_make_msymbol_special().
#define OP_DIRECT (0x100) /* 8-byte direct addressing. */ |
Definition at line 434 of file m68hc11-tdep.c.
Referenced by m68hc11_analyze_instruction().
#define OP_IMM_HIGH (0x300) /* High part of 16-bit constant/address. */ |
Definition at line 436 of file m68hc11-tdep.c.
Referenced by m68hc11_analyze_instruction().
#define OP_IMM_LOW (0x200) /* Low part of 16-bit constant/address. */ |
Definition at line 435 of file m68hc11-tdep.c.
Referenced by m68hc11_analyze_instruction().
#define OP_PBYTE (0x400) /* 68HC12 indexed operand. */ |
Definition at line 437 of file m68hc11-tdep.c.
Referenced by m68hc11_analyze_instruction().
#define SOFT_D1_REGNUM 14 |
Definition at line 112 of file m68hc11-tdep.c.
Referenced by m68hc11_initialize_register_info(), m68hc11_print_registers_info(), and m68hc11_register_reggroup_p().
#define SOFT_D32_REGNUM (SOFT_D1_REGNUM+31) |
Definition at line 113 of file m68hc11-tdep.c.
#define SOFT_FP_REGNUM 9 |
Definition at line 107 of file m68hc11-tdep.c.
Referenced by m68hc11_dummy_id(), m68hc11_frame_unwind_cache(), m68hc11_initialize_register_info(), m68hc11_print_register(), m68hc11_print_registers_info(), m68hc11_push_dummy_call(), m68hc11_register_reggroup_p(), and m68hc11_which_soft_register().
#define SOFT_TMP_REGNUM 10 |
Definition at line 108 of file m68hc11-tdep.c.
Referenced by m68hc11_initialize_register_info(), and m68hc11_register_reggroup_p().
#define SOFT_UNUSED_REGNUM 13 |
Definition at line 111 of file m68hc11-tdep.c.
#define SOFT_XY_REGNUM 12 |
Definition at line 110 of file m68hc11-tdep.c.
Referenced by m68hc11_initialize_register_info(), and m68hc11_register_reggroup_p().
#define SOFT_Z_REGNUM 8 |
Definition at line 102 of file m68hc11-tdep.c.
Referenced by m68hc11_initialize_register_info().
#define SOFT_ZS_REGNUM 11 |
Definition at line 109 of file m68hc11-tdep.c.
Referenced by m68hc11_initialize_register_info(), and m68hc11_register_reggroup_p().
#define STACK_CORRECTION | ( | gdbarch | ) | (gdbarch_tdep (gdbarch)->stack_correction) |
Definition at line 146 of file m68hc11-tdep.c.
Referenced by m68hc11_frame_unwind_cache(), and m68hc11_push_dummy_call().
#define USE_PAGE_REGISTER | ( | gdbarch | ) | (gdbarch_tdep (gdbarch)->use_page_register) |
Definition at line 147 of file m68hc11-tdep.c.
Referenced by m68hc11_frame_prev_register(), and m68hc11_register_name().
enum insn_return_kind |
Definition at line 72 of file m68hc11-tdep.c.
enum m6811_seq_type |
Definition at line 440 of file m68hc11-tdep.c.
void _initialize_m68hc11_tdep | ( | void | ) |
Definition at line 1566 of file m68hc11-tdep.c.
References _initialize_m68hc11_tdep, m68hc11_gdbarch_init(), m68hc11_init_reggroups(), and register_gdbarch_init().
static int gdb_print_insn_m68hc11 | ( | bfd_vma | memaddr, |
disassemble_info * | info | ||
) | [static] |
Definition at line 1357 of file m68hc11-tdep.c.
Referenced by m68hc11_gdbarch_init().
static void m68hc11_add_reggroups | ( | struct gdbarch * | gdbarch | ) | [static] |
Definition at line 1381 of file m68hc11-tdep.c.
References all_reggroup, float_reggroup, general_reggroup, reggroup_add(), restore_reggroup, save_reggroup, system_reggroup, and vector_reggroup.
Referenced by m68hc11_gdbarch_init().
static struct insn_sequence* m68hc11_analyze_instruction | ( | struct gdbarch * | gdbarch, |
struct insn_sequence * | seq, | ||
CORE_ADDR | pc, | ||
CORE_ADDR * | val | ||
) | [static, read] |
Definition at line 507 of file m68hc11-tdep.c.
References insn_sequence::code, gdbarch_byte_order(), insn_sequence::length, MAX_CODES, OP_DIRECT, OP_IMM_HIGH, OP_IMM_LOW, OP_PBYTE, P_LAST, read_memory_unsigned_integer(), and insn_sequence::type.
Referenced by m68hc11_scan_prologue().
static const unsigned char* m68hc11_breakpoint_from_pc | ( | struct gdbarch * | gdbarch, |
CORE_ADDR * | pcptr, | ||
int * | lenptr | ||
) | [static] |
Definition at line 395 of file m68hc11-tdep.c.
Referenced by m68hc11_gdbarch_init().
static struct frame_id m68hc11_dummy_id | ( | struct gdbarch * | gdbarch, |
struct frame_info * | this_frame | ||
) | [static, read] |
Definition at line 1003 of file m68hc11-tdep.c.
References frame_id_build(), get_frame_pc(), get_frame_register_unsigned(), SOFT_FP_REGNUM, and ULONGEST.
Referenced by m68hc11_gdbarch_init().
static void m68hc11_elf_make_msymbol_special | ( | asymbol * | sym, |
struct minimal_symbol * | msym | ||
) | [static] |
Definition at line 1345 of file m68hc11-tdep.c.
References flags, MSYMBOL_SET_RTC, and MSYMBOL_SET_RTI.
Referenced by m68hc11_gdbarch_init().
static void m68hc11_extract_return_value | ( | struct type * | type, |
struct regcache * | regcache, | ||
void * | valbuf | ||
) | [static] |
Definition at line 1288 of file m68hc11-tdep.c.
References _, error(), HARD_D_REGNUM, HARD_X_REGNUM, M68HC11_REG_SIZE, memcpy(), regcache_raw_read(), and TYPE_LENGTH.
Referenced by m68hc11_return_value().
static CORE_ADDR m68hc11_frame_args_address | ( | struct frame_info * | this_frame, |
void ** | this_cache | ||
) | [static] |
Definition at line 968 of file m68hc11-tdep.c.
References m68hc11_unwind_cache::base, m68hc11_frame_unwind_cache(), m68hc11_unwind_cache::return_kind, RETURN_RTC, RETURN_RTI, and m68hc11_unwind_cache::size.
static CORE_ADDR m68hc11_frame_base_address | ( | struct frame_info * | this_frame, |
void ** | this_cache | ||
) | [static] |
Definition at line 959 of file m68hc11-tdep.c.
References m68hc11_unwind_cache::base, and m68hc11_frame_unwind_cache().
static struct value* m68hc11_frame_prev_register | ( | struct frame_info * | this_frame, |
void ** | this_prologue_cache, | ||
int | regnum | ||
) | [static, read] |
Definition at line 910 of file m68hc11-tdep.c.
References frame_unwind_got_constant(), get_frame_arch(), HARD_PAGE_REGNUM, HARD_PC_REGNUM, m68hc11_frame_unwind_cache(), m68hc11_unwind_cache::pc, release_value(), m68hc11_unwind_cache::return_kind, RETURN_RTC, m68hc11_unwind_cache::saved_regs, trad_frame_get_prev_register(), USE_PAGE_REGISTER, value_as_long(), and value_free().
static void m68hc11_frame_this_id | ( | struct frame_info * | this_frame, |
void ** | this_prologue_cache, | ||
struct frame_id * | this_id | ||
) | [static] |
Definition at line 885 of file m68hc11-tdep.c.
References m68hc11_unwind_cache::base, frame_id_build(), func, get_frame_func(), m68hc11_frame_unwind_cache(), and m68hc11_unwind_cache::prev_sp.
static struct m68hc11_unwind_cache* m68hc11_frame_unwind_cache | ( | struct frame_info * | this_frame, |
void ** | this_prologue_cache | ||
) | [static, read] |
Definition at line 785 of file m68hc11-tdep.c.
References trad_frame_saved_reg::addr, m68hc11_unwind_cache::base, FRAME_OBSTACK_ZALLOC, gdbarch_num_pseudo_regs(), gdbarch_num_regs(), get_frame_arch(), get_frame_func(), get_frame_pc(), get_frame_register_unsigned(), HARD_CCR_REGNUM, HARD_D_REGNUM, HARD_PAGE_REGNUM, HARD_PC_REGNUM, HARD_SP_REGNUM, HARD_X_REGNUM, HARD_Y_REGNUM, m68hc11_get_return_insn(), m68hc11_scan_prologue(), name, m68hc11_unwind_cache::pc, m68hc11_unwind_cache::prev_sp, m68hc11_unwind_cache::return_kind, RETURN_RTC, RETURN_RTI, m68hc11_unwind_cache::saved_regs, m68hc11_unwind_cache::size, SOFT_FP_REGNUM, soft_regs, m68hc11_unwind_cache::sp_offset, STACK_CORRECTION, trad_frame_addr_p(), trad_frame_alloc_saved_regs(), trad_frame_set_value(), and ULONGEST.
Referenced by m68hc11_frame_args_address(), m68hc11_frame_base_address(), m68hc11_frame_prev_register(), and m68hc11_frame_this_id().
static struct gdbarch* m68hc11_gdbarch_init | ( | struct gdbarch_info | info, |
struct gdbarch_list * | arches | ||
) | [static, read] |
Definition at line 1427 of file m68hc11-tdep.c.
References gdbarch_info::abfd, gdbarch_info::bfd_arch_info, core_addr_lessthan(), dwarf2_append_unwinders(), gdbarch_tdep::elf_flags, floatformats_ieee_double, floatformats_ieee_single, frame_base_set_default(), frame_unwind_append_unwinder(), gdb_print_insn_m68hc11(), gdbarch_list::gdbarch, gdbarch_alloc(), gdbarch_list_lookup_by_info(), HARD_PC_REGNUM, HARD_SP_REGNUM, m6811_prologue, m6812_prologue, m68hc11_add_reggroups(), m68hc11_breakpoint_from_pc(), m68hc11_dummy_id(), m68hc11_elf_make_msymbol_special(), M68HC11_NUM_PSEUDO_REGS, M68HC11_NUM_REGS, m68hc11_print_registers_info(), m68hc11_pseudo_register_read(), m68hc11_pseudo_register_write(), m68hc11_push_dummy_call(), m68hc11_register_name(), m68hc11_register_reggroup_p(), m68hc11_register_type(), m68hc11_return_value(), m68hc11_skip_prologue(), m68hc11_unwind_pc(), m68hc11_unwind_sp(), M68HC12_HARD_PC_REGNUM, M68HC12_NUM_PSEUDO_REGS, M68HC12_NUM_REGS, gdbarch_list::next, gdbarch_tdep::prologue, set_gdbarch_addr_bit(), set_gdbarch_believe_pcc_promotion(), set_gdbarch_breakpoint_from_pc(), set_gdbarch_char_signed(), set_gdbarch_double_bit(), set_gdbarch_double_format(), set_gdbarch_dummy_id(), set_gdbarch_elf_make_msymbol_special(), set_gdbarch_float_bit(), set_gdbarch_fp0_regnum(), set_gdbarch_inner_than(), set_gdbarch_int_bit(), set_gdbarch_long_bit(), set_gdbarch_long_double_bit(), set_gdbarch_long_long_bit(), set_gdbarch_num_pseudo_regs(), set_gdbarch_num_regs(), set_gdbarch_pc_regnum(), set_gdbarch_print_insn(), set_gdbarch_print_registers_info(), set_gdbarch_pseudo_register_read(), set_gdbarch_pseudo_register_write(), set_gdbarch_ptr_bit(), set_gdbarch_push_dummy_call(), set_gdbarch_register_name(), set_gdbarch_register_reggroup_p(), set_gdbarch_register_type(), set_gdbarch_return_value(), set_gdbarch_short_bit(), set_gdbarch_skip_prologue(), set_gdbarch_sp_regnum(), set_gdbarch_unwind_pc(), set_gdbarch_unwind_sp(), soft_reg_initialized, gdbarch_tdep::stack_correction, gdbarch_tdep::use_page_register, and xmalloc().
Referenced by _initialize_m68hc11_tdep().
static void m68hc11_get_register_info | ( | struct m68hc11_soft_reg * | reg, |
const char * | name | ||
) | [static] |
Definition at line 200 of file m68hc11-tdep.c.
References m68hc11_soft_reg::addr, lookup_minimal_symbol(), m68hc11_soft_reg::name, soft_max_addr, soft_min_addr, and SYMBOL_VALUE_ADDRESS.
Referenced by m68hc11_initialize_register_info().
static enum insn_return_kind m68hc11_get_return_insn | ( | CORE_ADDR | pc | ) | [static] |
Definition at line 588 of file m68hc11-tdep.c.
References lookup_minimal_symbol_by_pc(), MSYMBOL_IS_RTC, MSYMBOL_IS_RTI, RETURN_RTC, RETURN_RTI, and RETURN_RTS.
Referenced by m68hc11_frame_unwind_cache().
static void m68hc11_init_reggroups | ( | void | ) | [static] |
Definition at line 1374 of file m68hc11-tdep.c.
References reggroup_new(), and USER_REGGROUP.
Referenced by _initialize_m68hc11_tdep().
static void m68hc11_initialize_register_info | ( | void | ) | [static] |
Definition at line 226 of file m68hc11-tdep.c.
References _, M68HC11_ALL_REGS, m68hc11_get_register_info(), M68HC11_MAX_SOFT_REGS, name, m68hc11_soft_reg::name, SOFT_D1_REGNUM, SOFT_FP_REGNUM, soft_max_addr, soft_min_addr, soft_reg_initialized, soft_regs, SOFT_TMP_REGNUM, SOFT_XY_REGNUM, SOFT_Z_REGNUM, SOFT_ZS_REGNUM, warning(), and xsnprintf().
Referenced by m68hc11_pseudo_register_read(), m68hc11_pseudo_register_write(), m68hc11_register_name(), and m68hc11_scan_prologue().
static void m68hc11_print_register | ( | struct gdbarch * | gdbarch, |
struct ui_file * | file, | ||
struct frame_info * | frame, | ||
int | regno | ||
) | [static] |
Definition at line 1016 of file m68hc11-tdep.c.
References fprintf_filtered(), get_frame_register_signed(), get_frame_register_unsigned(), HARD_A_REGNUM, HARD_B_REGNUM, HARD_CCR_REGNUM, HARD_PAGE_REGNUM, HARD_PC_REGNUM, HARD_SP_REGNUM, LONGEST, M68HC12_HARD_PC_REGNUM, print_longest(), SOFT_FP_REGNUM, and ULONGEST.
Referenced by m68hc11_print_registers_info().
static void m68hc11_print_registers_info | ( | struct gdbarch * | gdbarch, |
struct ui_file * | file, | ||
struct frame_info * | frame, | ||
int | regno, | ||
int | cpregs | ||
) | [static] |
Definition at line 1100 of file m68hc11-tdep.c.
References fprintf_filtered(), gdbarch_register_name(), HARD_CCR_REGNUM, HARD_D_REGNUM, HARD_PAGE_REGNUM, HARD_PC_REGNUM, HARD_SP_REGNUM, HARD_X_REGNUM, HARD_Y_REGNUM, M68HC11_ALL_REGS, m68hc11_print_register(), name, SOFT_D1_REGNUM, SOFT_FP_REGNUM, and soft_regs.
Referenced by m68hc11_gdbarch_init().
static enum register_status m68hc11_pseudo_register_read | ( | struct gdbarch * | gdbarch, |
struct regcache * | regcache, | ||
int | regno, | ||
gdb_byte * | buf | ||
) | [static] |
Definition at line 282 of file m68hc11-tdep.c.
References gdbarch_byte_order(), HARD_PAGE_REGNUM, HARD_PC_REGNUM, m68hc11_initialize_register_info(), M68HC12_HARD_PC_REGNUM, memset(), name, REG_VALID, regcache_cooked_read_unsigned(), soft_regs, exsummary::status, store_unsigned_integer(), target_read_memory(), and ULONGEST.
Referenced by m68hc11_gdbarch_init().
static void m68hc11_pseudo_register_write | ( | struct gdbarch * | gdbarch, |
struct regcache * | regcache, | ||
int | regno, | ||
const gdb_byte * | buf | ||
) | [static] |
Definition at line 330 of file m68hc11-tdep.c.
References extract_unsigned_integer(), gdbarch_byte_order(), HARD_PAGE_REGNUM, HARD_PC_REGNUM, m68hc11_initialize_register_info(), M68HC12_HARD_PC_REGNUM, memcpy(), name, regcache_cooked_write_unsigned(), soft_regs, and target_write_memory().
Referenced by m68hc11_gdbarch_init().
static CORE_ADDR m68hc11_push_dummy_call | ( | struct gdbarch * | gdbarch, |
struct value * | function, | ||
struct regcache * | regcache, | ||
CORE_ADDR | bp_addr, | ||
int | nargs, | ||
struct value ** | args, | ||
CORE_ADDR | sp, | ||
int | struct_return, | ||
CORE_ADDR | struct_addr | ||
) | [static] |
Definition at line 1167 of file m68hc11-tdep.c.
References extract_unsigned_integer(), gdbarch_byte_order(), HARD_D_REGNUM, HARD_SP_REGNUM, HARD_X_REGNUM, regcache_cooked_write_unsigned(), SOFT_FP_REGNUM, STACK_CORRECTION, store_unsigned_integer(), type, TYPE_LENGTH, ULONGEST, value_contents(), value_type(), and write_memory().
Referenced by m68hc11_gdbarch_init().
static const char* m68hc11_register_name | ( | struct gdbarch * | gdbarch, |
int | reg_nr | ||
) | [static] |
Definition at line 373 of file m68hc11-tdep.c.
References HARD_PC_REGNUM, M68HC11_ALL_REGS, m68hc11_initialize_register_info(), M68HC11_LAST_HARD_REG, m68hc11_register_names, M68HC12_HARD_PC_REGNUM, name, soft_regs, and USE_PAGE_REGISTER.
Referenced by m68hc11_gdbarch_init(), and m68hc11_register_reggroup_p().
static int m68hc11_register_reggroup_p | ( | struct gdbarch * | gdbarch, |
int | regnum, | ||
struct reggroup * | group | ||
) | [static] |
Definition at line 1395 of file m68hc11-tdep.c.
References default_register_reggroup_p(), gdbarch_num_regs(), HARD_CCR_REGNUM, HARD_D_REGNUM, HARD_PC_REGNUM, HARD_SP_REGNUM, HARD_X_REGNUM, HARD_Y_REGNUM, m68hc11_register_name(), restore_reggroup, save_reggroup, SOFT_D1_REGNUM, SOFT_FP_REGNUM, SOFT_TMP_REGNUM, SOFT_XY_REGNUM, and SOFT_ZS_REGNUM.
Referenced by m68hc11_gdbarch_init().
static struct type* m68hc11_register_type | ( | struct gdbarch * | gdbarch, |
int | reg_nr | ||
) | [static, read] |
Definition at line 1244 of file m68hc11-tdep.c.
References builtin_type(), builtin_type::builtin_uint16, builtin_type::builtin_uint32, builtin_type::builtin_uint8, HARD_A_REGNUM, HARD_B_REGNUM, HARD_CCR_REGNUM, HARD_PAGE_REGNUM, and M68HC12_HARD_PC_REGNUM.
Referenced by m68hc11_gdbarch_init().
static enum return_value_convention m68hc11_return_value | ( | struct gdbarch * | gdbarch, |
struct value * | function, | ||
struct type * | valtype, | ||
struct regcache * | regcache, | ||
gdb_byte * | readbuf, | ||
const gdb_byte * | writebuf | ||
) | [static] |
Definition at line 1322 of file m68hc11-tdep.c.
References m68hc11_extract_return_value(), m68hc11_store_return_value(), RETURN_VALUE_REGISTER_CONVENTION, RETURN_VALUE_STRUCT_CONVENTION, TYPE_CODE, TYPE_CODE_ARRAY, TYPE_CODE_STRUCT, TYPE_CODE_UNION, and TYPE_LENGTH.
Referenced by m68hc11_gdbarch_init().
static CORE_ADDR m68hc11_scan_prologue | ( | struct gdbarch * | gdbarch, |
CORE_ADDR | pc, | ||
CORE_ADDR | current_pc, | ||
struct m68hc11_unwind_cache * | info | ||
) | [static] |
Definition at line 613 of file m68hc11-tdep.c.
References trad_frame_saved_reg::addr, gdbarch_tdep(), int, insn_sequence::length, LONGEST, m68hc11_analyze_instruction(), m68hc11_initialize_register_info(), m68hc11_which_soft_register(), P_LOCAL_1, P_LOCAL_2, P_LOCAL_N, P_SAVE_REG, P_SET_FRAME, gdbarch_tdep::prologue, m68hc11_unwind_cache::saved_regs, m68hc11_unwind_cache::size, size, m68hc11_unwind_cache::sp_offset, and insn_sequence::type.
Referenced by m68hc11_frame_unwind_cache(), and m68hc11_skip_prologue().
static CORE_ADDR m68hc11_skip_prologue | ( | struct gdbarch * | gdbarch, |
CORE_ADDR | pc | ||
) | [static] |
Definition at line 748 of file m68hc11-tdep.c.
References symtab_and_line::end, find_pc_line(), find_pc_partial_function(), m68hc11_scan_prologue(), and m68hc11_unwind_cache::pc.
Referenced by m68hc11_gdbarch_init().
static void m68hc11_store_return_value | ( | struct type * | type, |
struct regcache * | regcache, | ||
const gdb_byte * | valbuf | ||
) | [static] |
Definition at line 1263 of file m68hc11-tdep.c.
References _, error(), HARD_D_REGNUM, HARD_X_REGNUM, len, regcache_raw_write(), regcache_raw_write_part(), and TYPE_LENGTH.
Referenced by m68hc11_return_value().
static CORE_ADDR m68hc11_unwind_pc | ( | struct gdbarch * | gdbarch, |
struct frame_info * | next_frame | ||
) | [static] |
Definition at line 769 of file m68hc11-tdep.c.
References frame_unwind_register_unsigned(), gdbarch_pc_regnum(), m68hc11_unwind_cache::pc, and ULONGEST.
Referenced by m68hc11_gdbarch_init().
static CORE_ADDR m68hc11_unwind_sp | ( | struct gdbarch * | gdbarch, |
struct frame_info * | next_frame | ||
) | [static] |
Definition at line 991 of file m68hc11-tdep.c.
References frame_unwind_register_unsigned(), HARD_SP_REGNUM, sp, and ULONGEST.
Referenced by m68hc11_gdbarch_init().
static int m68hc11_which_soft_register | ( | CORE_ADDR | addr | ) | [static] |
Definition at line 263 of file m68hc11-tdep.c.
References M68HC11_ALL_REGS, name, SOFT_FP_REGNUM, soft_max_addr, and soft_regs.
Referenced by m68hc11_scan_prologue().
Referenced by _initialize_m68hc11_tdep(), and initialize_all_files().
struct insn_sequence m6811_prologue[] [static] |
Definition at line 457 of file m68hc11-tdep.c.
Referenced by m68hc11_gdbarch_init().
struct insn_sequence m6812_prologue[] [static] |
{ { P_SAVE_REG, 5, { M6812_OP_PAGE2, M6812_OP_MOVW, M6812_PB_PSHW, OP_IMM_HIGH, OP_IMM_LOW } }, { P_SET_FRAME, 2, { M6812_OP_STS, OP_DIRECT } }, { P_SET_FRAME, 3, { M6812_OP_STS_EXT, OP_IMM_HIGH, OP_IMM_LOW } }, { P_LOCAL_N, 2, { M6812_OP_LEAS, OP_PBYTE } }, { P_LOCAL_2, 1, { M6812_OP_PSHX } }, { P_LOCAL_2, 1, { M6812_OP_PSHY } }, { P_LAST, 0 } }
Definition at line 491 of file m68hc11-tdep.c.
Referenced by m68hc11_gdbarch_init().
struct frame_base m68hc11_frame_base [static] |
{ &m68hc11_frame_unwind, m68hc11_frame_base_address, m68hc11_frame_base_address, m68hc11_frame_args_address }
Definition at line 983 of file m68hc11-tdep.c.
struct frame_unwind m68hc11_frame_unwind [static] |
{ NORMAL_FRAME, default_frame_unwind_stop_reason, m68hc11_frame_this_id, m68hc11_frame_prev_register, NULL, default_frame_sniffer }
Definition at line 949 of file m68hc11-tdep.c.
struct reggroup* m68hc11_hard_reggroup [static] |
Definition at line 1371 of file m68hc11-tdep.c.
char* m68hc11_register_names[] [static] |
{ "x", "d", "y", "sp", "pc", "a", "b", "ccr", "page", "frame","tmp", "zs", "xy", 0, "d1", "d2", "d3", "d4", "d5", "d6", "d7", "d8", "d9", "d10", "d11", "d12", "d13", "d14", "d15", "d16", "d17", "d18", "d19", "d20", "d21", "d22", "d23", "d24", "d25", "d26", "d27", "d28", "d29", "d30", "d31", "d32" }
Definition at line 171 of file m68hc11-tdep.c.
Referenced by m68hc11_register_name().
struct reggroup* m68hc11_soft_reggroup [static] |
Definition at line 1370 of file m68hc11-tdep.c.
int soft_max_addr [static] |
Definition at line 193 of file m68hc11-tdep.c.
Referenced by m68hc11_get_register_info(), m68hc11_initialize_register_info(), and m68hc11_which_soft_register().
int soft_min_addr [static] |
Definition at line 192 of file m68hc11-tdep.c.
Referenced by m68hc11_get_register_info(), and m68hc11_initialize_register_info().
int soft_reg_initialized = 0 [static] |
Definition at line 194 of file m68hc11-tdep.c.
Referenced by m68hc11_gdbarch_init(), and m68hc11_initialize_register_info().
struct m68hc11_soft_reg soft_regs[M68HC11_ALL_REGS] [static] |
Definition at line 188 of file m68hc11-tdep.c.
Referenced by m68hc11_frame_unwind_cache(), m68hc11_initialize_register_info(), m68hc11_print_registers_info(), m68hc11_pseudo_register_read(), m68hc11_pseudo_register_write(), m68hc11_register_name(), and m68hc11_which_soft_register().