diff options
author | Greg Bellows <greg.bellows@linaro.org> | 2015-05-29 11:28:50 +0100 |
---|---|---|
committer | Peter Maydell <peter.maydell@linaro.org> | 2015-05-29 11:28:50 +0100 |
commit | 737103619869600668cc7e8700e4f6eab3943896 (patch) | |
tree | 2192a6a004d97a24674a8b6971d77a3c07d63178 /target-arm/op_helper.c | |
parent | ba7c388963e099c0d2cedb7f048e30747ffff25d (diff) |
target-arm: Add exception target el infrastructure
Add a CPU state exception target EL field that will be used for communicating
the EL to which an exception should be routed.
Add a disassembly context field for tracking the EL3 architecture needed for
determining the target exception EL.
Add a target EL argument to the generic exception helper for callers to specify
the EL to which the exception should be routed. Extended the helper to set
the newly added CPU state exception target el.
Added a function for setting the target exception EL and updated calls to helpers
to call it.
Signed-off-by: Greg Bellows <greg.bellows@linaro.org>
Acked-by: Edgar E. Iglesias <edgar.iglesias@xilinx.com>
Message-id: 1429722561-12651-2-git-send-email-greg.bellows@linaro.org
Signed-off-by: Peter Maydell <peter.maydell@linaro.org>
Diffstat (limited to 'target-arm/op_helper.c')
-rw-r--r-- | target-arm/op_helper.c | 3 |
1 files changed, 2 insertions, 1 deletions
diff --git a/target-arm/op_helper.c b/target-arm/op_helper.c index 3df9c57c91..51b04bdf98 100644 --- a/target-arm/op_helper.c +++ b/target-arm/op_helper.c @@ -246,13 +246,14 @@ void HELPER(exception_internal)(CPUARMState *env, uint32_t excp) /* Raise an exception with the specified syndrome register value */ void HELPER(exception_with_syndrome)(CPUARMState *env, uint32_t excp, - uint32_t syndrome) + uint32_t syndrome, uint32_t target_el) { CPUState *cs = CPU(arm_env_get_cpu(env)); assert(!excp_is_internal(excp)); cs->exception_index = excp; env->exception.syndrome = syndrome; + env->exception.target_el = target_el; cpu_loop_exit(cs); } |