Handle IRQs inside the kernel
All checks were successful
Build documentation / build-and-deploy (push) Successful in 2m42s

This commit is contained in:
2026-03-13 20:33:27 +01:00
parent 4760818118
commit 217179c9a0
84 changed files with 14517 additions and 1297 deletions

View File

@@ -10,7 +10,7 @@
#include <libk/std.h>
#include <libk/string.h>
#include <limine/requests.h>
#include <mm/liballoc.h>
#include <mm/malloc.h>
#include <mm/pmm.h>
#include <proc/capability.h>
#include <proc/proc.h>
@@ -319,14 +319,12 @@ void proc_wait_for (struct proc* proc, struct reschedule_ctx* rctx, struct proc*
proc_sq_suspend (proc, &wait_proc->done_sq, NULL, 0, rctx);
}
static void proc_irq_sched (void* arg, void* regs, struct reschedule_ctx* rctx) {
static void proc_irq_sched (void* arg, void* regs, bool user, struct reschedule_ctx* rctx) {
(void)arg, (void)regs, (void)rctx;
#if defined(__x86_64__)
struct saved_regs* sr = regs;
if (sr->cs != (GDT_UCODE | 0x3))
if (!user) {
return;
#endif
}
proc_sched ();
}