Showing changes from revision #1 to #2:
Added | Removed | Changed
From RISC OS 5.00, if bit 31 of the device number is set when claiming a device vector, the interrupt will be passed on to earlier claimants of the vector unless your service code claims it. This is necessary on PCI systems where all interrupts can be shared.
It is up to you to determine whether it is your device that has caused the interrupt. If it has, you should service it, then claim the vector by pulling the return address off the stack. If not, pass the service along by returning to the address in R14 on entry. If no handlers claim a particular interrupt, then RISC OS will disable that line.
If you do not claim the interrupt, you must preserve R0 and R3. R1, R2 and R12 may be corrupted.
It is critical that your choice of whether to claim is purely on the basis of whether your card is interrupting, and is accurate. Not claiming when your card is interrupting, or claiming when it isn’t can both cause incorrect system behaviour.