TEMU  4.4
The Terma Emulator
temu_IrqClientIface Struct Reference

#include </builds/termade/temu/temu/include/temu-c/Models/IrqController.h>

Data Fields

void(* ackInterrupt )(void *Obj, uint8_t Irq)
 Acknowledge interrupt (IRQ controller should clear interrupt) More...
 
void(* updateInterrupts )(void *Obj)
 

Detailed Description

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.

Field Documentation

◆ ackInterrupt

void(* temu_IrqClientIface::ackInterrupt) (void *Obj, uint8_t Irq)

Acknowledge interrupt (IRQ controller should clear interrupt)

◆ updateInterrupts

void(* temu_IrqClientIface::updateInterrupts) (void *Obj)

Called in case IRQ re-issuing is needed eg. when the IRQ controlling registers have been modified. IRQ controller should reevaluate interrupts and reraise them upstream.


The documentation for this struct was generated from the following file: