|
GDB (xrefs)
|
Go to the source code of this file.
Macros | |
| #define | INST_EQ 0x0 |
| #define | INST_NE 0x1 |
| #define | INST_CS 0x2 |
| #define | INST_CC 0x3 |
| #define | INST_MI 0x4 |
| #define | INST_PL 0x5 |
| #define | INST_VS 0x6 |
| #define | INST_VC 0x7 |
| #define | INST_HI 0x8 |
| #define | INST_LS 0x9 |
| #define | INST_GE 0xa |
| #define | INST_LT 0xb |
| #define | INST_GT 0xc |
| #define | INST_LE 0xd |
| #define | INST_AL 0xe |
| #define | INST_NV 0xf |
| #define | FLAG_N 0x80000000 |
| #define | FLAG_Z 0x40000000 |
| #define | FLAG_C 0x20000000 |
| #define | FLAG_V 0x10000000 |
| #define | CPSR_T 0x20 |
| #define | XPSR_T 0x01000000 |
| #define | INT_REGISTER_SIZE 4 |
| #define | IS_THUMB_ADDR(addr) ((addr) & 1) |
| #define | MAKE_THUMB_ADDR(addr) ((addr) | 1) |
| #define | UNMAKE_THUMB_ADDR(addr) ((addr) & ~1) |
| #define | submask(x) ((1L << ((x) + 1)) - 1) |
| #define | bits(obj, st, fn) (((obj) >> (st)) & submask ((fn) - (st))) |
| #define | bit(obj, st) (((obj) >> (st)) & 1) |
| #define | sbits(obj, st, fn) ((long) (bits(obj,st,fn) | ((long) bit(obj,fn) * ~ submask (fn - st)))) |
| #define | BranchDest(addr, instr) ((CORE_ADDR) (((unsigned long) (addr)) + 8 + (sbits (instr, 0, 23) << 2))) |
Functions | |
| int | thumb_insn_size (unsigned short inst1) |
| int | condition_true (unsigned long cond, unsigned long status_reg) |
| int | bitcount (unsigned long val) |
| int | arm_instruction_changes_pc (uint32_t this_instr) |
| int | thumb_instruction_changes_pc (unsigned short inst) |
| int | thumb2_instruction_changes_pc (unsigned short inst1, unsigned short inst2) |
| int | thumb_advance_itstate (unsigned int itstate) |
| unsigned long | shifted_reg_val (struct regcache *regcache, unsigned long inst, int carry, unsigned long pc_val, unsigned long status_reg) |
| #define bits | ( | obj, | |
| st, | |||
| fn | |||
| ) | (((obj) >> (st)) & submask ((fn) - (st))) |
| #define BranchDest | ( | addr, | |
| instr | |||
| ) | ((CORE_ADDR) (((unsigned long) (addr)) + 8 + (sbits (instr, 0, 23) << 2))) |
Definition at line 111 of file arm.h.
Referenced by arm_analyze_prologue(), arm_deal_with_atomic_sequence_raw(), and arm_get_next_pcs_raw().
| #define CPSR_T 0x20 |
Definition at line 92 of file arm.h.
Referenced by arm_psr_thumb_bit().
| #define FLAG_C 0x20000000 |
Definition at line 89 of file arm.h.
Referenced by arm_get_next_pcs_raw(), and condition_true().
| #define FLAG_N 0x80000000 |
Definition at line 87 of file arm.h.
Referenced by condition_true().
| #define FLAG_V 0x10000000 |
Definition at line 90 of file arm.h.
Referenced by condition_true().
| #define FLAG_Z 0x40000000 |
Definition at line 88 of file arm.h.
Referenced by condition_true().
| #define INST_AL 0xe |
Definition at line 84 of file arm.h.
Referenced by condition_true(), thumb2_copy_b_bl_blx(), thumb2_copy_block_xfer(), thumb2_copy_table_branch(), thumb_copy_b(), thumb_copy_bx_blx_reg(), thumb_copy_cbnz_cbz(), and thumb_copy_pop_pc_16bit().
| #define INST_CC 0x3 |
Definition at line 73 of file arm.h.
Referenced by condition_true().
| #define INST_CS 0x2 |
Definition at line 72 of file arm.h.
Referenced by condition_true().
| #define INST_EQ 0x0 |
Definition at line 70 of file arm.h.
Referenced by condition_true().
| #define INST_GE 0xa |
Definition at line 80 of file arm.h.
Referenced by condition_true().
| #define INST_GT 0xc |
Definition at line 82 of file arm.h.
Referenced by condition_true().
| #define INST_HI 0x8 |
Definition at line 78 of file arm.h.
Referenced by condition_true().
| #define INST_LE 0xd |
Definition at line 83 of file arm.h.
Referenced by condition_true().
| #define INST_LS 0x9 |
Definition at line 79 of file arm.h.
Referenced by condition_true().
| #define INST_LT 0xb |
Definition at line 81 of file arm.h.
Referenced by condition_true().
| #define INST_MI 0x4 |
Definition at line 74 of file arm.h.
Referenced by condition_true().
| #define INST_NE 0x1 |
Definition at line 71 of file arm.h.
Referenced by condition_true().
| #define INST_NV 0xf |
Definition at line 85 of file arm.h.
Referenced by arm_get_next_pcs_raw(), arm_instruction_changes_pc(), arm_instruction_restores_sp(), arm_linux_get_next_pcs_fixup(), arm_stack_frame_destroyed_p_1(), and condition_true().
| #define INST_PL 0x5 |
Definition at line 75 of file arm.h.
Referenced by condition_true().
| #define INST_VC 0x7 |
Definition at line 77 of file arm.h.
Referenced by condition_true().
| #define INST_VS 0x6 |
Definition at line 76 of file arm.h.
Referenced by condition_true().
| #define INT_REGISTER_SIZE 4 |
Definition at line 97 of file arm.h.
Referenced by arm_extract_return_value(), arm_get_longjmp_target(), arm_linux_collect_gregset(), arm_linux_collect_nwfpe(), arm_linux_sigreturn_next_pc_offset(), arm_linux_supply_gregset(), arm_push_dummy_call(), arm_record_ld_st_multiple(), arm_register_g_packet_guesses(), arm_return_in_memory(), arm_store_return_value(), and thumb_get_next_pcs_raw().
| #define IS_THUMB_ADDR | ( | addr | ) | ((addr) & 1) |
Definition at line 101 of file arm.h.
Referenced by arm_breakpoint_kind_from_current_state(), arm_dwarf2_prev_register(), arm_pc_is_thumb(), and arm_prologue_prev_register().
| #define MAKE_THUMB_ADDR | ( | addr | ) | ((addr) | 1) |
Definition at line 102 of file arm.h.
Referenced by arm_breakpoint_kind_from_current_state(), arm_get_next_pcs_raw(), arm_linux_get_next_pcs_fixup(), arm_linux_get_next_pcs_syscall_next_pc(), arm_push_dummy_call(), thumb_deal_with_atomic_sequence_raw(), and thumb_get_next_pcs_raw().
| #define sbits | ( | obj, | |
| st, | |||
| fn | |||
| ) | ((long) (bits(obj,st,fn) | ((long) bit(obj,fn) * ~ submask (fn - st)))) |
Definition at line 109 of file arm.h.
Referenced by thumb2_copy_b_bl_blx(), thumb_analyze_prologue(), thumb_copy_b(), thumb_deal_with_atomic_sequence_raw(), and thumb_get_next_pcs_raw().
| #define UNMAKE_THUMB_ADDR | ( | addr | ) | ((addr) & ~1) |
Definition at line 103 of file arm.h.
Referenced by arm_addr_bits_remove(), arm_breakpoint_kind_from_current_state(), arm_breakpoint_kind_from_pc(), arm_exidx_new_objfile(), arm_skip_bx_reg(), gdb_print_insn_arm(), and thumb_get_next_pcs_raw().
| #define XPSR_T 0x01000000 |
Definition at line 94 of file arm.h.
Referenced by arm_psr_thumb_bit().
| enum arm_breakpoint_kinds |
| enum gdb_regnum |
| int arm_instruction_changes_pc | ( | uint32_t | this_instr | ) |
Definition at line 112 of file arm.c.
References _, ARM_PC_REGNUM, bit, bits, error(), INST_NV, and internal_error().
Referenced by arm_analyze_prologue(), and arm_deal_with_atomic_sequence_raw().
| int bitcount | ( | unsigned long | val | ) |
Definition at line 38 of file arm.c.
Referenced by arm_copy_block_xfer(), arm_get_next_pcs_raw(), cleanup_block_load_pc(), cleanup_block_store_pc(), thumb2_copy_block_xfer(), thumb_copy_pop_pc_16bit(), and thumb_get_next_pcs_raw().
| int condition_true | ( | unsigned long | cond, |
| unsigned long | status_reg | ||
| ) |
Definition at line 49 of file arm.c.
References FLAG_C, FLAG_N, FLAG_V, FLAG_Z, INST_AL, INST_CC, INST_CS, INST_EQ, INST_GE, INST_GT, INST_HI, INST_LE, INST_LS, INST_LT, INST_MI, INST_NE, INST_NV, INST_PL, INST_VC, and INST_VS.
Referenced by arm_get_next_pcs_raw(), cleanup_block_load_all(), cleanup_block_load_pc(), cleanup_block_store_pc(), cleanup_branch(), and thumb_get_next_pcs_raw().
| unsigned long shifted_reg_val | ( | struct regcache * | regcache, |
| unsigned long | inst, | ||
| int | carry, | ||
| unsigned long | pc_val, | ||
| unsigned long | status_reg | ||
| ) |
Definition at line 325 of file arm.c.
References ARM_PC_REGNUM, bit, bits, L, regcache_raw_get_unsigned(), and shifttype.
Referenced by arm_get_next_pcs_raw().
| int thumb2_instruction_changes_pc | ( | unsigned short | inst1, |
| unsigned short | inst2 | ||
| ) |
Definition at line 231 of file arm.c.
Referenced by thumb_analyze_prologue(), and thumb_deal_with_atomic_sequence_raw().
| int thumb_advance_itstate | ( | unsigned int | itstate | ) |
Definition at line 96 of file arm.c.
Referenced by thumb_get_next_pcs_raw().
| int thumb_insn_size | ( | unsigned short | inst1 | ) |
Definition at line 27 of file arm.c.
Referenced by arm_adjust_breakpoint_address(), arm_breakpoint_kind_from_pc(), arm_linux_get_next_pcs_fixup(), thumb_analyze_prologue(), thumb_deal_with_atomic_sequence_raw(), thumb_get_next_pcs_raw(), thumb_process_displaced_insn(), and thumb_stack_frame_destroyed_p().
| int thumb_instruction_changes_pc | ( | unsigned short | inst | ) |
Definition at line 204 of file arm.c.
Referenced by thumb_analyze_prologue(), and thumb_deal_with_atomic_sequence_raw().
1.8.14