#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.
1.5.6