aboutsummaryrefslogtreecommitdiff
path: root/doc/SimpleInterruptGenerator.md
AgeCommit message (Collapse)AuthorFilesLines
2026-04-22Add Simple Interrupt Generator MMIO device for testing purposes (#1645)Tim Hutt1-0/+123
This change correctly models (hopefully) the behaviour of platform external interrupts, and adds an ad-hoc "Simple Interrupt Generator" MMIO device to set them. Currently it is only used to set MEIP, SEIP, SSIP and MSIP. The reason for supporting this set of interrupt is as follows: * MEIP - cannot be triggered via any other means. * SEIP - can be triggered by writing to mip[SEI] but there is additional weird behaviour that means you also need to be able to control the platform SEI input to full test it. * MTI, STI - can already be triggered via CLINT. Also these are set continuously via CLINT so having two devices set them would be awkward. * MSI - can be triggered via CLINT but for symmetry with SSI this is also supported. * SSI - can be triggered via software but the ISA manual also mentions it can be set via the external platform so we want to be able to test this.