target/arm: Remove default_exception_el
This function is no longer used. At the same time, remove DisasContext.secure_routed_to_el3, as it in turn becomes unused. Reviewed-by: Peter Maydell <peter.maydell@linaro.org> Signed-off-by: Richard Henderson <richard.henderson@linaro.org> Message-id: 20220609202901.1177572-21-richard.henderson@linaro.org Signed-off-by: Peter Maydell <peter.maydell@linaro.org>
This commit is contained in:
parent
eeaf596022
commit
82303761c6
@ -14585,11 +14585,6 @@ static void aarch64_tr_init_disas_context(DisasContextBase *dcbase,
|
|||||||
dc->condjmp = 0;
|
dc->condjmp = 0;
|
||||||
|
|
||||||
dc->aarch64 = true;
|
dc->aarch64 = true;
|
||||||
/* If we are coming from secure EL0 in a system with a 32-bit EL3, then
|
|
||||||
* there is no secure EL1, so we route exceptions to EL3.
|
|
||||||
*/
|
|
||||||
dc->secure_routed_to_el3 = arm_feature(env, ARM_FEATURE_EL3) &&
|
|
||||||
!arm_el_is_aa64(env, 3);
|
|
||||||
dc->thumb = false;
|
dc->thumb = false;
|
||||||
dc->sctlr_b = 0;
|
dc->sctlr_b = 0;
|
||||||
dc->be_data = EX_TBFLAG_ANY(tb_flags, BE_DATA) ? MO_BE : MO_LE;
|
dc->be_data = EX_TBFLAG_ANY(tb_flags, BE_DATA) ? MO_BE : MO_LE;
|
||||||
|
@ -9319,11 +9319,6 @@ static void arm_tr_init_disas_context(DisasContextBase *dcbase, CPUState *cs)
|
|||||||
dc->condjmp = 0;
|
dc->condjmp = 0;
|
||||||
|
|
||||||
dc->aarch64 = false;
|
dc->aarch64 = false;
|
||||||
/* If we are coming from secure EL0 in a system with a 32-bit EL3, then
|
|
||||||
* there is no secure EL1, so we route exceptions to EL3.
|
|
||||||
*/
|
|
||||||
dc->secure_routed_to_el3 = arm_feature(env, ARM_FEATURE_EL3) &&
|
|
||||||
!arm_el_is_aa64(env, 3);
|
|
||||||
dc->thumb = EX_TBFLAG_AM32(tb_flags, THUMB);
|
dc->thumb = EX_TBFLAG_AM32(tb_flags, THUMB);
|
||||||
dc->be_data = EX_TBFLAG_ANY(tb_flags, BE_DATA) ? MO_BE : MO_LE;
|
dc->be_data = EX_TBFLAG_ANY(tb_flags, BE_DATA) ? MO_BE : MO_LE;
|
||||||
condexec = EX_TBFLAG_AM32(tb_flags, CONDEXEC);
|
condexec = EX_TBFLAG_AM32(tb_flags, CONDEXEC);
|
||||||
|
@ -43,8 +43,6 @@ typedef struct DisasContext {
|
|||||||
int fp_excp_el; /* FP exception EL or 0 if enabled */
|
int fp_excp_el; /* FP exception EL or 0 if enabled */
|
||||||
int sve_excp_el; /* SVE exception EL or 0 if enabled */
|
int sve_excp_el; /* SVE exception EL or 0 if enabled */
|
||||||
int vl; /* current vector length in bytes */
|
int vl; /* current vector length in bytes */
|
||||||
/* Flag indicating that exceptions from secure mode are routed to EL3. */
|
|
||||||
bool secure_routed_to_el3;
|
|
||||||
bool vfp_enabled; /* FP enabled via FPSCR.EN */
|
bool vfp_enabled; /* FP enabled via FPSCR.EN */
|
||||||
int vec_len;
|
int vec_len;
|
||||||
int vec_stride;
|
int vec_stride;
|
||||||
@ -199,20 +197,6 @@ static inline int get_mem_index(DisasContext *s)
|
|||||||
return arm_to_core_mmu_idx(s->mmu_idx);
|
return arm_to_core_mmu_idx(s->mmu_idx);
|
||||||
}
|
}
|
||||||
|
|
||||||
/* Function used to determine the target exception EL when otherwise not known
|
|
||||||
* or default.
|
|
||||||
*/
|
|
||||||
static inline int default_exception_el(DisasContext *s)
|
|
||||||
{
|
|
||||||
/* If we are coming from secure EL0 in a system with a 32-bit EL3, then
|
|
||||||
* there is no secure EL1, so we route exceptions to EL3. Otherwise,
|
|
||||||
* exceptions can only be routed to ELs above 1, so we target the higher of
|
|
||||||
* 1 or the current EL.
|
|
||||||
*/
|
|
||||||
return (s->mmu_idx == ARMMMUIdx_SE10_0 && s->secure_routed_to_el3)
|
|
||||||
? 3 : MAX(1, s->current_el);
|
|
||||||
}
|
|
||||||
|
|
||||||
static inline void disas_set_insn_syndrome(DisasContext *s, uint32_t syn)
|
static inline void disas_set_insn_syndrome(DisasContext *s, uint32_t syn)
|
||||||
{
|
{
|
||||||
/* We don't need to save all of the syndrome so we mask and shift
|
/* We don't need to save all of the syndrome so we mask and shift
|
||||||
|
Loading…
Reference in New Issue
Block a user