1 /* Copyright 2018 SiFive, Inc */
2 /* SPDX-License-Identifier: Apache-2.0 */
4 #include <metal/interrupt.h>
5 #include <metal/machine.h>
7 extern inline void metal_interrupt_init(struct metal_interrupt *controller);
9 extern inline int metal_interrupt_register_handler(struct metal_interrupt *controller,
11 metal_interrupt_handler_t handler,
14 extern inline int metal_interrupt_enable(struct metal_interrupt *controller, int id);
16 extern inline int metal_interrupt_disable(struct metal_interrupt *controller, int id);
18 extern inline int metal_interrupt_vector_enable(struct metal_interrupt *controller,
19 int id, metal_vector_mode mode);
21 extern inline int metal_interrupt_vector_disable(struct metal_interrupt *controller, int id);
23 extern inline int _metal_interrupt_command_request(struct metal_interrupt *controller,