Line data Source code
1 0 : /*
2 : * Copyright (c) 2025 Renesas Electronics Corporation
3 : *
4 : * SPDX-License-Identifier: Apache-2.0
5 : */
6 :
7 : #ifndef ZEPHYR_INCLUDE_ARCH_RX_SW_NMI_TABLE_H
8 : #define ZEPHYR_INCLUDE_ARCH_RX_SW_NMI_TABLE_H
9 :
10 : #include <stdint.h>
11 : #include <soc.h>
12 :
13 0 : #define NMI_TABLE_SIZE (5)
14 :
15 0 : typedef void (*nmi_callback_t)(void *arg);
16 :
17 0 : struct nmi_vector_entry {
18 0 : nmi_callback_t callback;
19 0 : void *arg;
20 : };
21 :
22 : extern struct nmi_vector_entry _nmi_vector_table[NMI_TABLE_SIZE];
23 :
24 0 : void nmi_enable(uint8_t nmi_vector, nmi_callback_t callback, void *arg);
25 0 : int get_nmi_request(void);
26 0 : void handle_nmi(uint8_t nmi_vector);
27 :
28 : #endif /* ZEPHYR_INCLUDE_ARCH_RX_SW_NMI_TABLE_H */
|