Suspend process waiting for keyboard input
All checks were successful
Build documentation / build-and-deploy (push) Successful in 1m35s

This commit is contained in:
2026-02-15 15:21:18 +01:00
parent 60f201ab55
commit 0f5bd48328
14 changed files with 87 additions and 45 deletions

View File

@@ -13,7 +13,7 @@
static struct rb_node_link* irq_tree = NULL;
static spin_lock_t irqs_lock = SPIN_LOCK_INIT;
bool irq_attach (void (*func) (void*, void*), void* arg, uint32_t irq_num) {
bool irq_attach (irq_func_t func, void* arg, uint32_t irq_num) {
struct irq* irq = malloc (sizeof (*irq));
if (irq == NULL) {
return false;

View File

@@ -3,8 +3,9 @@
#include <libk/rbtree.h>
#include <libk/std.h>
#include <sys/smp.h>
typedef void (*irq_func_t) (void* arg, void* regs);
typedef bool (*irq_func_t) (struct cpu** reschedule_cpu, void* arg, void* regs);
struct irq {
uint32_t irq_num;
@@ -14,7 +15,7 @@ struct irq {
void* arg;
};
bool irq_attach (irq_func_t, void* arg, uint32_t irq_num);
bool irq_attach (irq_func_t func, void* arg, uint32_t irq_num);
void irq_detach (uint32_t irq_num);
struct irq* irq_find (uint32_t irq_num);