SyterKit 0.4.0.x
SyterKit is a bare-metal framework
Loading...
Searching...
No Matches
sys-clic.h
Go to the documentation of this file.
1/* SPDX-License-Identifier: GPL-2.0+ */
2
3#ifndef _SYS_CLIC_H_
4#define _SYS_CLIC_H_
5
6#include <io.h>
7#include <stdarg.h>
8#include <stdbool.h>
9#include <stddef.h>
10#include <stdint.h>
11#include <types.h>
12
13#include <common.h>
14#include <log.h>
15
16#include <reg-clic.h>
17#include <reg-ncat.h>
18
19#ifdef __cplusplus
20extern "C" {
21#endif// __cplusplus
22
23#define CLIC_IRQ_NUM (186)
24
29
37
42void do_irq(uint64_t cause);
43
49int arch_interrupt_init(void);
50
56int arch_interrupt_exit(void);
57
58#ifdef __cplusplus
59}
60#endif// __cplusplus
61
62#endif// _SYS_CLIC_H_
u64_t uint64_t
Definition stdint.h:16
u16_t uint16_t
Definition stdint.h:10
Definition sys-clic.h:30
uint16_t id
Definition sys-clic.h:31
uint16_t parent_id
Definition sys-clic.h:33
uint16_t irq_cnt
Definition sys-clic.h:32
uint16_t irq_id
Definition sys-clic.h:34
uint64_t reg_base_addr
Definition sys-clic.h:35
int arch_interrupt_exit(void)
Exits the interrupt mechanism.
Definition sys-clic.c:219
enum irq_trigger_type irq_trigger_type_t
int arch_interrupt_init(void)
Initializes the interrupt mechanism.
Definition sys-clic.c:212
struct irq_controller irq_controller_t
irq_trigger_type
Definition sys-clic.h:25
@ IRQ_TRIGGER_TYPE_EDGE_BOTH
Definition sys-clic.h:28
@ IRQ_TRIGGER_TYPE_EDGE_RISING
Definition sys-clic.h:26
@ IRQ_TRIGGER_TYPE_EDGE_FALLING
Definition sys-clic.h:27
@ IRQ_TRIGGER_TYPE_LEVEL
Definition sys-clic.h:25
void do_irq(uint64_t cause)
Handles the IRQ.
Definition sys-clic.c:195