aboutsummaryrefslogtreecommitdiff
path: root/src/target/arm_dpm.h
diff options
context:
space:
mode:
authorDavid Ung <davidu@nvidia.com>2015-01-16 18:04:06 -0800
committerMatthias Welwarsky <matthias.welwarsky@sysgo.com>2017-02-10 13:54:01 +0100
commit84a0bb4a3c3c883b22f95abc7f1428faef3936f1 (patch)
tree4811a836e84884cdf179566afbb6235dfdc01c8c /src/target/arm_dpm.h
parent9cbfc9feb35ce0fcc9bb67a4d83b02100ee65f88 (diff)
downloadriscv-openocd-84a0bb4a3c3c883b22f95abc7f1428faef3936f1.zip
riscv-openocd-84a0bb4a3c3c883b22f95abc7f1428faef3936f1.tar.gz
riscv-openocd-84a0bb4a3c3c883b22f95abc7f1428faef3936f1.tar.bz2
arm_dpm: Add 64bit register handling.
Add various function to read/write ARMv8 registers. Change-Id: I16f2829bdd0e87b050a51e414ff675d5c21bcbae Signed-off-by: David Ung <david.ung.42@gmail.com> Signed-off-by: Matthias Welwarsky <matthias.welwarsky@sysgo.com>
Diffstat (limited to 'src/target/arm_dpm.h')
-rw-r--r--src/target/arm_dpm.h10
1 files changed, 10 insertions, 0 deletions
diff --git a/src/target/arm_dpm.h b/src/target/arm_dpm.h
index bbcae78..9cc0304 100644
--- a/src/target/arm_dpm.h
+++ b/src/target/arm_dpm.h
@@ -86,10 +86,19 @@ struct arm_dpm {
int (*instr_read_data_dcc)(struct arm_dpm *,
uint32_t opcode, uint32_t *data);
+ int (*instr_read_data_dcc_64)(struct arm_dpm *,
+ uint32_t opcode, uint64_t *data);
+
/** Runs one instruction, reading data from r0 after execution. */
int (*instr_read_data_r0)(struct arm_dpm *,
uint32_t opcode, uint32_t *data);
+ int (*instr_read_data_r0_64)(struct arm_dpm *,
+ uint32_t opcode, uint64_t *data);
+
+ struct reg *(*arm_reg_current)(struct arm *arm,
+ unsigned regnum);
+
/* BREAKPOINT/WATCHPOINT SUPPORT */
/**
@@ -131,6 +140,7 @@ int arm_dpm_setup(struct arm_dpm *dpm);
int arm_dpm_initialize(struct arm_dpm *dpm);
int arm_dpm_read_current_registers(struct arm_dpm *);
+int arm_dpm_read_current_registers_64(struct arm_dpm *);
int dpm_modeswitch(struct arm_dpm *dpm, enum arm_mode mode);