Files
osc2025/kernel/include/interrupt.h
2025-05-03 20:45:34 +08:00

30 lines
553 B
C

#pragma once
#include <stddef.h>
typedef void (*interrupt_callback_func_t)(uint64_t);
typedef struct interrupt {
struct interrupt *_l, *_r;
uint32_t _d;
uint64_t priority;
interrupt_callback_func_t func;
uint64_t param;
int is_start;
} interrupt_t;
void enable_interrupt(void);
void disable_interrupt(void);
void add_interrupt_task(uint64_t priority,
interrupt_callback_func_t func,
uint64_t param);
void irq_handler(void);
void wfe(void);
extern interrupt_t *global_interrupt_pool;