#include "globals.h"
Go to the source code of this file.
Functions | |
int | attach_irqs (void) |
Initialize the local irq acceptor threads. | |
void | check_auto_consume (int irq, client_chain *c) |
Checks if the given client is a candidate for auto-consuming an irq. | |
void | irq_handler (int num) |
Handler function for one irq. |
Definition in file irq_threads.h.
int attach_irqs | ( | void | ) |
Initialize the local irq acceptor threads.
This function will attach to all irqs possible and initialize the corresponding structures. At the standard-pc-x86 architecture, we have irqs 0 to 15. Try to attach to all of them. This is done by creating 16 threads, one per irq. Threads start at lthread+1.
create_threads_sync() is external to allow overloading in other pkgs.
Definition at line 519 of file irq_threads.c.
void check_auto_consume | ( | int | irq, | |
client_chain * | c | |||
) |
Checks if the given client is a candidate for auto-consuming an irq.
Auto-consuming is possible, if:
Maybe some of the conditions follow from others.
Definition at line 201 of file irq_threads.c.
void irq_handler | ( | int | num | ) |
Handler function for one irq.
After calling attach_irq(), return an IPC to the management thread and wait for incoming IRQs.
Definition at line 410 of file irq_threads.c.