Disable kernel preemption, fix requesting rescheduling
All checks were successful
Build documentation / build-and-deploy (push) Successful in 29s
All checks were successful
Build documentation / build-and-deploy (push) Successful in 29s
This commit is contained in:
@@ -14,7 +14,7 @@ struct irq* irq_table[0x100];
|
||||
|
||||
static rw_spin_lock_t irqs_lock;
|
||||
|
||||
bool irq_attach (void (*func) (void*, void*), void* arg, uint32_t irq_num, uint32_t flags) {
|
||||
bool irq_attach (void (*func) (void*, void*), void* arg, uint32_t irq_num) {
|
||||
spin_lock_ctx_t ctxiqa;
|
||||
|
||||
struct irq* irq = malloc (sizeof (*irq));
|
||||
@@ -25,7 +25,6 @@ bool irq_attach (void (*func) (void*, void*), void* arg, uint32_t irq_num, uint3
|
||||
irq->func = func;
|
||||
irq->arg = arg;
|
||||
irq->irq_num = irq_num;
|
||||
irq->flags = flags;
|
||||
|
||||
rw_spin_write_lock (&irqs_lock, &ctxiqa);
|
||||
irq_table[irq_num] = irq;
|
||||
|
||||
@@ -4,9 +4,6 @@
|
||||
#include <libk/list.h>
|
||||
#include <libk/std.h>
|
||||
|
||||
#define IRQ_INTERRUPT_SAFE (1 << 0)
|
||||
#define IRQ_INTERRUPT_UNSAFE (1 << 1)
|
||||
|
||||
typedef void (*irq_func_t) (void* arg, void* regs);
|
||||
|
||||
struct irq {
|
||||
@@ -15,10 +12,9 @@ struct irq {
|
||||
irq_func_t func;
|
||||
void* arg;
|
||||
uint32_t irq_num;
|
||||
uint32_t flags;
|
||||
};
|
||||
|
||||
bool irq_attach (irq_func_t, void* arg, uint32_t irq_num, uint32_t flags);
|
||||
bool irq_attach (irq_func_t, void* arg, uint32_t irq_num);
|
||||
struct irq* irq_find (uint32_t irq_num);
|
||||
|
||||
#endif // _KERNEL_IRQ_IRQ_H
|
||||
|
||||
Reference in New Issue
Block a user