T-EMU  2
The Terma Emulator
 All Data Structures Files Functions Variables Typedefs Enumerations Enumerator Macros
Data Structures | Typedefs | Functions
IrqController.h File Reference
#include "temu-c/Support/Objsys.h"
Include dependency graph for IrqController.h:

Go to the source code of this file.

Data Structures

struct  temu_IrqControllerIface
 
struct  temu_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)
 

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  )