some notes about the interrupt handlers. The interrupt handling code we're
currently using is still mostly the first generation code. Weaknesses
of the old code include:
- Examining the bits in a loop this hurts especially on the R4000/R4200/R4400
where each taken branch involves a two cycle penalty.
- As a side effect of scanning in a loop we had a fixed priority. That
was ok for what the code was originally written for, but everybody
(including me ...) shamelessly copied the code without fixing that ever.
fixing that ever.
- As side effect of the way normal and "SA_INTERRUPT" interrupts were
being handled we had a extra indirection over a jump table.
Now after a little overhaul the interrupt handlers for the eval board I'm
just hacking is a lot faster and smaller; as a nice side effect they have
become _very_ trivial, too. The cleanup of the "fast" interrupts also
affected the generic part of the interrupt handling. I tried to do the
required modifications for the other systems code but without the hardware
at hand I of course could not test it. So please check the code for your