1 /* 2 * Copyright (c) 2018-2024, Arm Limited. All rights reserved. 3 * 4 * SPDX-License-Identifier: BSD-3-Clause 5 * 6 */ 7 8 #include "tfm_hal_device_header.h" 9 #include "common_target_cfg.h" 10 #include "utilities.h" 11 /* "exception_info.h" must be the last include because of the IAR pragma */ 12 #include "exception_info.h" 13 C_MPC_Handler(void)14void C_MPC_Handler(void) 15 { 16 /* Clear MPC interrupt flag and pending MPC IRQ */ 17 mpc_clear_irq(); 18 NVIC_ClearPendingIRQ(MPC_IRQn); 19 20 /* Print fault message and block execution */ 21 ERROR_MSG("Platform Exception: MPC fault!!!"); 22 23 tfm_core_panic(); 24 } 25 MPC_Handler(void)26__attribute__((naked)) void MPC_Handler(void) 27 { 28 EXCEPTION_INFO(); 29 30 __ASM volatile( 31 "BL C_MPC_Handler \n" 32 "B . \n" 33 ); 34 } 35 C_PPC_Handler(void)36void C_PPC_Handler(void) 37 { 38 /* Clear PPC interrupt flag and pending PPC IRQ */ 39 ppc_clear_irq(); 40 NVIC_ClearPendingIRQ(PPC_IRQn); 41 42 /* Print fault message*/ 43 ERROR_MSG("Platform Exception: PPC fault!!!"); 44 45 tfm_core_panic(); 46 } 47 PPC_Handler(void)48__attribute__((naked)) void PPC_Handler(void) 49 { 50 EXCEPTION_INFO(); 51 52 __ASM volatile( 53 "BL C_PPC_Handler \n" 54 "B . \n" 55 ); 56 } 57