diff options
Diffstat (limited to 'FreeRTOS/Demo/RISC-V_RV32_SiFive_HiFive1_FreedomStudio/freedom-metal/src/interrupt.c')
-rw-r--r-- | FreeRTOS/Demo/RISC-V_RV32_SiFive_HiFive1_FreedomStudio/freedom-metal/src/interrupt.c | 24 |
1 files changed, 24 insertions, 0 deletions
diff --git a/FreeRTOS/Demo/RISC-V_RV32_SiFive_HiFive1_FreedomStudio/freedom-metal/src/interrupt.c b/FreeRTOS/Demo/RISC-V_RV32_SiFive_HiFive1_FreedomStudio/freedom-metal/src/interrupt.c new file mode 100644 index 000000000..1b3c6b8de --- /dev/null +++ b/FreeRTOS/Demo/RISC-V_RV32_SiFive_HiFive1_FreedomStudio/freedom-metal/src/interrupt.c @@ -0,0 +1,24 @@ +/* Copyright 2018 SiFive, Inc */ +/* SPDX-License-Identifier: Apache-2.0 */ + +#include <metal/interrupt.h> +#include <metal/machine.h> + +extern inline void metal_interrupt_init(struct metal_interrupt *controller); + +extern inline int metal_interrupt_register_handler(struct metal_interrupt *controller, + int id, + metal_interrupt_handler_t handler, + void *priv); + +extern inline int metal_interrupt_enable(struct metal_interrupt *controller, int id); + +extern inline int metal_interrupt_disable(struct metal_interrupt *controller, int id); + +extern inline int metal_interrupt_vector_enable(struct metal_interrupt *controller, + int id, metal_vector_mode mode); + +extern inline int metal_interrupt_vector_disable(struct metal_interrupt *controller, int id); + +extern inline int _metal_interrupt_command_request(struct metal_interrupt *controller, + int cmd, void *data); |