Subject: Re: LKM device drivers?
To: None <amiga-dev@NetBSD.ORG>
From: Michael L. Hitch <osymh@gemini.oscs.montana.edu>
List: amiga-dev
Date: 03/04/1995 12:01:02
On Mar  4,  8:03am, Rob Healey wrote:
> 	Also, with the new fangled interrupt system in -current how
> 	do you use audio since it steals the audio interrupt to
> 	do delayed processing of level 6 stuff?

  The level 6 deferred processing will only be done if you specify
the LEV6_DEFER option.  If there isn't a level 6 interrupt pending
when the level 4 interrupt occurs, it will process the level 4
interrupt normally.  If there is a level 6 interrupt pending, then
the level 6 interrupt will be processed.  At the end of that
processing, the AUD3 interrupt will be cleared in the INTREQ register.
I don't know enough about how the INTREQ register is implemented, or
how the audio interrupts work, so I'm not sure what would happen.  If
channel 3 isn't being used, there wouldn't be any problem.  The level
6 interrupt could test if AUD3 is already set and save that state.
Then AUD3 could be conditionally cleared only if it wasn't pending
at the time of the level 6 interrupt.  This only leaves the case
where the AUD3 gets set between the time the level 6 interrupt handler
tests AUD3 and when the deferred handler clears AUD3.  I'm not sure
what could be done for this case.

Michael

-- 
Michael L. Hitch			INTERNET:  osymh@montana.edu
Computer Consultant
Office of Systems and Computing Services
Montana State University	Bozeman, MT	USA