Subject: Re: Can't enter DDB
To: Bob Lantz <lantz@Stanford.EDU>
From: Maciej W. Rozycki <macro@ds2.pg.gda.pl>
List: port-pmax
Date: 11/20/2001 22:25:32
On Tue, 20 Nov 2001, Bob Lantz wrote:

> > Hitting Cntrl-Alt-Enter will drop you to the PROM
> > console.
> 
> Is there any way to do this on a 5000/260 with an LK401 keyboard??

 I believe it's an Access.Bus feature -- the key combination gets sent as
a separate signal that is wired to an I/O ASIC interrupt input as well
(please someone correct me if I am wrong).  Thus no -- only a MAXINE with
an LK501 would do.  Anyway it doesn't differ much from the halt button
from the functional point of view. 

> >  The halt button on 3MIN and 3MAX+ systems is an ordinary I/O ASIC
> > interrupt which can get masked and also needs a working handler to have
> > any effect at all.  Thus e.g. if a kernel locks up with interrupts masked
> > in the CPU, the halt button won't recover -- a reset, i.e. effectively a
> > power cycle is required.
> 
> Hmm, this must be the button next to the LED panel (5000/260=3MAX+,
> right?)  I just tried pressing it, and it did halt the machine (actually,
> it rebooted as haltaction=b) However, on a crashed machine, this button
> has no effect, as you surmised!! Not particularly useful....

 Yes, that's the button I'm writing of.  The /260 is actually the 4MAX+ --
the /240 is the 3MAX+. 

> Is there a way to preserve the halt interrupt so that the button actually
> works when the machine is frozen?? Doesn't sound good - but maybe it's
> possible to mask the non-halt I/O interrupts instead of all of them?

 It is possible with careful programming, but it's a considerable
performance hit so you wouldn't want to see it in a production system.
Also it is not possible to keep the interrupt unmasked all the time --
there will always be a small window at the exception handlers' entry
points when all interrupts are masked by the cp0.sr.ie or cp0.sr.exl/erl
(for the R4k) bits and can only be unmasked later.  Also the TLB fault
handler must run with interrupts disabled. 

> Actually, is there any way to figure out what is going on if a machine
> (3MAX+) locks up with interrupts masked?? Just being able to drop into
> some kind of monitor would be nice.... ;-/

 Since you actually have a 4MAX+, you may get a nice register dump from
the REX console if you find a way to assert the RESET or the NMI line of
the CPU (neither of which affect most of registers).  The contents of
memory get preserved as well.  Unfortunately the KN05 module is
undocumented-enough it's not widely known how to assert either of these
lines.  Chances are it can be achieved with no soldering iron, though. 

  Maciej

-- 
+  Maciej W. Rozycki, Technical University of Gdansk, Poland   +
+--------------------------------------------------------------+
+        e-mail: macro@ds2.pg.gda.pl, PGP key available        +