diff options
author | Peter Maydell <peter.maydell@linaro.org> | 2014-02-26 17:20:02 +0000 |
---|---|---|
committer | Peter Maydell <peter.maydell@linaro.org> | 2014-02-26 17:20:02 +0000 |
commit | 0eef9d9833df1c2376bd3b761abc6580df15af3b (patch) | |
tree | b8e1e087321a63c0e5d44bc5a1dfa479912c00c5 /target-arm/translate-a64.c | |
parent | 7da845b0f42a791d65045284f90977d636c654cc (diff) |
target-arm: Implement AArch64 CurrentEL sysreg
Implement the CurrentEL sysreg.
Signed-off-by: Peter Maydell <peter.maydell@linaro.org>
Reviewed-by: Peter Crosthwaite <peter.crosthwaite@xilinx.com>
Diffstat (limited to 'target-arm/translate-a64.c')
-rw-r--r-- | target-arm/translate-a64.c | 7 |
1 files changed, 7 insertions, 0 deletions
diff --git a/target-arm/translate-a64.c b/target-arm/translate-a64.c index 8752e7e16c..ec2d9dc219 100644 --- a/target-arm/translate-a64.c +++ b/target-arm/translate-a64.c @@ -1231,6 +1231,13 @@ static void handle_sys(DisasContext *s, uint32_t insn, bool isread, gen_set_nzcv(tcg_rt); } return; + case ARM_CP_CURRENTEL: + /* Reads as current EL value from pstate, which is + * guaranteed to be constant by the tb flags. + */ + tcg_rt = cpu_reg(s, rt); + tcg_gen_movi_i64(tcg_rt, s->current_pl << 2); + return; default: break; } |