How does the FIQ work as an NMI?
Specifically:
-> Is the "F" bit in the CPSR tied permanently to enabled? It seems that it changes from enabled to disabled sometimes; but this would contradict the term 'non-maskable'.
-> How does one handle the case where an FIQ interrupt may come in and interrupt another FIQ ISR that is already in progress. The two need to share the same banked register set; so if you cannot prevent a second FIQ from occurring before the banked registers are saved (normal things you would do to enable nesting IRQs) then doesn't this mean that only one FIQ can be used per program?