Main Page | Modules | Namespace List | Class Hierarchy | Class List | Directories | File List | Namespace Members | Class Members | File Members

Irq Class Reference

Hardware interrupts. More...

#include <irq.h>

Inheritance diagram for Irq:

Irq_alloc Sender Dirq Virq List of all members.

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 Irqlookup (unsigned irq)

Protected Attributes

int _queued

Private Member Functions

 Irq ()
 Irq (Irq &)
int consume ()
 Consume one interrupt.

Detailed Description

Hardware interrupts.

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 & Destructor Documentation

Irq::Irq  )  [private]
 

Irq::Irq Irq  )  [private]
 

Irq::Irq unsigned  irqnum  )  [explicit]
 

Constructor.

Parameters:
irqnum number of hardware interrupt this instance will be bound to


Member Function Documentation

int Irq::consume  )  [inline, private]
 

Consume one interrupt.

Returns:
number of IRQs that are still pending.

void Irq::ipc_receiver_ready  )  [virtual]
 

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.

Irq * Irq::lookup unsigned  irq  )  [inline, static]
 

Reimplemented from Irq_alloc.

void Irq::maybe_acknowledge  )  [inline]
 

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.

void Irq::maybe_enable  )  [inline]
 

If this is a kernel-acknowledged IRQ, enable the IRQ with the PIC.

int Irq::queued  )  [inline]
 


Member Data Documentation

int Irq::_queued [protected]
 


The documentation for this class was generated from the following files:
Generated on Mon Sep 26 14:20:14 2005 for Fiasco by  doxygen 1.4.2