Subject: Re: Interrupt Despatching
To: Gregory McGarry <g.mcgarry@qut.edu.au>
From: Todd Whitesel <toddpw@best.com>
List: port-i386
Date: 02/03/2000 23:12:39
> Does anyone have any comments/ideas on the subject?

There's been another round of grumbling recently over on port-mac68k
about the lack of good interrupt prioritization hardware on most Macs,
and one possible solution is to do more interrupt juggling in software.

This introduces a bunch of virtual interrupt priorities which don't have
a simple mapping to the current hardware priority level, and it would
become necessary to modify the spl*() routines to call some sort of
interrupt manager interface anyway.

Apparently the hardest issue comes from the fact that some hardware on the
mac assumes that the CPU can "baby sit" certain peripherals with interrupts
locked out, and periodically call some sort of shortcut routine to watch
things like the clock and the serial ports while (say) the floppy is
spinning or the SCSI DMA is going on.

Until this is worked out, those peripherals wouldn't be able to utilize a
new interrupt manager, for fear of destroying their own performance. That
drags the whole system back down into the mire of crummy interrupt handling
in general.

I imagine that on a loaded ISA machine some of the same issues can crop up,
although the "usual" complement of DMA controllers does tend to help a lot.

Todd Whitesel
toddpw @ best.com