| /* |
| * Copyright (c) 2018-2022, Arm Limited. All rights reserved. |
| * |
| * SPDX-License-Identifier: BSD-3-Clause |
| * |
| */ |
| |
| #include "Driver_MPC.h" |
| #include "cmsis.h" |
| #include "exception_info.h" |
| #include "target_cfg.h" |
| #include "utilities.h" |
| |
| void C_MPC_Handler(void) |
| { |
| /* Clear MPC interrupt flag and pending MPC IRQ */ |
| mpc_clear_irq(); |
| NVIC_ClearPendingIRQ(MPC_IRQn); |
| |
| /* Print fault message and block execution */ |
| ERROR_MSG("Platform Exception: MPC fault!!!"); |
| |
| tfm_core_panic(); |
| } |
| |
| __attribute__((naked)) void MPC_Handler(void) |
| { |
| EXCEPTION_INFO(EXCEPTION_TYPE_PLATFORM); |
| |
| __ASM volatile("BL C_MPC_Handler \n" |
| "B . \n"); |
| } |
| |
| void C_PPC_Handler(void) |
| { |
| /* Clear PPC interrupt flag and pending PPC IRQ */ |
| ppc_clear_irq(); |
| NVIC_ClearPendingIRQ(PPC_IRQn); |
| |
| /* Print fault message*/ |
| ERROR_MSG("Platform Exception: PPC fault!!!"); |
| |
| tfm_core_panic(); |
| } |
| |
| __attribute__((naked)) void PPC_Handler(void) |
| { |
| EXCEPTION_INFO(EXCEPTION_TYPE_PLATFORM); |
| |
| __ASM volatile("BL C_PPC_Handler \n" |
| "B . \n"); |
| } |