1*b5c850d4SMarcin Wojtas /* 2*b5c850d4SMarcin Wojtas * Copyright (C) 2019 Repk repk@triplefau.lt 3*b5c850d4SMarcin Wojtas * 4*b5c850d4SMarcin Wojtas * SPDX-License-Identifier: BSD-3-Clause 5*b5c850d4SMarcin Wojtas * https://spdx.org/licenses 6*b5c850d4SMarcin Wojtas */ 7*b5c850d4SMarcin Wojtas #include <common/bl_common.h> 8*b5c850d4SMarcin Wojtas #include <common/debug.h> 9*b5c850d4SMarcin Wojtas #include <arch_helpers.h> 10*b5c850d4SMarcin Wojtas 11*b5c850d4SMarcin Wojtas #define ADVK_SERROR_SYNDROME 0xbf000002 12*b5c850d4SMarcin Wojtas 13*b5c850d4SMarcin Wojtas void plat_ea_handler(unsigned int ea_reason, uint64_t syndrome, void *cookie, 14*b5c850d4SMarcin Wojtas void *handle, uint64_t flags) 15*b5c850d4SMarcin Wojtas { 16*b5c850d4SMarcin Wojtas if (syndrome != ADVK_SERROR_SYNDROME) { 17*b5c850d4SMarcin Wojtas ERROR("Unhandled External Abort received on 0x%lx at EL3!\n", 18*b5c850d4SMarcin Wojtas read_mpidr_el1()); 19*b5c850d4SMarcin Wojtas ERROR(" exception reason=%u syndrome=0x%llx\n", ea_reason, 20*b5c850d4SMarcin Wojtas syndrome); 21*b5c850d4SMarcin Wojtas panic(); 22*b5c850d4SMarcin Wojtas } 23*b5c850d4SMarcin Wojtas } 24