New ClaimDeviceVector behaviour R3 and R4 are meaningless, except for podule IRQ and FIQ-as-IRQ, which keep the same behaviour as previously. (This is currently done in the Kernel, but should be deferred to the Podule Manager). For other claimants, if bit 31 of the R0 is set in the OS_ClaimDeviceVector call, the interrupt will be passed on to earlier claimants unless your routine claims the vector. This behaviour is then the same as IrqV claimants. It is up to you to determine whether your device has interrupted. If it has, you should service it, and claim the vector (by pulling the return address off the stack). If not, pass the vector along. If no handlers claim the vector, then the OS knows that there is no device driver able to handle the interrupt being asserted, so it will mask off that line. If you do not claim the vector, you must preserve R0 and R3. R1,R2,R12 may be corrupted. It is critical that your claiming or not 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.