Software APIs
irq.h
1 // Copyright lowRISC contributors (OpenTitan project).
2 // Licensed under the Apache License, Version 2.0, see LICENSE for details.
3 // SPDX-License-Identifier: Apache-2.0
4 
5 #ifndef OPENTITAN_SW_DEVICE_LIB_RUNTIME_IRQ_H_
6 #define OPENTITAN_SW_DEVICE_LIB_RUNTIME_IRQ_H_
7 
8 #include <stdbool.h>
9 #include <stdint.h>
10 
11 /**
12  * Update to the location of vectors as specificed in the linker file
13  *
14  * The address must be 256-byte aligned.
15  */
16 void irq_set_vector_offset(uintptr_t address);
17 
18 /**
19  * Enable / disable ibex globlal interrupts
20  */
21 void irq_global_ctrl(bool en);
22 
23 /**
24  * Enable / disable ibex external interrupts
25  */
26 void irq_external_ctrl(bool en);
27 
28 /**
29  * Enable / disable ibex timer interrupts
30  */
31 void irq_timer_ctrl(bool en);
32 
33 /**
34  * Enable / disable ibex software interrupts
35  */
36 void irq_software_ctrl(bool en);
37 
38 #endif // OPENTITAN_SW_DEVICE_LIB_RUNTIME_IRQ_H_