diff options
author | Peter Maydell <peter.maydell@linaro.org> | 2014-01-04 22:15:44 +0000 |
---|---|---|
committer | Peter Maydell <peter.maydell@linaro.org> | 2014-01-07 19:17:58 +0000 |
commit | 60322b399dc62da7cc1ccd42fbd19b017f8a5e38 (patch) | |
tree | 5f18c7d66fc97dbb4a7c74b2a3b8a0ec2dfb8f83 /target-arm/translate-a64.c | |
parent | f5a0a5a5abe7b72ad14b8884681a25fcf3e91c16 (diff) |
target-arm: Remove ARMCPU/CPUARMState from cpregs APIs used by decoder
The cpregs APIs used by the decoder (get_arm_cp_reginfo() and
cp_access_ok()) currently take either a CPUARMState* or an ARMCPU*.
This is problematic for the A64 decoder, which doesn't pass the
environment pointer around everywhere the way the 32 bit decoder
does. Adjust the parameters these functions take so that we can
copy only the relevant info from the CPUARMState into the
DisasContext and then use that.
Signed-off-by: Peter Maydell <peter.maydell@linaro.org>
Reviewed-by: Richard Henderson <rth@twiddle.net>
Diffstat (limited to 'target-arm/translate-a64.c')
-rw-r--r-- | target-arm/translate-a64.c | 2 |
1 files changed, 2 insertions, 0 deletions
diff --git a/target-arm/translate-a64.c b/target-arm/translate-a64.c index 7d98337a45..e35d2f350b 100644 --- a/target-arm/translate-a64.c +++ b/target-arm/translate-a64.c @@ -3007,6 +3007,8 @@ void gen_intermediate_code_internal_a64(ARMCPU *cpu, dc->vfp_enabled = 0; dc->vec_len = 0; dc->vec_stride = 0; + dc->cp_regs = cpu->cp_regs; + dc->current_pl = arm_current_pl(env); init_tmp_a64_array(dc); |