aarch64: introduce dpm extension for ARMv8

Add or move ARMv8 related dpm function to their own source module

Change-Id: Id93d50be0b8635bd40ddb2a74fe8746ff840d736
Signed-off-by: Matthias Welwarsky <matthias.welwarsky@sysgo.com>
This commit is contained in:
Matthias Welwarsky
2016-09-03 23:20:58 +02:00
parent df32af234c
commit a3b9e12aec
9 changed files with 1400 additions and 260 deletions

View File

@@ -66,6 +66,15 @@ enum arm_mode {
ARM_MODE_USER_THREAD = 1,
ARM_MODE_HANDLER = 2,
/* shift left 4 bits for armv8 64 */
ARMV8_64_EL0T = 0x0F,
ARMV8_64_EL1T = 0x4F,
ARMV8_64_EL1H = 0x5F,
ARMV8_64_EL2T = 0x8F,
ARMV8_64_EL2H = 0x9F,
ARMV8_64_EL3T = 0xCF,
ARMV8_64_EL3H = 0xDF,
ARM_MODE_ANY = -1
};
@@ -180,6 +189,18 @@ struct arm {
uint32_t CRn, uint32_t CRm,
uint32_t value);
/** Read coprocessor register. */
int (*mrs)(struct target *target, uint32_t op0,
uint32_t op1, uint32_t op2,
uint32_t CRn, uint32_t CRm,
uint32_t *value);
/** Write coprocessor register. */
int (*msr)(struct target *target, uint32_t cpnum,
uint32_t op1, uint32_t op2,
uint32_t CRn, uint32_t CRm,
uint32_t value);
void *arch_info;
/** For targets conforming to ARM Debug Interface v5,