GDB (xrefs)
Loading...
Searching...
No Matches
Functions | Variables
aarch64-insn.c File Reference
#include "gdbsupport/common-defs.h"
#include "aarch64-insn.h"

Go to the source code of this file.

Functions

static int decode_masked_match (uint32_t insn, uint32_t mask, uint32_t pattern)
 
int aarch64_decode_adr (CORE_ADDR addr, uint32_t insn, int *is_adrp, unsigned *rd, int32_t *offset)
 
int aarch64_decode_b (CORE_ADDR addr, uint32_t insn, int *is_bl, int32_t *offset)
 
int aarch64_decode_bcond (CORE_ADDR addr, uint32_t insn, unsigned *cond, int32_t *offset)
 
int aarch64_decode_cb (CORE_ADDR addr, uint32_t insn, int *is64, int *is_cbnz, unsigned *rn, int32_t *offset)
 
int aarch64_decode_tb (CORE_ADDR addr, uint32_t insn, int *is_tbnz, unsigned *bit, unsigned *rt, int32_t *imm)
 
int aarch64_decode_ldr_literal (CORE_ADDR addr, uint32_t insn, int *is_w, int *is64, unsigned *rt, int32_t *offset)
 
void aarch64_relocate_instruction (uint32_t insn, const struct aarch64_insn_visitor *visitor, struct aarch64_insn_data *data)
 
int aarch64_emit_insn (uint32_t *buf, uint32_t insn)
 
int aarch64_emit_load_store (uint32_t *buf, uint32_t size, enum aarch64_opcodes opcode, struct aarch64_register rt, struct aarch64_register rn, struct aarch64_memory_operand operand)
 

Variables

bool aarch64_debug = false
 

Function Documentation

◆ aarch64_decode_adr()

int aarch64_decode_adr ( CORE_ADDR addr,
uint32_t insn,
int * is_adrp,
unsigned * rd,
int32_t * offset )

Definition at line 50 of file aarch64-insn.c.

References aarch64_debug_printf, decode_masked_match(), and sbits.

Referenced by aarch64_relocate_instruction().

◆ aarch64_decode_b()

int aarch64_decode_b ( CORE_ADDR addr,
uint32_t insn,
int * is_bl,
int32_t * offset )

Definition at line 91 of file aarch64-insn.c.

References aarch64_debug, decode_masked_match(), and sbits.

Referenced by aarch64_relocate_instruction().

◆ aarch64_decode_bcond()

int aarch64_decode_bcond ( CORE_ADDR addr,
uint32_t insn,
unsigned * cond,
int32_t * offset )

Definition at line 125 of file aarch64-insn.c.

References aarch64_debug, decode_masked_match(), and sbits.

Referenced by aarch64_relocate_instruction().

◆ aarch64_decode_cb()

int aarch64_decode_cb ( CORE_ADDR addr,
uint32_t insn,
int * is64,
int * is_cbnz,
unsigned * rn,
int32_t * offset )

Definition at line 157 of file aarch64-insn.c.

References aarch64_debug, decode_masked_match(), and sbits.

Referenced by aarch64_relocate_instruction().

◆ aarch64_decode_ldr_literal()

int aarch64_decode_ldr_literal ( CORE_ADDR addr,
uint32_t insn,
int * is_w,
int * is64,
unsigned * rt,
int32_t * offset )

Definition at line 230 of file aarch64-insn.c.

References aarch64_debug, and sbits.

Referenced by aarch64_relocate_instruction().

◆ aarch64_decode_tb()

int aarch64_decode_tb ( CORE_ADDR addr,
uint32_t insn,
int * is_tbnz,
unsigned * bit,
unsigned * rt,
int32_t * imm )

Definition at line 193 of file aarch64-insn.c.

References aarch64_debug, bit, decode_masked_match(), and sbits.

Referenced by aarch64_relocate_instruction().

◆ aarch64_emit_insn()

int aarch64_emit_insn ( uint32_t * buf,
uint32_t insn )

Definition at line 314 of file aarch64-insn.c.

Referenced by aarch64_displaced_step_others(), and aarch64_emit_load_store().

◆ aarch64_emit_load_store()

int aarch64_emit_load_store ( uint32_t * buf,
uint32_t size,
enum aarch64_opcodes opcode,
struct aarch64_register rt,
struct aarch64_register rn,
struct aarch64_memory_operand operand )

◆ aarch64_relocate_instruction()

void aarch64_relocate_instruction ( uint32_t insn,
const struct aarch64_insn_visitor * visitor,
struct aarch64_insn_data * data )

◆ decode_masked_match()

static int decode_masked_match ( uint32_t insn,
uint32_t mask,
uint32_t pattern )
static

Variable Documentation

◆ aarch64_debug

bool aarch64_debug = false