Subject: Re: CG6 and serial port support questions
To: None <port-sparc@NetBSD.ORG>
From: der Mouse <mouse@Collatz.McRCIM.McGill.EDU>
Date: 03/21/1996 06:52:38
> The saves occur only if the register windows are full, which is true
> some percentage of the time depending on the number of windows in the
> CPU and other more-or-less random factors.
Hm, I had never thought of "the number of windows in the CPU" as a
"more-or-less random factor". :-)
> Ideally, the zs hardware interrupt handler should be written to run
> entirely within the trap window (see the audio interrupt handler for
> an example). This is nontrivial,
Heh. If nothing else, it means writing it entirely in assembly. :-/
> and would require moving L1-A and `break' handling to zssoft() (or
> some rather tricky coding to do L1-A a la a `regular' interrupt). I
> believe SunOS does L1-A and break aborts in the software handler, but
> does not use a trap-window hardware handler.
So _that_ is why SunOS so often manages to go out to lunch in a way
that ignores L1-A! I always wondered.
I would strongly recommend that nerve-pinch handling _not_ be moved to
the software interrupt handler; it's too easy to hang with the relevant
soft interrupt locked out.