Subject: Re: ASDG EB920 ethernet
To: None <port-amiga@NetBSD.ORG>
From: Michael L. Hitch <mhitch@msu.oscs.montana.edu>
List: port-amiga
Date: 02/16/1998 13:51:15
Ignatios Souvatzis <ignatios@theory.cs.uni-bonn.de> You write: 
> Bernd Ernesti advised:
> 
> > You have to change a 2 to a 6 in the kernel source tree and to compile a
> > new kernel. The interrupt is hardcoded into the kernel.
> 
> [...]
> 
> Its not that easy... this will break the networking code locking, which is 
> based on interupt priority.
> 
> You'll have also to change splnet() to spl6() (instead of spl3()) in
> sys/arch/amiga/include/psl.h
> 
> And I suspect, that you'll have to change the amiga_ttyspl initialization in
> machdep.c from PSL_S|PSL_IPL4 to PSL_S|PSL_IPL6... I seem to recall that there
> was some ordering restriction between splnet and spltty.

  And trying to run with splnet() and whatever else at spl6() is going to
raise havoc with the clock, disk performance, and serial input.

  I tried doing something similar for the Zeus SCSI driver and decided it
just wasn't practical.  It's much better to have a short interrupt routine
running at the interrupt level and have it save what ever information is
needed and schedule a software interrupt callback to finish processing
the interrupt.

  It would be much simpler to run the board at INT2 if possible (which can't
be done with the Zeus SCSI or the MultiFaceCard serial port - unless the
board is physically modified).

Michael
---
Michael L. Hitch                        mhitch@montana.edu
Computer Consultant,  Information Technology Center
Montana State University, Bozeman, MT     USA