TEMU  2
The Terma Emulator
 All Data Structures Files Functions Variables Typedefs Enumerations Enumerator Macros
IrqController.h File Reference
Include dependency graph for IrqController.h:
This graph shows which files directly or indirectly include this file:

Go to the source code of this file.

Data Structures

struct  temu_IrqControllerIface
 
struct  temu_IrqClientIface
 

Macros

#define TEMU_IRQ_CTRL_IFACE_TYPE   "IrqCtrlIface"
 
#define TEMU_IRQ_CLIENT_IFACE_TYPE   "IrqClientIface"
 

Typedefs

typedef struct
temu_IrqControllerIface 
temu_IrqCtrlIface
 
typedef struct temu_IrqClientIface temu_IrqClientIface
 

Functions

 TEMU_IFACE_REFERENCE_TYPE (temu_IrqCtrl)
 
 TEMU_IFACE_REFERENCE_TYPE (temu_IrqClient)
 

Macro Definition Documentation

#define TEMU_IRQ_CLIENT_IFACE_TYPE   "IrqClientIface"

Definition at line 48 of file IrqController.h.

#define TEMU_IRQ_CTRL_IFACE_TYPE   "IrqCtrlIface"

Definition at line 28 of file IrqController.h.

Typedef Documentation

Interface to be defined for classes that uses an IRQ controller object. An IRQ controller may acknowledge to the IRQ controller client, or it may notify the IrqClient that the underlying IRQ controller has been modified and any pending IRQs should be re-issued. Typically, an updateInterrupt call happens if the IRQ registers change in such a way that the IRQ controller does not know the next interrupt to be issued. E.g. On the sparc, the updateInterrupts function will be called on its IRQ controller whenever the ET or PIL field has changed. That is updateInterrupts are called by lazy IRQ controllers.

Interrupt controller interface. An interrupt controller can raise and lower IRQ signals. For systems which has interrupts which can be configured to be active high, low or rising or falling, the raise and lower irq have different semantics. For rising edge triggering, the raiseInterrupt function should trigger the IRQ.

Function Documentation

TEMU_IFACE_REFERENCE_TYPE ( temu_IrqCtrl  )
TEMU_IFACE_REFERENCE_TYPE ( temu_IrqClient  )