Subject: Re: Question about SPLs
To: Gregory Kritsch <gkritsch@sail.uwaterloo.ca>
From: Chris Hopps <chopps@emunix.emich.edu>
List: amiga-dev
Date: 03/16/1994 19:00:44
> Both the Supra and GVP cards generate EXTER interrupts (ipl 6).  I'm
> reasonably sure of my io addresses, but it is a modem card so I can't
> really test just the serial portion of the driver.  
[..]
> Second, the spl macros.  I think there's a problem.  spltty is currently 4,
> splimp is 3, and splnet is <= 3.  When I pump spltty up to 6, a number
> of strange things in my driver stop happening, however, my slip connection
> also stops happening.  A brief inspection of if_sl.c shows a comment,
> something like  ``splimp()  /* actually max (splnet, spltty) */''.  The
> same kernel, recompiled with spltty at 4, can maintain a working slip
> connection.  (The slip connection is through the internal serial port,
> not my driver).

Am I to understand that you redefined spltty() to spl6()?  If so this
is not correct.  The heirarchy is there for a reason, something that
runs t spl5() should never ever be interrupted by something at spltty().

there are many ways to do this as I think Michael points out add a si
callback() you can find code for that in the ite.c for key repeats.
You could also do it the way the ser.c device does, namely use add a
vertical blank interrupt (see amiga/cc.c vbl_*) to the chain and do
your processing at level 4 which is spltty() however the problem with
this is that it only happens periodically you may need interrupts in a
more timely fashion.  Then again if its buffered maybe not.  If it is
buffered just used level 1 sicallback.

> Gregory

Chris. (who just woke up..)


------------------------------------------------------------------------------