summaryrefslogtreecommitdiffstats
path: root/target-arm/helper.c
diff options
context:
space:
mode:
authorPeter Maydell2014-04-15 20:18:42 +0200
committerPeter Maydell2014-04-17 22:34:04 +0200
commita0618a1990e4df30a76cf5b441b4aa7f002b0d64 (patch)
tree7a49aa78bfc908fecaf4cafd53798556082b5f6f /target-arm/helper.c
parenttarget-arm: Implement AArch64 views of fault status and data registers (diff)
downloadqemu-a0618a1990e4df30a76cf5b441b4aa7f002b0d64.tar.gz
qemu-a0618a1990e4df30a76cf5b441b4aa7f002b0d64.tar.xz
qemu-a0618a1990e4df30a76cf5b441b4aa7f002b0d64.zip
target-arm: Add AArch64 ELR_EL1 register.
Add the AArch64 ELR_EL1 register. Note that this does not live in env->cp15: for KVM migration compatibility we need to migrate it separately rather than as part of the system registers, because the KVM-to-userspace interface puts it in the struct kvm_regs rather than making them visible via the ONE_REG ioctls. Signed-off-by: Peter Maydell <peter.maydell@linaro.org> Reviewed-by: Peter Crosthwaite <peter.crosthwaite@xilinx.com>
Diffstat (limited to 'target-arm/helper.c')
-rw-r--r--target-arm/helper.c4
1 files changed, 4 insertions, 0 deletions
diff --git a/target-arm/helper.c b/target-arm/helper.c
index 5f6233b2c4..276ecf28dc 100644
--- a/target-arm/helper.c
+++ b/target-arm/helper.c
@@ -1911,6 +1911,10 @@ static const ARMCPRegInfo v8_cp_reginfo[] = {
{ .name = "OSLAR_EL1", .state = ARM_CP_STATE_AA64,
.opc0 = 2, .opc1 = 0, .crn = 1, .crm = 0, .opc2 = 4,
.access = PL1_W, .type = ARM_CP_NOP },
+ { .name = "ELR_EL1", .state = ARM_CP_STATE_AA64,
+ .type = ARM_CP_NO_MIGRATE,
+ .opc0 = 3, .opc1 = 0, .crn = 4, .crm = 0, .opc2 = 1,
+ .access = PL1_RW, .fieldoffset = offsetof(CPUARMState, elr_el1) },
REGINFO_SENTINEL
};