summaryrefslogtreecommitdiff
path: root/target-arm/helper.h
diff options
context:
space:
mode:
authorPeter Maydell <peter.maydell@linaro.org>2016-03-16 17:05:58 +0000
committerPeter Maydell <peter.maydell@linaro.org>2016-03-16 17:05:58 +0000
commit8bfd0550be821cf27d71444e2af350de3c3d2ee3 (patch)
tree389a9174e2f86d4cee1e5782c8e38d4be9fcbf1a /target-arm/helper.h
parentf09f9bd9fa7ccfc1f2b1e88dd35141b1b118ecb7 (diff)
downloadqemu-8bfd0550be821cf27d71444e2af350de3c3d2ee3.tar.gz
target-arm: Implement MRS (banked) and MSR (banked) instructions
Starting with the ARMv7 Virtualization Extensions, the A32 and T32 instruction sets provide instructions "MSR (banked)" and "MRS (banked)" which can be used to access registers for a mode other than the current one: * R<m>_<mode> * ELR_hyp * SPSR_<mode> Implement the missing instructions. Signed-off-by: Peter Maydell <peter.maydell@linaro.org> Acked-by: Edgar E. Iglesias <edgar.iglesias@xilinx.com> Message-id: 1456762734-23939-1-git-send-email-peter.maydell@linaro.org
Diffstat (limited to 'target-arm/helper.h')
-rw-r--r--target-arm/helper.h3
1 files changed, 3 insertions, 0 deletions
diff --git a/target-arm/helper.h b/target-arm/helper.h
index e3d09d93bd..84aa637629 100644
--- a/target-arm/helper.h
+++ b/target-arm/helper.h
@@ -77,6 +77,9 @@ DEF_HELPER_1(exception_return, void, env)
DEF_HELPER_2(get_r13_banked, i32, env, i32)
DEF_HELPER_3(set_r13_banked, void, env, i32, i32)
+DEF_HELPER_3(mrs_banked, i32, env, i32, i32)
+DEF_HELPER_4(msr_banked, void, env, i32, i32, i32)
+
DEF_HELPER_2(get_user_reg, i32, env, i32)
DEF_HELPER_3(set_user_reg, void, env, i32, i32)