blob: 1b3c6b8de64279302230d16fd7e7dce4ffa4eb3a (
plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
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);
|