#include <irq.h>
Inheritance diagram for Irq:
Public Member Functions | |
Irq (unsigned irqnum) | |
Constructor. | |
int | queued () |
virtual void | ipc_receiver_ready () |
Sender-activation function called when receiver gets ready. | |
void | maybe_acknowledge () |
If this is a kernel-acknowledged IRQ, disable and acknowledge the IRQ with the PIC. | |
void | maybe_enable () |
If this is a kernel-acknowledged IRQ, enable the IRQ with the PIC. | |
Static Public Member Functions | |
static Irq * | lookup (unsigned irq) |
Protected Attributes | |
int | _queued |
Private Member Functions | |
Irq () | |
Irq (Irq &) | |
int | consume () |
Consume one interrupt. |
This class encapsulates handware IRQs. Also, it provides a registry that ensures that only one receiver can sign up to receive interrupt IPC messages.
|
|
|
|
|
Constructor.
|
|
Consume one interrupt.
|
|
Sender-activation function called when receiver gets ready. Irq::hit() actually ensures that this method is always called when an interrupt occurs, even when the receiver was already waiting. Implements Sender. |
|
Reimplemented from Irq_alloc. |
|
If this is a kernel-acknowledged IRQ, disable and acknowledge the IRQ with the PIC. XXX We assume here that we have the kernel lock. |
|
If this is a kernel-acknowledged IRQ, enable the IRQ with the PIC.
|
|
|
|
|