OpenOCD
armv8_opcodes.c File Reference
Include dependency graph for armv8_opcodes.c:

Go to the source code of this file.

Functions

uint32_t armv8_opcode (struct armv8_common *armv8, enum armv8_opcode code)
 
void armv8_select_opcodes (struct armv8_common *armv8, bool state_is_aarch64)
 

Variables

static const uint32_t a64_opcodes [ARMV8_OPC_NUM]
 
static const uint32_t t32_opcodes [ARMV8_OPC_NUM]
 

Function Documentation

◆ armv8_opcode()

uint32_t armv8_opcode ( struct armv8_common armv8,
enum armv8_opcode  code 
)

Definition at line 81 of file armv8_opcodes.c.

References ARMV8_OPC_NUM, and armv8_common::opcodes.

◆ armv8_select_opcodes()

void armv8_select_opcodes ( struct armv8_common armv8,
bool  state_is_aarch64 
)

Variable Documentation

◆ a64_opcodes

const uint32_t a64_opcodes[ARMV8_OPC_NUM]
static
Initial value:
= {
}
#define SYSTEM_CSSELR
Definition: armv8_opcodes.h:68
#define ARMV8_MSR_GP(system, rt)
#define ARMV8_ISB
#define SYSTEM_ICIVAU
Definition: armv8_opcodes.h:74
#define SYSTEM_DCCIVAC
Definition: armv8_opcodes.h:76
#define SYSTEM_CLIDR
Definition: armv8_opcodes.h:67
#define ARMV8_LDRH_IP(rd, rn)
#define ARMV8_DRPS
#define ARMV8_STRB_IP(rd, rn)
#define ARMV8_MRS_DSPSR(rt)
#define ARMV8_MRS(system, rt)
#define ARMV8_HLT(im)
#define ARMV8_SYS(system, rt)
#define SYSTEM_CTR
Definition: armv8_opcodes.h:70
#define SYSTEM_CCSIDR
Definition: armv8_opcodes.h:66
#define ARMV8_LDRW_IP(rd, rn)
#define ARMV8_DSB_SY
#define ARMV8_STRD_IP(rd, rn)
#define ARMV8_DCPS(el, im)
#define ARMV8_MSR_DSPSR(rt)
#define ARMV8_STRW_IP(rd, rn)
#define ARMV8_LDRB_IP(rd, rn)
@ ARMV8_OPC_DCCISW
@ READ_REG_CCSIDR
@ ARMV8_OPC_LDRD_IP
@ ARMV8_OPC_LDRW_IP
@ ARMV8_OPC_ISB_SY
@ WRITE_REG_DSPSR
@ ARMV8_OPC_LDRB_IP
@ WRITE_REG_DTRTX
@ READ_REG_CTR
@ READ_REG_DSPSR
@ READ_REG_MPIDR
@ ARMV8_OPC_LDRH_IP
@ WRITE_REG_CSSELR
@ READ_REG_DTRRX
@ ARMV8_OPC_STRD_IP
@ ARMV8_OPC_DCPS
@ ARMV8_OPC_STRH_IP
@ ARMV8_OPC_HLT
@ ARMV8_OPC_STRW_IP
@ READ_REG_CLIDR
@ ARMV8_OPC_DCCIVAC
@ ARMV8_OPC_STRB_IP
@ ARMV8_OPC_DRPS
@ ARMV8_OPC_DSB_SY
@ ARMV8_OPC_ICIVAU
@ READ_REG_CSSELR
#define ARMV8_STRH_IP(rd, rn)
#define SYSTEM_MPIDR
Definition: armv8_opcodes.h:78
#define SYSTEM_DBG_DTRTX_EL0
Definition: armv8_opcodes.h:63
#define SYSTEM_DCCISW
Definition: armv8_opcodes.h:72
#define SYSTEM_DBG_DTRRX_EL0
Definition: armv8_opcodes.h:62
#define ARMV8_LDRD_IP(rd, rn)

Definition at line 17 of file armv8_opcodes.c.

Referenced by armv8_select_opcodes().

◆ t32_opcodes

const uint32_t t32_opcodes[ARMV8_OPC_NUM]
static
Initial value:
= {
[READ_REG_CTR] = ARMV4_5_MRC(15, 0, 0, 0, 0, 1),
[READ_REG_CLIDR] = ARMV4_5_MRC(15, 1, 0, 0, 0, 1),
[READ_REG_CSSELR] = ARMV4_5_MRC(15, 2, 0, 0, 0, 0),
[READ_REG_CCSIDR] = ARMV4_5_MRC(15, 1, 0, 0, 0, 0),
[WRITE_REG_CSSELR] = ARMV4_5_MCR(15, 2, 0, 0, 0, 0),
[READ_REG_MPIDR] = ARMV4_5_MRC(15, 0, 0, 0, 0, 5),
[READ_REG_DTRRX] = ARMV4_5_MRC(14, 0, 0, 0, 5, 0),
[WRITE_REG_DTRTX] = ARMV4_5_MCR(14, 0, 0, 0, 5, 0),
[ARMV8_OPC_DCCISW] = ARMV4_5_MCR(15, 0, 0, 7, 14, 2),
[ARMV8_OPC_DCCIVAC] = ARMV4_5_MCR(15, 0, 0, 7, 14, 1),
[ARMV8_OPC_ICIVAU] = ARMV4_5_MCR(15, 0, 0, 7, 5, 1),
}
#define ARMV4_5_MRC(cp, op1, rd, crn, crm, op2)
Definition: arm_opcodes.h:186
#define ARMV4_5_MCR(cp, op1, rd, crn, crm, op2)
Definition: arm_opcodes.h:209
#define ARMV8_HLT_T1(im)
#define ARMV8_LDRW_IP_T3(rd, rn)
#define ARMV8_STRW_IP_T3(rd, rn)
#define ARMV8_MCR_DSPSR(rt)
#define ARMV8_ERET_T1
#define ARMV8_LDRB_IP_T3(rd, rn)
#define ARMV8_ISB_SY_T1
#define ARMV8_DCPS_T1(el)
#define ARMV8_STRB_IP_T3(rd, rn)
#define ARMV8_LDRH_IP_T3(rd, rn)
#define ARMV8_MRC_DSPSR(rt)
#define ARMV8_STRH_IP_T3(rd, rn)
#define ARMV8_DSB_SY_T1

Definition at line 46 of file armv8_opcodes.c.

Referenced by armv8_select_opcodes().