Lines Matching defs:esr_el3
64 static void ea_proceed(uint32_t ea_reason, u_register_t esr_el3, u_register_t scr_el3, cpu_context_t *ctx)
74 return plat_handle_double_fault(ea_reason, esr_el3);
82 write_ctx_reg(state, CTX_DOUBLE_FAULT_ESR, esr_el3);
85 plat_ea_handler(ea_reason, esr_el3, NULL, ctx, scr_el3 & SCR_NS_BIT);
101 u_register_t esr_el3 = read_esr_el3();
105 assert(EXTRACT(ESR_EC, esr_el3) == EC_SERROR);
112 if ((esr_el3 & SERROR_IDS_BIT) != 0) {
115 if (EXTRACT(EABORT_DFSC, esr_el3) == DFSC_SERROR &&
116 EXTRACT(EABORT_AET, esr_el3) == ERROR_STATUS_UET_UC) {
122 return ea_proceed(ERROR_EA_ASYNC, esr_el3, scr_el3, ctx);
241 u_register_t esr_el3 = read_esr_el3();
242 u_register_t exc_class = EXTRACT(ESR_EC, esr_el3);
252 int ret = handle_sysreg_trap(esr_el3, ctx, get_flags(smc_fid, scr_el3));
270 (EXTRACT(EABORT_SET, esr_el3) == ERROR_STATUS_SET_UC ||
271 EXTRACT(EABORT_DFSC, esr_el3) == SYNC_EA_FSC)) {
275 return ea_proceed(ERROR_EA_SYNC, esr_el3, scr_el3, ctx);
283 ERROR("at address 0x%lx, reason 0x%lx\n", read_elr_el3(), esr_el3);