5f82acafad6b7471e271a70051897d1f595885bb
[lunaix-os.git] / lunaix-os / arch / generic / includes / asm-generic / isrm.h
1 /**
2  * @file irqm.h
3  * @author Lunaixsky
4  * @brief ISR Manager, managing the interrupt service routine allocations
5  * @version 0.1
6  * @date 2022-10-18
7  *
8  * @copyright Copyright (c) 2022
9  *
10  */
11 #ifndef __LUNAIX_ISRM_H
12 #define __LUNAIX_ISRM_H
13
14 #include <lunaix/types.h>
15 #include <lunaix/hart_state.h>
16 #include <lunaix/device.h>
17
18 #include <hal/devtree.h>
19
20 typedef void (*isr_cb)(const struct hart_state*);
21
22 void
23 isrm_init();
24
25 /**
26  * @brief Notify end of interrupt event
27  *
28  * @param id
29  */
30 void
31 isrm_notify_eoi(cpu_t id, int iv);
32
33 #endif /* __LUNAIX_ISRM_H */