1 /*
2  * Copyright (c) 2018-2022, Arm Limited. All rights reserved.
3  *
4  * SPDX-License-Identifier: BSD-3-Clause
5  *
6  */
7 
8 #include <stdio.h>
9 #include "cmsis.h"
10 #include "target_cfg.h"
11 #include "utilities.h"
12 #include "exception_info.h"
13 
C_SCU_Handler(void)14 void C_SCU_Handler(void)
15 {
16     ERROR_MSG("Platform Exception: secure violation fault!!!");
17 
18     tfm_core_panic();
19 }
20 
SCU_IRQHandler(void)21 __attribute__((naked)) void SCU_IRQHandler(void)
22 {
23     EXCEPTION_INFO(EXCEPTION_TYPE_PLATFORM);
24 
25     __ASM volatile(
26         "BL        C_SCU_Handler           \n"
27         "B         .                       \n"
28     );
29 }
30 
C_MPC_Handler(void)31 void C_MPC_Handler(void)
32 {
33     /* Print fault message and block execution */
34     ERROR_MSG("Platform Exception: MPC fault!!!");
35 
36     tfm_core_panic();
37 }
38 
MPC_Handler(void)39 __attribute__((naked)) void MPC_Handler(void)
40 {
41     EXCEPTION_INFO(EXCEPTION_TYPE_PLATFORM);
42 
43     __ASM volatile(
44         "BL        C_MPC_Handler           \n"
45         "B         .                       \n"
46     );
47 }
48 
C_PPC_Handler(void)49 void C_PPC_Handler(void)
50 {
51     /* Print fault message and block execution */
52     ERROR_MSG("Platform Exception: PPC fault!!!");
53 
54     tfm_core_panic();
55 }
56 
PPC_Handler(void)57 __attribute__((naked)) void PPC_Handler(void)
58 {
59     EXCEPTION_INFO(EXCEPTION_TYPE_PLATFORM);
60 
61     __ASM volatile(
62         "BL        C_PPC_Handler           \n"
63         "B         .                       \n"
64     );
65 }
66